From 3a163889c4fb515577886daa8f4d3276bff583a1 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 2 Oct 2025 16:54:56 +0100 Subject: [PATCH 001/370] tools: allow setting origin/main as a valid parent branch (#3174) --- python/tools/git_utils.py | 3 +++ tools/git_prune_all.py | 4 ++-- tools/git_set_parent.py | 9 +++++++-- tools/git_sync_stack.py | 8 ++++---- tools/git_update_stack.py | 4 ++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/python/tools/git_utils.py b/python/tools/git_utils.py index 7fba29d0345..180c4ab86dd 100644 --- a/python/tools/git_utils.py +++ b/python/tools/git_utils.py @@ -6,6 +6,9 @@ from typing import List, Optional, Set, Dict, Tuple, Deque from collections import deque +# Mainline branches that are treated as valid parents even though they're remote refs +MAINLINE_BRANCHES = {'origin/main'} + def run_command( cmd: List[str], diff --git a/tools/git_prune_all.py b/tools/git_prune_all.py index 0682104f696..43df8297da8 100755 --- a/tools/git_prune_all.py +++ b/tools/git_prune_all.py @@ -15,6 +15,7 @@ get_current_branch, run_git_command, topological_sort_branches, + MAINLINE_BRANCHES, ) #pylint: enable=wrong-import-position @@ -52,7 +53,6 @@ def main(): remap: Dict[str, str] = {} # {pruned_branch: effective_parent_it_matched} branches_to_prune: Set[str] = set() all_local_branches = set(get_all_branches()) - mainline_branches = {'origin/main', 'origin/ui-canary', 'origin/ui-stable'} print("Checking branches against effective parents...") for branch in sorted_branches: @@ -62,7 +62,7 @@ def main(): effective_parent = remap.get(original_parent, original_parent) if not effective_parent: continue - if effective_parent not in all_local_branches and effective_parent not in mainline_branches: + if effective_parent not in all_local_branches and effective_parent not in MAINLINE_BRANCHES: continue diff_cmd = ['diff', '--quiet', effective_parent, branch] diff --git a/tools/git_set_parent.py b/tools/git_set_parent.py index 95fcba2c16a..5b74cb3d0f5 100755 --- a/tools/git_set_parent.py +++ b/tools/git_set_parent.py @@ -8,7 +8,12 @@ sys.path.append(os.path.join(ROOT_DIR)) #pylint: disable=wrong-import-position -from python.tools.git_utils import run_git_command, get_current_branch, get_all_branches +from python.tools.git_utils import ( + run_git_command, + get_current_branch, + get_all_branches, + MAINLINE_BRANCHES, +) #pylint: enable=wrong-import-position @@ -32,7 +37,7 @@ def main(): parent_branch = args.parent_branch all_branches = get_all_branches() - if parent_branch not in all_branches: + if parent_branch not in all_branches and parent_branch not in MAINLINE_BRANCHES: print(f"Error: Branch '{parent_branch}' does not exist.", file=sys.stderr) sys.exit(1) diff --git a/tools/git_sync_stack.py b/tools/git_sync_stack.py index dbb70be0134..17640780fe3 100755 --- a/tools/git_sync_stack.py +++ b/tools/git_sync_stack.py @@ -19,6 +19,7 @@ get_upstream_branch_name, run_command, run_git_command, + MAINLINE_BRANCHES, ) #pylint: enable=wrong-import-position @@ -78,7 +79,6 @@ def main(): default_remote_name = args.remote repo_default_branch = 'origin/main' - mainline_branches = {'origin/main', 'origin/ui-canary', 'origin/ui-stable'} all_local_branches = get_all_branches() if start_branch not in all_local_branches: @@ -88,7 +88,7 @@ def main(): branches_to_process: List[str] = [] try: branches_to_process = get_stack_branches_ordered(start_branch, - mainline_branches, + MAINLINE_BRANCHES, all_local_branches) except ValueError as e: print(f"Error determining stack order: {e}", file=sys.stderr) @@ -106,8 +106,8 @@ def main(): local_parent = get_branch_parent(branch) desired_base = local_parent.split( '/' - )[1] if local_parent and local_parent in mainline_branches else 'main' - if local_parent and local_parent not in mainline_branches: + )[1] if local_parent and local_parent in MAINLINE_BRANCHES else 'main' + if local_parent and local_parent not in MAINLINE_BRANCHES: upstream_base_name = get_upstream_branch_name(local_parent) if upstream_base_name: desired_base = upstream_base_name diff --git a/tools/git_update_stack.py b/tools/git_update_stack.py index 007ce925efc..2cf9817a2a8 100755 --- a/tools/git_update_stack.py +++ b/tools/git_update_stack.py @@ -16,6 +16,7 @@ get_stack_branches_ordered, get_branch_parent, run_git_command, + MAINLINE_BRANCHES, ) #pylint: enable=wrong-import-position @@ -46,11 +47,10 @@ def main(): file=sys.stderr) sys.exit(1) - mainline_branches = {'origin/main'} ordered_branches: List[str] = [] try: ordered_branches = get_stack_branches_ordered(target_branch, - mainline_branches, + MAINLINE_BRANCHES, all_local_branches) except ValueError as e: print(f"Error determining stack order (Cycle?): {e}", file=sys.stderr) From c3d7213203ae688a21f50930a09a3036ba3b077a Mon Sep 17 00:00:00 2001 From: Mariia Koliadenko Date: Thu, 2 Oct 2025 17:16:11 +0100 Subject: [PATCH 002/370] Add RAY_TRACING group to GPU counter spec. (#3173) Allows GPU profiling tools to label ray tracing counters specifically. Tracking bug: b/448869258 (internal). --- .../common/gpu_counter_descriptor.proto | 1 + protos/perfetto/config/perfetto_config.proto | 1 + protos/perfetto/trace/perfetto_trace.proto | 1 + .../perfetto/trace/perfetto_trace_pb2.py | 4476 ++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 1 + 5 files changed, 2242 insertions(+), 2238 deletions(-) diff --git a/protos/perfetto/common/gpu_counter_descriptor.proto b/protos/perfetto/common/gpu_counter_descriptor.proto index 9591054f671..bb85cb79742 100644 --- a/protos/perfetto/common/gpu_counter_descriptor.proto +++ b/protos/perfetto/common/gpu_counter_descriptor.proto @@ -33,6 +33,7 @@ message GpuCounterDescriptor { // Includes counters relating to caching and bandwidth. MEMORY = 5; COMPUTE = 6; + RAY_TRACING = 7; } message GpuCounterSpec { diff --git a/protos/perfetto/config/perfetto_config.proto b/protos/perfetto/config/perfetto_config.proto index 4ff66846869..39f158efb92 100644 --- a/protos/perfetto/config/perfetto_config.proto +++ b/protos/perfetto/config/perfetto_config.proto @@ -46,6 +46,7 @@ message GpuCounterDescriptor { // Includes counters relating to caching and bandwidth. MEMORY = 5; COMPUTE = 6; + RAY_TRACING = 7; } message GpuCounterSpec { diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 254899cac92..88d1b587afe 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -46,6 +46,7 @@ message GpuCounterDescriptor { // Includes counters relating to caching and bandwidth. MEMORY = 5; COMPUTE = 6; + RAY_TRACING = 7; } message GpuCounterSpec { diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 731bbfc2681..5cf72577545 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xb6\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"u\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe0$\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xa4\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1a\x44\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe0$\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xa4\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1a\x44\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -219,2250 +219,2250 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=217888 - _BUILTINCLOCK._serialized_end=218203 - _ANDROIDLOGID._serialized_start=218206 - _ANDROIDLOGID._serialized_end=218348 - _ANDROIDLOGPRIORITY._serialized_start=218351 - _ANDROIDLOGPRIORITY._serialized_end=218506 - _PROTOLOGLEVEL._serialized_start=218509 - _PROTOLOGLEVEL._serialized_end=218708 - _ATOMID._serialized_start=218712 - _ATOMID._serialized_end=264879 - _MEMINFOCOUNTERS._serialized_start=264882 - _MEMINFOCOUNTERS._serialized_end=265815 - _VMSTATCOUNTERS._serialized_start=265818 - _VMSTATCOUNTERS._serialized_end=271451 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271454 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271602 - _TRAFFICDIRECTION._serialized_start=271604 - _TRAFFICDIRECTION._serialized_end=271676 - _TRUSTEDOVERLAY._serialized_start=271678 - _TRUSTEDOVERLAY._serialized_end=271732 - _HWCCOMPOSITIONTYPE._serialized_start=271735 - _HWCCOMPOSITIONTYPE._serialized_end=271926 - _FTRACEPARSESTATUS._serialized_start=271929 - _FTRACEPARSESTATUS._serialized_end=272641 - _FTRACECLOCK._serialized_start=272644 - _FTRACECLOCK._serialized_end=272789 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272792 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273480 - _CHROMERAILMODE._serialized_start=273482 - _CHROMERAILMODE._serialized_end=273607 + _BUILTINCLOCK._serialized_start=217906 + _BUILTINCLOCK._serialized_end=218221 + _ANDROIDLOGID._serialized_start=218224 + _ANDROIDLOGID._serialized_end=218366 + _ANDROIDLOGPRIORITY._serialized_start=218369 + _ANDROIDLOGPRIORITY._serialized_end=218524 + _PROTOLOGLEVEL._serialized_start=218527 + _PROTOLOGLEVEL._serialized_end=218726 + _ATOMID._serialized_start=218730 + _ATOMID._serialized_end=264897 + _MEMINFOCOUNTERS._serialized_start=264900 + _MEMINFOCOUNTERS._serialized_end=265833 + _VMSTATCOUNTERS._serialized_start=265836 + _VMSTATCOUNTERS._serialized_end=271469 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271472 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271620 + _TRAFFICDIRECTION._serialized_start=271622 + _TRAFFICDIRECTION._serialized_end=271694 + _TRUSTEDOVERLAY._serialized_start=271696 + _TRUSTEDOVERLAY._serialized_end=271750 + _HWCCOMPOSITIONTYPE._serialized_start=271753 + _HWCCOMPOSITIONTYPE._serialized_end=271944 + _FTRACEPARSESTATUS._serialized_start=271947 + _FTRACEPARSESTATUS._serialized_end=272659 + _FTRACECLOCK._serialized_start=272662 + _FTRACECLOCK._serialized_end=272807 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272810 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273498 + _CHROMERAILMODE._serialized_start=273500 + _CHROMERAILMODE._serialized_end=273625 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_end=212 _GPUCOUNTERDESCRIPTOR._serialized_start=215 - _GPUCOUNTERDESCRIPTOR._serialized_end=1677 + _GPUCOUNTERDESCRIPTOR._serialized_end=1695 _GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC._serialized_start=484 _GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC._serialized_end=882 _GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK._serialized_start=884 _GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK._serialized_end=999 - _GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP._serialized_start=1001 - _GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP._serialized_end=1118 - _GPUCOUNTERDESCRIPTOR_MEASUREUNIT._serialized_start=1121 - _GPUCOUNTERDESCRIPTOR_MEASUREUNIT._serialized_end=1677 - _TRACKEVENTCATEGORY._serialized_start=1679 - _TRACKEVENTCATEGORY._serialized_end=1748 - _TRACKEVENTDESCRIPTOR._serialized_start=1750 - _TRACKEVENTDESCRIPTOR._serialized_end=1839 - _DATASOURCEDESCRIPTOR._serialized_start=1842 - _DATASOURCEDESCRIPTOR._serialized_end=2224 - _TRACINGSERVICESTATE._serialized_start=2227 - _TRACINGSERVICESTATE._serialized_end=3050 - _TRACINGSERVICESTATE_PRODUCER._serialized_start=2586 - _TRACINGSERVICESTATE_PRODUCER._serialized_end=2685 - _TRACINGSERVICESTATE_DATASOURCE._serialized_start=2687 - _TRACINGSERVICESTATE_DATASOURCE._serialized_end=2782 - _TRACINGSERVICESTATE_TRACINGSESSION._serialized_start=2785 - _TRACINGSERVICESTATE_TRACINGSESSION._serialized_end=3050 - _ANDROIDGAMEINTERVENTIONLISTCONFIG._serialized_start=3052 - _ANDROIDGAMEINTERVENTIONLISTCONFIG._serialized_end=3116 - _ANDROIDINPUTEVENTCONFIG._serialized_start=3119 - _ANDROIDINPUTEVENTCONFIG._serialized_end=3714 - _ANDROIDINPUTEVENTCONFIG_TRACERULE._serialized_start=3361 - _ANDROIDINPUTEVENTCONFIG_TRACERULE._serialized_end=3561 - _ANDROIDINPUTEVENTCONFIG_TRACEMODE._serialized_start=3563 - _ANDROIDINPUTEVENTCONFIG_TRACEMODE._serialized_end=3626 - _ANDROIDINPUTEVENTCONFIG_TRACELEVEL._serialized_start=3628 - _ANDROIDINPUTEVENTCONFIG_TRACELEVEL._serialized_end=3714 - _ANDROIDLOGCONFIG._serialized_start=3717 - _ANDROIDLOGCONFIG._serialized_end=3865 - _ANDROIDPOLLEDSTATECONFIG._serialized_start=3867 - _ANDROIDPOLLEDSTATECONFIG._serialized_end=3910 - _ANDROIDSDKSYSPROPGUARDCONFIG._serialized_start=3913 - _ANDROIDSDKSYSPROPGUARDCONFIG._serialized_end=4051 - _ANDROIDSYSTEMPROPERTYCONFIG._serialized_start=4053 - _ANDROIDSYSTEMPROPERTYCONFIG._serialized_end=4122 - _APPWAKELOCKSCONFIG._serialized_start=4124 - _APPWAKELOCKSCONFIG._serialized_end=4226 - _CPUPERUIDCONFIG._serialized_start=4228 - _CPUPERUIDCONFIG._serialized_end=4262 - _KERNELWAKELOCKSCONFIG._serialized_start=4264 - _KERNELWAKELOCKSCONFIG._serialized_end=4304 - _NETWORKPACKETTRACECONFIG._serialized_start=4307 - _NETWORKPACKETTRACECONFIG._serialized_end=4478 - _PACKAGESLISTCONFIG._serialized_start=4480 - _PACKAGESLISTCONFIG._serialized_end=4569 - _PIXELMODEMCONFIG._serialized_start=4572 - _PIXELMODEMCONFIG._serialized_end=4832 - _PIXELMODEMCONFIG_EVENTGROUP._serialized_start=4724 - _PIXELMODEMCONFIG_EVENTGROUP._serialized_end=4832 - _PROTOLOGCONFIG._serialized_start=4835 - _PROTOLOGCONFIG._serialized_end=5083 - _PROTOLOGCONFIG_TRACINGMODE._serialized_start=5041 - _PROTOLOGCONFIG_TRACINGMODE._serialized_end=5083 - _PROTOLOGGROUP._serialized_start=5085 - _PROTOLOGGROUP._serialized_end=5198 - _SURFACEFLINGERLAYERSCONFIG._serialized_start=5201 - _SURFACEFLINGERLAYERSCONFIG._serialized_end=5697 - _SURFACEFLINGERLAYERSCONFIG_MODE._serialized_start=5371 - _SURFACEFLINGERLAYERSCONFIG_MODE._serialized_end=5486 - _SURFACEFLINGERLAYERSCONFIG_TRACEFLAG._serialized_start=5489 - _SURFACEFLINGERLAYERSCONFIG_TRACEFLAG._serialized_end=5697 - _SURFACEFLINGERTRANSACTIONSCONFIG._serialized_start=5700 - _SURFACEFLINGERTRANSACTIONSCONFIG._serialized_end=5872 - _SURFACEFLINGERTRANSACTIONSCONFIG_MODE._serialized_start=5806 - _SURFACEFLINGERTRANSACTIONSCONFIG_MODE._serialized_end=5872 - _WINDOWMANAGERCONFIG._serialized_start=5875 - _WINDOWMANAGERCONFIG._serialized_end=6278 - _WINDOWMANAGERCONFIG_LOGFREQUENCY._serialized_start=6039 - _WINDOWMANAGERCONFIG_LOGFREQUENCY._serialized_end=6171 - _WINDOWMANAGERCONFIG_LOGLEVEL._serialized_start=6173 - _WINDOWMANAGERCONFIG_LOGLEVEL._serialized_end=6278 - _CHROMECONFIG._serialized_start=6281 - _CHROMECONFIG._serialized_end=6598 - _CHROMECONFIG_CLIENTPRIORITY._serialized_start=6533 - _CHROMECONFIG_CLIENTPRIORITY._serialized_end=6598 - _CHROMIUMHISTOGRAMSAMPLESCONFIG._serialized_start=6601 - _CHROMIUMHISTOGRAMSAMPLESCONFIG._serialized_end=6831 - _CHROMIUMHISTOGRAMSAMPLESCONFIG_HISTOGRAMSAMPLE._serialized_start=6752 - _CHROMIUMHISTOGRAMSAMPLESCONFIG_HISTOGRAMSAMPLE._serialized_end=6831 - _CHROMIUMSYSTEMMETRICSCONFIG._serialized_start=6833 - _CHROMIUMSYSTEMMETRICSCONFIG._serialized_end=6892 - _V8CONFIG._serialized_start=6894 - _V8CONFIG._serialized_end=6958 - _ETWCONFIG._serialized_start=6961 - _ETWCONFIG._serialized_end=7173 - _ETWCONFIG_KERNELFLAG._serialized_start=7132 - _ETWCONFIG_KERNELFLAG._serialized_end=7173 - _FROZENFTRACECONFIG._serialized_start=7175 - _FROZENFTRACECONFIG._serialized_end=7218 - _FTRACECONFIG._serialized_start=7221 - _FTRACECONFIG._serialized_end=9087 - _FTRACECONFIG_COMPACTSCHEDCONFIG._serialized_start=8321 - _FTRACECONFIG_COMPACTSCHEDCONFIG._serialized_end=8358 - _FTRACECONFIG_PRINTFILTER._serialized_start=8361 - _FTRACECONFIG_PRINTFILTER._serialized_end=8619 - _FTRACECONFIG_PRINTFILTER_RULE._serialized_start=8440 - _FTRACECONFIG_PRINTFILTER_RULE._serialized_end=8619 - _FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE._serialized_start=8565 - _FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE._serialized_end=8610 - _FTRACECONFIG_KPROBEEVENT._serialized_start=8622 - _FTRACECONFIG_KPROBEEVENT._serialized_end=8830 - _FTRACECONFIG_KPROBEEVENT_KPROBETYPE._serialized_start=8720 - _FTRACECONFIG_KPROBEEVENT_KPROBETYPE._serialized_end=8830 - _FTRACECONFIG_TRACEFSOPTION._serialized_start=8833 - _FTRACECONFIG_TRACEFSOPTION._serialized_end=8995 - _FTRACECONFIG_TRACEFSOPTION_STATE._serialized_start=8930 - _FTRACECONFIG_TRACEFSOPTION_STATE._serialized_end=8995 - _FTRACECONFIG_KSYMSMEMPOLICY._serialized_start=8997 - _FTRACECONFIG_KSYMSMEMPOLICY._serialized_end=9081 - _GPUCOUNTERCONFIG._serialized_start=9089 - _GPUCOUNTERCONFIG._serialized_end=9209 - _GPURENDERSTAGESCONFIG._serialized_start=9211 - _GPURENDERSTAGESCONFIG._serialized_end=9303 - _VULKANMEMORYCONFIG._serialized_start=9305 - _VULKANMEMORYCONFIG._serialized_end=9395 - _INODEFILECONFIG._serialized_start=9398 - _INODEFILECONFIG._serialized_end=9689 - _INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY._serialized_start=9625 - _INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY._serialized_end=9689 - _CONSOLECONFIG._serialized_start=9692 - _CONSOLECONFIG._serialized_end=9857 - _CONSOLECONFIG_OUTPUT._serialized_start=9787 - _CONSOLECONFIG_OUTPUT._serialized_end=9857 - _INTERCEPTORCONFIG._serialized_start=9859 - _INTERCEPTORCONFIG._serialized_end=9948 - _ANDROIDPOWERCONFIG._serialized_start=9951 - _ANDROIDPOWERCONFIG._serialized_end=10399 - _ANDROIDPOWERCONFIG_BATTERYCOUNTERS._serialized_start=10192 - _ANDROIDPOWERCONFIG_BATTERYCOUNTERS._serialized_end=10399 - _PRIORITYBOOSTCONFIG._serialized_start=10402 - _PRIORITYBOOSTCONFIG._serialized_end=10593 - _PRIORITYBOOSTCONFIG_BOOSTPOLICY._serialized_start=10509 - _PRIORITYBOOSTCONFIG_BOOSTPOLICY._serialized_end=10593 - _PROCESSSTATSCONFIG._serialized_start=10596 - _PROCESSSTATSCONFIG._serialized_end=11053 - _PROCESSSTATSCONFIG_QUIRKS._serialized_start=10956 - _PROCESSSTATSCONFIG_QUIRKS._serialized_end=11041 - _HEAPPROFDCONFIG._serialized_start=11056 - _HEAPPROFDCONFIG._serialized_end=11900 - _HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG._serialized_start=11823 - _HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG._serialized_end=11894 - _JAVAHPROFCONFIG._serialized_start=11903 - _JAVAHPROFCONFIG._serialized_end=12256 - _JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG._serialized_start=12152 - _JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG._serialized_end=12256 - _PERFEVENTS._serialized_start=12259 - _PERFEVENTS._serialized_end=13594 - _PERFEVENTS_TIMEBASE._serialized_start=12274 - _PERFEVENTS_TIMEBASE._serialized_end=12687 - _PERFEVENTS_TRACEPOINT._serialized_start=12689 - _PERFEVENTS_TRACEPOINT._serialized_end=12731 - _PERFEVENTS_RAWEVENT._serialized_start=12733 - _PERFEVENTS_RAWEVENT._serialized_end=12807 - _PERFEVENTS_COUNTER._serialized_start=12810 - _PERFEVENTS_COUNTER._serialized_end=13298 - _PERFEVENTS_PERFCLOCK._serialized_start=13301 - _PERFEVENTS_PERFCLOCK._serialized_end=13442 - _PERFEVENTS_EVENTMODIFIER._serialized_start=13445 - _PERFEVENTS_EVENTMODIFIER._serialized_end=13594 - _FOLLOWEREVENT._serialized_start=13597 - _FOLLOWEREVENT._serialized_end=13874 - _PERFEVENTCONFIG._serialized_start=13877 - _PERFEVENTCONFIG._serialized_end=14957 - _PERFEVENTCONFIG_CALLSTACKSAMPLING._serialized_start=14530 - _PERFEVENTCONFIG_CALLSTACKSAMPLING._serialized_end=14693 - _PERFEVENTCONFIG_SCOPE._serialized_start=14696 - _PERFEVENTCONFIG_SCOPE._serialized_end=14856 - _PERFEVENTCONFIG_UNWINDMODE._serialized_start=14858 - _PERFEVENTCONFIG_UNWINDMODE._serialized_end=14951 - _STATSDTRACINGCONFIG._serialized_start=14960 - _STATSDTRACINGCONFIG._serialized_end=15114 - _STATSDPULLATOMCONFIG._serialized_start=15117 - _STATSDPULLATOMCONFIG._serialized_end=15257 - _SYSSTATSCONFIG._serialized_start=15260 - _SYSSTATSCONFIG._serialized_end=15880 - _SYSSTATSCONFIG_STATCOUNTERS._serialized_start=15757 - _SYSSTATSCONFIG_STATCOUNTERS._serialized_end=15880 - _SYSTEMINFOCONFIG._serialized_start=15882 - _SYSTEMINFOCONFIG._serialized_end=15900 - _TESTCONFIG._serialized_start=15903 - _TESTCONFIG._serialized_end=16428 - _TESTCONFIG_DUMMYFIELDS._serialized_start=16105 - _TESTCONFIG_DUMMYFIELDS._serialized_end=16428 - _TRACKEVENTCONFIG._serialized_start=16431 - _TRACKEVENTCONFIG._serialized_end=16769 - _DATASOURCECONFIG._serialized_start=16772 - _DATASOURCECONFIG._serialized_end=20247 - _DATASOURCECONFIG_SESSIONINITIATOR._serialized_start=19979 - _DATASOURCECONFIG_SESSIONINITIATOR._serialized_end=20070 - _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_start=20073 - _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_end=20234 - _TRACECONFIG._serialized_start=20250 - _TRACECONFIG._serialized_end=24954 - _TRACECONFIG_BUFFERCONFIG._serialized_start=22059 - _TRACECONFIG_BUFFERCONFIG._serialized_end=22293 - _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_start=22222 - _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_end=22281 - _TRACECONFIG_DATASOURCE._serialized_start=22296 - _TRACECONFIG_DATASOURCE._serialized_end=22454 - _TRACECONFIG_BUILTINDATASOURCE._serialized_start=22457 - _TRACECONFIG_BUILTINDATASOURCE._serialized_end=22776 - _TRACECONFIG_PRODUCERCONFIG._serialized_start=22778 - _TRACECONFIG_PRODUCERCONFIG._serialized_end=22860 - _TRACECONFIG_STATSDMETADATA._serialized_start=22863 - _TRACECONFIG_STATSDMETADATA._serialized_end=23005 - _TRACECONFIG_GUARDRAILOVERRIDES._serialized_start=23007 - _TRACECONFIG_GUARDRAILOVERRIDES._serialized_end=23101 - _TRACECONFIG_TRIGGERCONFIG._serialized_start=23104 - _TRACECONFIG_TRIGGERCONFIG._serialized_end=23562 - _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_start=23338 - _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_end=23461 - _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_start=23463 - _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_end=23556 - _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_start=23564 - _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_end=23613 - _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_start=23616 - _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_end=23767 - _TRACECONFIG_TRACEFILTER._serialized_start=23770 - _TRACECONFIG_TRACEFILTER._serialized_end=24367 - _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_start=23914 - _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_end=24068 - _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_start=24070 - _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_end=24163 - _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_start=24166 - _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_end=24367 - _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_start=24370 - _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_end=24521 - _TRACECONFIG_CMDTRACESTARTDELAY._serialized_start=24523 - _TRACECONFIG_CMDTRACESTARTDELAY._serialized_end=24587 - _TRACECONFIG_SESSIONSEMAPHORE._serialized_start=24589 - _TRACECONFIG_SESSIONSEMAPHORE._serialized_end=24654 - _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_start=24656 - _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_end=24741 - _TRACECONFIG_COMPRESSIONTYPE._serialized_start=24743 - _TRACECONFIG_COMPRESSIONTYPE._serialized_end=24824 - _TRACECONFIG_STATSDLOGGING._serialized_start=24826 - _TRACECONFIG_STATSDLOGGING._serialized_end=24930 - _UTSNAME._serialized_start=24956 - _UTSNAME._serialized_end=25033 - _SYSTEMINFO._serialized_start=25036 - _SYSTEMINFO._serialized_end=25486 - _TRACESTATS._serialized_start=25489 - _TRACESTATS._serialized_end=27042 - _TRACESTATS_BUFFERSTATS._serialized_start=26124 - _TRACESTATS_BUFFERSTATS._serialized_end=26646 - _TRACESTATS_WRITERSTATS._serialized_start=26649 - _TRACESTATS_WRITERSTATS._serialized_end=26784 - _TRACESTATS_FILTERSTATS._serialized_start=26787 - _TRACESTATS_FILTERSTATS._serialized_end=26941 - _TRACESTATS_FINALFLUSHOUTCOME._serialized_start=26943 - _TRACESTATS_FINALFLUSHOUTCOME._serialized_end=27042 - _ANDROIDGAMEINTERVENTIONLIST._serialized_start=27045 - _ANDROIDGAMEINTERVENTIONLIST._serialized_end=27444 - _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_start=27202 - _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_end=27292 - _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_start=27295 - _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_end=27444 - _ANDROIDLOGPACKET._serialized_start=27447 - _ANDROIDLOGPACKET._serialized_end=28009 - _ANDROIDLOGPACKET_LOGEVENT._serialized_start=27584 - _ANDROIDLOGPACKET_LOGEVENT._serialized_end=27940 - _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_start=27844 - _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_end=27940 - _ANDROIDLOGPACKET_STATS._serialized_start=27942 - _ANDROIDLOGPACKET_STATS._serialized_end=28009 - _ANDROIDSYSTEMPROPERTY._serialized_start=28012 - _ANDROIDSYSTEMPROPERTY._serialized_end=28151 - _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_start=28107 - _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_end=28151 - _APPWAKELOCKINFO._serialized_start=28153 - _APPWAKELOCKINFO._serialized_end=28267 - _APPWAKELOCKBUNDLE._serialized_start=28270 - _APPWAKELOCKBUNDLE._serialized_end=28402 - _BLUETOOTHTRACEEVENT._serialized_start=28405 - _BLUETOOTHTRACEEVENT._serialized_end=28626 - _ANDROIDCAMERAFRAMEEVENT._serialized_start=28629 - _ANDROIDCAMERAFRAMEEVENT._serialized_end=29527 - _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_start=29216 - _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_end=29349 - _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_start=29352 - _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_end=29527 - _ANDROIDCAMERASESSIONSTATS._serialized_start=29530 - _ANDROIDCAMERASESSIONSTATS._serialized_end=30097 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_start=29651 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_end=30097 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_start=29830 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_end=29948 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_start=29951 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_end=30097 - _CPUPERUIDDATA._serialized_start=30099 - _CPUPERUIDDATA._serialized_end=30181 - _FRAMETIMELINEEVENT._serialized_start=30184 - _FRAMETIMELINEEVENT._serialized_end=32825 - _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_start=30677 - _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_end=30797 - _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_start=30800 - _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_end=31448 - _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_start=31450 - _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_end=31521 - _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_start=31524 - _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_end=32066 - _FRAMETIMELINEEVENT_FRAMEEND._serialized_start=32068 - _FRAMETIMELINEEVENT_FRAMEEND._serialized_end=32094 - _FRAMETIMELINEEVENT_JANKTYPE._serialized_start=32097 - _FRAMETIMELINEEVENT_JANKTYPE._serialized_end=32457 - _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_start=32459 - _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_end=32559 - _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_start=32562 - _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_end=32700 - _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_start=32702 - _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_end=32816 - _GPUMEMTOTALEVENT._serialized_start=32827 - _GPUMEMTOTALEVENT._serialized_end=32888 - _GRAPHICSFRAMEEVENT._serialized_start=32891 - _GRAPHICSFRAMEEVENT._serialized_end=33388 - _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_start=32985 - _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_end=33147 - _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_start=33150 - _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_end=33388 - _INITIALDISPLAYSTATE._serialized_start=33390 - _INITIALDISPLAYSTATE._serialized_end=33454 - _KERNELWAKELOCKDATA._serialized_start=33457 - _KERNELWAKELOCKDATA._serialized_end=33835 - _KERNELWAKELOCKDATA_WAKELOCK._serialized_start=33620 - _KERNELWAKELOCKDATA_WAKELOCK._serialized_end=33835 - _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_start=33750 - _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_end=33835 - _NETWORKPACKETEVENT._serialized_start=33838 - _NETWORKPACKETEVENT._serialized_end=34097 - _NETWORKPACKETBUNDLE._serialized_start=34100 - _NETWORKPACKETBUNDLE._serialized_end=34334 - _NETWORKPACKETCONTEXT._serialized_start=34336 - _NETWORKPACKETCONTEXT._serialized_end=34421 - _PACKAGESLIST._serialized_start=34424 - _PACKAGESLIST._serialized_end=34656 - _PACKAGESLIST_PACKAGEINFO._serialized_start=34542 - _PACKAGESLIST_PACKAGEINFO._serialized_end=34656 - _PIXELMODEMEVENTS._serialized_start=34658 - _PIXELMODEMEVENTS._serialized_end=34718 - _PIXELMODEMTOKENDATABASE._serialized_start=34720 - _PIXELMODEMTOKENDATABASE._serialized_end=34763 - _PROTOLOGMESSAGE._serialized_start=34766 - _PROTOLOGMESSAGE._serialized_end=34921 - _PROTOLOGVIEWERCONFIG._serialized_start=34924 - _PROTOLOGVIEWERCONFIG._serialized_end=35260 - _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_start=35079 - _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_end=35212 - _PROTOLOGVIEWERCONFIG_GROUP._serialized_start=35214 - _PROTOLOGVIEWERCONFIG_GROUP._serialized_end=35260 - _SHELLTRANSITION._serialized_start=35263 - _SHELLTRANSITION._serialized_end=35800 - _SHELLTRANSITION_TARGET._serialized_start=35726 - _SHELLTRANSITION_TARGET._serialized_end=35800 - _SHELLHANDLERMAPPINGS._serialized_start=35802 - _SHELLHANDLERMAPPINGS._serialized_end=35879 - _SHELLHANDLERMAPPING._serialized_start=35881 - _SHELLHANDLERMAPPING._serialized_end=35928 - _RECTPROTO._serialized_start=35930 - _RECTPROTO._serialized_end=35999 - _REGIONPROTO._serialized_start=36001 - _REGIONPROTO._serialized_end=36062 - _SIZEPROTO._serialized_start=36064 - _SIZEPROTO._serialized_end=36097 - _TRANSFORMPROTO._serialized_start=36099 - _TRANSFORMPROTO._serialized_end=36185 - _COLORPROTO._serialized_start=36187 - _COLORPROTO._serialized_end=36243 - _INPUTWINDOWINFOPROTO._serialized_start=36246 - _INPUTWINDOWINFOPROTO._serialized_end=36821 - _BLURREGION._serialized_start=36824 - _BLURREGION._serialized_end=37034 - _COLORTRANSFORMPROTO._serialized_start=37036 - _COLORTRANSFORMPROTO._serialized_end=37074 - _BOXSHADOWSETTINGS._serialized_start=37077 - _BOXSHADOWSETTINGS._serialized_end=37283 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37171 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37283 - _BORDERSETTINGS._serialized_start=37285 - _BORDERSETTINGS._serialized_end=37338 - _LAYERSTRACEFILEPROTO._serialized_start=37341 - _LAYERSTRACEFILEPROTO._serialized_end=37557 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37483 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37557 - _LAYERSSNAPSHOTPROTO._serialized_start=37560 - _LAYERSSNAPSHOTPROTO._serialized_end=37819 - _LAYERSPROTO._serialized_start=37821 - _LAYERSPROTO._serialized_end=37879 - _DISPLAYPROTO._serialized_start=37882 - _DISPLAYPROTO._serialized_end=38147 - _LAYERPROTO._serialized_start=38150 - _LAYERPROTO._serialized_end=40853 - _LAYERPROTO_METADATAENTRY._serialized_start=40806 - _LAYERPROTO_METADATAENTRY._serialized_end=40853 - _POSITIONPROTO._serialized_start=40855 - _POSITIONPROTO._serialized_end=40892 - _FLOATRECTPROTO._serialized_start=40894 - _FLOATRECTPROTO._serialized_end=40968 - _CORNERRADIIPROTO._serialized_start=40970 - _CORNERRADIIPROTO._serialized_end=41036 - _ACTIVEBUFFERPROTO._serialized_start=41038 - _ACTIVEBUFFERPROTO._serialized_end=41135 - _BARRIERLAYERPROTO._serialized_start=41137 - _BARRIERLAYERPROTO._serialized_end=41190 - _TRANSACTIONTRACEFILE._serialized_start=41193 - _TRANSACTIONTRACEFILE._serialized_end=41428 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41354 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41428 - _TRANSACTIONTRACEENTRY._serialized_start=41431 - _TRANSACTIONTRACEENTRY._serialized_end=41833 - _DISPLAYINFO._serialized_start=41836 - _DISPLAYINFO._serialized_end=42170 - _LAYERCREATIONARGS._serialized_start=42173 - _LAYERCREATIONARGS._serialized_end=42334 - _TRANSFORM._serialized_start=42336 - _TRANSFORM._serialized_end=42427 - _TRANSACTIONBARRIER._serialized_start=42429 - _TRANSACTIONBARRIER._serialized_end=42486 - _TRANSACTIONSTATE._serialized_start=42489 - _TRANSACTIONSTATE._serialized_end=42846 - _LAYERSTATE._serialized_start=42849 - _LAYERSTATE._serialized_end=47541 - _LAYERSTATE_MATRIX22._serialized_start=44560 - _LAYERSTATE_MATRIX22._serialized_end=44626 - _LAYERSTATE_CORNERRADII._serialized_start=44628 - _LAYERSTATE_CORNERRADII._serialized_end=44689 - _LAYERSTATE_COLOR3._serialized_start=44691 - _LAYERSTATE_COLOR3._serialized_end=44732 - _LAYERSTATE_BUFFERDATA._serialized_start=44735 - _LAYERSTATE_BUFFERDATA._serialized_end=45523 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=44951 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45062 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45065 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45523 - _LAYERSTATE_WINDOWINFO._serialized_start=45526 - _LAYERSTATE_WINDOWINFO._serialized_end=45940 - _LAYERSTATE_CHANGESLSB._serialized_start=45943 - _LAYERSTATE_CHANGESLSB._serialized_end=46703 - _LAYERSTATE_CHANGESMSB._serialized_start=46706 - _LAYERSTATE_CHANGESMSB._serialized_end=47326 - _LAYERSTATE_FLAGS._serialized_start=47329 - _LAYERSTATE_FLAGS._serialized_end=47491 - _LAYERSTATE_DROPINPUTMODE._serialized_start=47493 - _LAYERSTATE_DROPINPUTMODE._serialized_end=47541 - _DISPLAYSTATE._serialized_start=47544 - _DISPLAYSTATE._serialized_end=47947 - _DISPLAYSTATE_CHANGES._serialized_start=47800 - _DISPLAYSTATE_CHANGES._serialized_end=47947 - _WINSCOPEEXTENSIONS._serialized_start=47949 - _WINSCOPEEXTENSIONS._serialized_end=47975 - _CHROMEBENCHMARKMETADATA._serialized_start=47978 - _CHROMEBENCHMARKMETADATA._serialized_end=48220 - _CHROMEMETADATAPACKET._serialized_start=48223 - _CHROMEMETADATAPACKET._serialized_end=48502 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48462 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48502 - _BACKGROUNDTRACINGMETADATA._serialized_start=48505 - _BACKGROUNDTRACINGMETADATA._serialized_end=49550 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48721 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49550 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49025 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49131 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49134 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49412 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49279 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49412 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49415 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49550 - _CHROMETRACEDVALUE._serialized_start=49553 - _CHROMETRACEDVALUE._serialized_end=49892 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49859 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49892 - _CHROMESTRINGTABLEENTRY._serialized_start=49894 - _CHROMESTRINGTABLEENTRY._serialized_end=49948 - _CHROMETRACEEVENT._serialized_start=49951 - _CHROMETRACEEVENT._serialized_end=50592 - _CHROMETRACEEVENT_ARG._serialized_start=50324 - _CHROMETRACEEVENT_ARG._serialized_end=50592 - _CHROMEMETADATA._serialized_start=50595 - _CHROMEMETADATA._serialized_end=50723 - _CHROMELEGACYJSONTRACE._serialized_start=50726 - _CHROMELEGACYJSONTRACE._serialized_end=50874 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50829 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50874 - _CHROMEEVENTBUNDLE._serialized_start=50877 - _CHROMEEVENTBUNDLE._serialized_end=51172 - _CHROMETRIGGER._serialized_start=51174 - _CHROMETRIGGER._serialized_end=51255 - _V8STRING._serialized_start=51257 - _V8STRING._serialized_end=51343 - _INTERNEDV8STRING._serialized_start=51345 - _INTERNEDV8STRING._serialized_end=51452 - _INTERNEDV8JSSCRIPT._serialized_start=51455 - _INTERNEDV8JSSCRIPT._serialized_end=51780 - _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51650 - _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51780 - _INTERNEDV8WASMSCRIPT._serialized_start=51782 - _INTERNEDV8WASMSCRIPT._serialized_end=51869 - _INTERNEDV8JSFUNCTION._serialized_start=51872 - _INTERNEDV8JSFUNCTION._serialized_end=52981 - _INTERNEDV8JSFUNCTION_KIND._serialized_start=52099 - _INTERNEDV8JSFUNCTION_KIND._serialized_end=52981 - _INTERNEDV8ISOLATE._serialized_start=52984 - _INTERNEDV8ISOLATE._serialized_end=53311 - _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53192 - _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53311 - _V8JSCODE._serialized_start=53314 - _V8JSCODE._serialized_end=53676 - _V8JSCODE_TIER._serialized_start=53540 - _V8JSCODE_TIER._serialized_end=53660 - _V8INTERNALCODE._serialized_start=53679 - _V8INTERNALCODE._serialized_end=54160 - _V8INTERNALCODE_TYPE._serialized_start=53902 - _V8INTERNALCODE_TYPE._serialized_end=54160 - _V8WASMCODE._serialized_start=54163 - _V8WASMCODE._serialized_end=54486 - _V8WASMCODE_TIER._serialized_start=54425 - _V8WASMCODE_TIER._serialized_end=54486 - _V8REGEXPCODE._serialized_start=54489 - _V8REGEXPCODE._serialized_end=54665 - _V8CODEMOVE._serialized_start=54668 - _V8CODEMOVE._serialized_end=54893 - _V8CODEDEFAULTS._serialized_start=54895 - _V8CODEDEFAULTS._serialized_end=54924 - _CLOCKSNAPSHOT._serialized_start=54927 - _CLOCKSNAPSHOT._serialized_end=55329 - _CLOCKSNAPSHOT_CLOCK._serialized_start=55059 - _CLOCKSNAPSHOT_CLOCK._serialized_end=55329 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55158 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55329 - _CSWITCHETWEVENT._serialized_start=55332 - _CSWITCHETWEVENT._serialized_end=56950 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55908 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56653 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56655 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56706 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56709 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56844 - _READYTHREADETWEVENT._serialized_start=56953 - _READYTHREADETWEVENT._serialized_end=57473 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57212 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57300 - _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57302 - _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57424 - _MEMINFOETWEVENT._serialized_start=57476 - _MEMINFOETWEVENT._serialized_end=57876 - _FILEIOCREATEETWEVENT._serialized_start=57879 - _FILEIOCREATEETWEVENT._serialized_end=58043 - _FILEIODIRENUMETWEVENT._serialized_start=58046 - _FILEIODIRENUMETWEVENT._serialized_end=58214 - _FILEIOINFOETWEVENT._serialized_start=58217 - _FILEIOINFOETWEVENT._serialized_end=58347 - _FILEIOREADWRITEETWEVENT._serialized_start=58350 - _FILEIOREADWRITEETWEVENT._serialized_end=58496 - _FILEIOSIMPLEOPETWEVENT._serialized_start=58498 - _FILEIOSIMPLEOPETWEVENT._serialized_end=58592 - _FILEIOOPENDETWEVENT._serialized_start=58594 - _FILEIOOPENDETWEVENT._serialized_end=58671 - _ETWTRACEEVENT._serialized_start=58674 - _ETWTRACEEVENT._serialized_end=59319 - _ETWTRACEEVENTBUNDLE._serialized_start=59321 - _ETWTRACEEVENTBUNDLE._serialized_end=59402 - _EVDEVEVENT._serialized_start=59405 - _EVDEVEVENT._serialized_end=59591 - _EVDEVEVENT_INPUTEVENT._serialized_start=59501 - _EVDEVEVENT_INPUTEVENT._serialized_end=59582 - _FILEDESCRIPTORSET._serialized_start=59593 - _FILEDESCRIPTORSET._serialized_end=59664 - _FILEDESCRIPTORPROTO._serialized_start=59667 - _FILEDESCRIPTORPROTO._serialized_end=59986 - _DESCRIPTORPROTO._serialized_start=59989 - _DESCRIPTORPROTO._serialized_end=60455 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60400 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60443 - _UNINTERPRETEDOPTION._serialized_start=60458 - _UNINTERPRETEDOPTION._serialized_end=60744 - _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60693 - _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60744 - _FIELDOPTIONS._serialized_start=60746 - _FIELDOPTIONS._serialized_end=60845 - _FIELDDESCRIPTORPROTO._serialized_start=60848 - _FIELDDESCRIPTORPROTO._serialized_end=61535 - _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61150 - _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61460 - _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61462 - _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61529 - _ONEOFDESCRIPTORPROTO._serialized_start=61537 - _ONEOFDESCRIPTORPROTO._serialized_end=61621 - _ENUMDESCRIPTORPROTO._serialized_start=61624 - _ENUMDESCRIPTORPROTO._serialized_end=61752 - _ENUMVALUEDESCRIPTORPROTO._serialized_start=61754 - _ENUMVALUEDESCRIPTORPROTO._serialized_end=61816 - _ONEOFOPTIONS._serialized_start=61818 - _ONEOFOPTIONS._serialized_end=61851 - _EXTENSIONDESCRIPTOR._serialized_start=61853 - _EXTENSIONDESCRIPTOR._serialized_end=61933 - _INODEFILEMAP._serialized_start=61936 - _INODEFILEMAP._serialized_end=62200 - _INODEFILEMAP_ENTRY._serialized_start=62054 - _INODEFILEMAP_ENTRY._serialized_end=62200 - _INODEFILEMAP_ENTRY_TYPE._serialized_start=62156 - _INODEFILEMAP_ENTRY_TYPE._serialized_end=62200 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62202 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62279 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62282 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62424 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62426 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62504 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62507 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62650 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62652 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62726 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62728 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62836 - _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62839 - _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63028 - _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63031 - _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63180 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63182 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63238 - _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63240 - _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63358 - _BINDERLOCKFTRACEEVENT._serialized_start=63360 - _BINDERLOCKFTRACEEVENT._serialized_end=63396 - _BINDERLOCKEDFTRACEEVENT._serialized_start=63398 - _BINDERLOCKEDFTRACEEVENT._serialized_end=63436 - _BINDERUNLOCKFTRACEEVENT._serialized_start=63438 - _BINDERUNLOCKFTRACEEVENT._serialized_end=63476 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63478 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63603 - _BINDERCOMMANDFTRACEEVENT._serialized_start=63605 - _BINDERCOMMANDFTRACEEVENT._serialized_end=63644 - _BINDERRETURNFTRACEEVENT._serialized_start=63646 - _BINDERRETURNFTRACEEVENT._serialized_end=63684 - _BLOCKRQISSUEFTRACEEVENT._serialized_start=63687 - _BLOCKRQISSUEFTRACEEVENT._serialized_end=63816 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63818 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=63924 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=63926 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64029 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64031 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64137 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64139 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64246 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64248 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64350 - _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64352 - _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64477 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64479 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64551 - _BLOCKGETRQFTRACEEVENT._serialized_start=64553 - _BLOCKGETRQFTRACEEVENT._serialized_end=64652 - _BLOCKPLUGFTRACEEVENT._serialized_start=64654 - _BLOCKPLUGFTRACEEVENT._serialized_end=64690 - _BLOCKRQABORTFTRACEEVENT._serialized_start=64692 - _BLOCKRQABORTFTRACEEVENT._serialized_end=64808 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64811 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=64945 - _BLOCKRQINSERTFTRACEEVENT._serialized_start=64948 - _BLOCKRQINSERTFTRACEEVENT._serialized_end=65078 - _BLOCKRQREMAPFTRACEEVENT._serialized_start=65081 - _BLOCKRQREMAPFTRACEEVENT._serialized_end=65222 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65224 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65342 - _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65344 - _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65445 - _BLOCKSPLITFTRACEEVENT._serialized_start=65447 - _BLOCKSPLITFTRACEEVENT._serialized_end=65547 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65549 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65621 - _BLOCKUNPLUGFTRACEEVENT._serialized_start=65623 - _BLOCKUNPLUGFTRACEEVENT._serialized_end=65676 - _BLOCKIOSTARTFTRACEEVENT._serialized_start=65679 - _BLOCKIOSTARTFTRACEEVENT._serialized_end=65824 - _BLOCKIODONEFTRACEEVENT._serialized_start=65827 - _BLOCKIODONEFTRACEEVENT._serialized_end=65971 - _CGROUPATTACHTASKFTRACEEVENT._serialized_start=65974 - _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66116 - _CGROUPMKDIRFTRACEEVENT._serialized_start=66118 - _CGROUPMKDIRFTRACEEVENT._serialized_end=66212 - _CGROUPREMOUNTFTRACEEVENT._serialized_start=66214 - _CGROUPREMOUNTFTRACEEVENT._serialized_end=66285 - _CGROUPRMDIRFTRACEEVENT._serialized_start=66287 - _CGROUPRMDIRFTRACEEVENT._serialized_end=66381 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66384 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66529 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66531 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66606 - _CGROUPRELEASEFTRACEEVENT._serialized_start=66608 - _CGROUPRELEASEFTRACEEVENT._serialized_end=66704 - _CGROUPRENAMEFTRACEEVENT._serialized_start=66706 - _CGROUPRENAMEFTRACEEVENT._serialized_end=66801 - _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66803 - _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66876 - _CLKENABLEFTRACEEVENT._serialized_start=66878 - _CLKENABLEFTRACEEVENT._serialized_end=66914 - _CLKDISABLEFTRACEEVENT._serialized_start=66916 - _CLKDISABLEFTRACEEVENT._serialized_end=66953 - _CLKSETRATEFTRACEEVENT._serialized_start=66955 - _CLKSETRATEFTRACEEVENT._serialized_end=67006 - _CMAALLOCSTARTFTRACEEVENT._serialized_start=67008 - _CMAALLOCSTARTFTRACEEVENT._serialized_end=67078 - _CMAALLOCINFOFTRACEEVENT._serialized_start=67081 - _CMAALLOCINFOFTRACEEVENT._serialized_end=67277 - _CMAALLOCFINISHFTRACEEVENT._serialized_start=67279 - _CMAALLOCFINISHFTRACEEVENT._serialized_end=67394 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67396 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67517 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67520 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67664 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67667 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67804 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67807 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=67946 - _MMCOMPACTIONENDFTRACEEVENT._serialized_start=67949 - _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68084 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68086 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68173 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68175 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68290 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68292 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68410 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68412 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68464 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68466 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68580 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68582 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68659 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68661 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68748 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68750 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68853 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68855 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=68971 - _PARAMSETVALUECPMFTRACEEVENT._serialized_start=68973 - _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69050 - _CPUHPEXITFTRACEEVENT._serialized_start=69052 - _CPUHPEXITFTRACEEVENT._serialized_end=69128 - _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69130 - _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69213 - _CPUHPENTERFTRACEEVENT._serialized_start=69215 - _CPUHPENTERFTRACEEVENT._serialized_end=69293 - _CPUHPLATENCYFTRACEEVENT._serialized_start=69295 - _CPUHPLATENCYFTRACEEVENT._serialized_end=69375 - _CPUHPPAUSEFTRACEEVENT._serialized_start=69377 - _CPUHPPAUSEFTRACEEVENT._serialized_end=69464 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69467 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69637 - _DCVSHFREQFTRACEEVENT._serialized_start=69639 - _DCVSHFREQFTRACEEVENT._serialized_end=69688 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69690 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69809 - _DMAFENCEINITFTRACEEVENT._serialized_start=69811 - _DMAFENCEINITFTRACEEVENT._serialized_end=69902 - _DMAFENCEEMITFTRACEEVENT._serialized_start=69904 - _DMAFENCEEMITFTRACEEVENT._serialized_end=69995 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=69997 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70092 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70094 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70190 - _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70192 - _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70286 - _DMAHEAPSTATFTRACEEVENT._serialized_start=70288 - _DMAHEAPSTATFTRACEEVENT._serialized_end=70365 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70368 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70497 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70499 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70564 - _DPUDSIRXFTRACEEVENT._serialized_start=70566 - _DPUDSIRXFTRACEEVENT._serialized_end=70616 - _DPUDSITXFTRACEEVENT._serialized_start=70618 - _DPUDSITXFTRACEEVENT._serialized_end=70701 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70703 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70791 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70793 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70875 - _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70877 - _DRMVBLANKEVENTFTRACEEVENT._serialized_end=70964 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=70966 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71043 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71046 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71208 - _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71211 - _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71403 - _DWC3CTRLREQFTRACEEVENT._serialized_start=71405 - _DWC3CTRLREQFTRACEEVENT._serialized_end=71531 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71534 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71693 - _DWC3EPQUEUEFTRACEEVENT._serialized_start=71696 - _DWC3EPQUEUEFTRACEEVENT._serialized_end=71853 - _DWC3EVENTFTRACEEVENT._serialized_start=71855 - _DWC3EVENTFTRACEEVENT._serialized_end=71923 - _DWC3FREEREQUESTFTRACEEVENT._serialized_start=71926 - _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72087 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72089 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72212 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72215 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72420 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72423 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72627 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72629 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72706 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72709 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72873 - _DWC3PREPARETRBFTRACEEVENT._serialized_start=72876 - _DWC3PREPARETRBFTRACEEVENT._serialized_end=73067 - _DWC3READLFTRACEEVENT._serialized_start=73069 - _DWC3READLFTRACEEVENT._serialized_end=73149 - _DWC3WRITELFTRACEEVENT._serialized_start=73151 - _DWC3WRITELFTRACEEVENT._serialized_end=73232 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73234 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73330 - _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73332 - _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73427 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73429 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73519 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73521 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73589 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73591 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73689 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73692 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73885 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73887 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=73970 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=73972 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74053 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74055 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74140 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74143 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74345 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74348 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74516 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74519 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74747 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74750 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=74957 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=74959 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75062 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75064 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75158 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75160 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75266 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75268 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75339 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75341 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75434 - _EXT4DROPINODEFTRACEEVENT._serialized_start=75436 - _EXT4DROPINODEFTRACEEVENT._serialized_end=75502 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75504 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75617 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75619 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75705 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75708 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75836 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75838 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=75952 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=75954 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76030 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76033 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76166 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76168 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76252 - _EXT4ESSHRINKFTRACEEVENT._serialized_start=76254 - _EXT4ESSHRINKFTRACEEVENT._serialized_end=76367 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76369 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76451 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76453 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76539 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76541 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76625 - _EXT4EVICTINODEFTRACEEVENT._serialized_start=76627 - _EXT4EVICTINODEFTRACEEVENT._serialized_end=76695 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76698 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76847 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76850 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77049 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77052 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77211 - _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77213 - _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77293 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77295 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77379 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77381 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77483 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77486 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77630 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77632 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77730 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77732 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77832 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77835 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78028 - _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78030 - _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78095 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78098 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78284 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78286 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78383 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78385 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78498 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78500 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78598 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78601 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78738 - _EXT4FORGETFTRACEEVENT._serialized_start=78740 - _EXT4FORGETFTRACEEVENT._serialized_end=78839 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78841 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=78953 - _EXT4FREEINODEFTRACEEVENT._serialized_start=78955 - _EXT4FREEINODEFTRACEEVENT._serialized_end=79063 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79065 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79190 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79192 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79285 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79287 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79389 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79392 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79536 - _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79538 - _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79621 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79623 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79727 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79730 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79859 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79861 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=79939 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=79941 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80055 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80057 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80160 - _EXT4LOADINODEFTRACEEVENT._serialized_start=80162 - _EXT4LOADINODEFTRACEEVENT._serialized_end=80214 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80216 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80276 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80278 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80347 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80349 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80406 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80408 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80470 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80472 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80541 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80543 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80652 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80654 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80763 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80765 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80846 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80848 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=80937 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=80940 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81330 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81332 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81453 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81455 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81573 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81576 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81802 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81804 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=81925 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=81927 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82022 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82024 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82106 - _EXT4READPAGEFTRACEEVENT._serialized_start=82108 - _EXT4READPAGEFTRACEEVENT._serialized_end=82174 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82176 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82245 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82248 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82448 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82451 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82628 - _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82630 - _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82699 - _EXT4SYNCFSFTRACEEVENT._serialized_start=82701 - _EXT4SYNCFSFTRACEEVENT._serialized_end=82751 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82753 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82862 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82864 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=82972 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=82974 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83046 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83048 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83119 - _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83121 - _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83205 - _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83207 - _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83273 - _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83275 - _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83369 - _EXT4WRITEENDFTRACEEVENT._serialized_start=83371 - _EXT4WRITEENDFTRACEEVENT._serialized_end=83464 - _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83466 - _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83533 - _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83536 - _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83760 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83763 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=83925 - _EXT4ZERORANGEFTRACEEVENT._serialized_start=83927 - _EXT4ZERORANGEFTRACEEVENT._serialized_end=84022 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84024 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84124 - _F2FSEVICTINODEFTRACEEVENT._serialized_start=84127 - _F2FSEVICTINODEFTRACEEVENT._serialized_end=84269 - _F2FSFALLOCATEFTRACEEVENT._serialized_start=84272 - _F2FSFALLOCATEFTRACEEVENT._serialized_end=84410 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84412 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84531 - _F2FSGETVICTIMFTRACEEVENT._serialized_start=84534 - _F2FSGETVICTIMFTRACEEVENT._serialized_end=84740 - _F2FSIGETFTRACEEVENT._serialized_start=84743 - _F2FSIGETFTRACEEVENT._serialized_end=84879 - _F2FSIGETEXITFTRACEEVENT._serialized_start=84881 - _F2FSIGETEXITFTRACEEVENT._serialized_end=84945 - _F2FSNEWINODEFTRACEEVENT._serialized_start=84947 - _F2FSNEWINODEFTRACEEVENT._serialized_end=85011 - _F2FSREADPAGEFTRACEEVENT._serialized_start=85014 - _F2FSREADPAGEFTRACEEVENT._serialized_end=85157 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85159 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85238 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85241 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85371 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85373 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85475 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85478 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85623 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85625 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85747 - _F2FSSYNCFSFTRACEEVENT._serialized_start=85749 - _F2FSSYNCFSFTRACEEVENT._serialized_end=85814 - _F2FSTRUNCATEFTRACEEVENT._serialized_start=85817 - _F2FSTRUNCATEFTRACEEVENT._serialized_end=85957 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=85959 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86065 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86067 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86141 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86143 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86249 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86251 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86362 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86364 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86443 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86445 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86531 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86533 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86625 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86627 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86700 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86702 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86806 - _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86808 - _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86906 - _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86908 - _F2FSUNLINKEXITFTRACEEVENT._serialized_end=86974 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=86977 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87108 - _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87110 - _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87204 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87206 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87299 - _F2FSWRITEENDFTRACEEVENT._serialized_start=87301 - _F2FSWRITEENDFTRACEEVENT._serialized_end=87394 - _F2FSIOSTATFTRACEEVENT._serialized_start=87397 - _F2FSIOSTATFTRACEEVENT._serialized_end=87822 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87825 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88408 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88410 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88500 - _F2FSGCBEGINFTRACEEVENT._serialized_start=88503 - _F2FSGCBEGINFTRACEEVENT._serialized_end=88773 - _F2FSGCENDFTRACEEVENT._serialized_start=88776 - _F2FSGCENDFTRACEEVENT._serialized_end=89004 - _FASTRPCDMASTATFTRACEEVENT._serialized_start=89006 - _FASTRPCDMASTATFTRACEEVENT._serialized_end=89084 - _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89086 - _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89154 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89156 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89255 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89257 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89326 - _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89328 - _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89450 - _FENCEINITFTRACEEVENT._serialized_start=89452 - _FENCEINITFTRACEEVENT._serialized_end=89540 - _FENCEDESTROYFTRACEEVENT._serialized_start=89542 - _FENCEDESTROYFTRACEEVENT._serialized_end=89633 - _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89635 - _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89731 - _FENCESIGNALEDFTRACEEVENT._serialized_start=89733 - _FENCESIGNALEDFTRACEEVENT._serialized_end=89825 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89827 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=89935 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=89937 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90050 - _DOSYSOPENFTRACEEVENT._serialized_start=90052 - _DOSYSOPENFTRACEEVENT._serialized_end=90121 - _OPENEXECFTRACEEVENT._serialized_start=90123 - _OPENEXECFTRACEEVENT._serialized_end=90162 - _PRINTFTRACEEVENT._serialized_start=90164 - _PRINTFTRACEEVENT._serialized_end=90207 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90209 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90265 - _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90267 - _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90374 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90376 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90464 - _GENERICFTRACEEVENT._serialized_start=90467 - _GENERICFTRACEEVENT._serialized_end=90661 - _GENERICFTRACEEVENT_FIELD._serialized_start=90567 - _GENERICFTRACEEVENT_FIELD._serialized_end=90661 - _KPROBEEVENT._serialized_start=90664 - _KPROBEEVENT._serialized_end=90854 - _KPROBEEVENT_KPROBETYPE._serialized_start=90748 - _KPROBEEVENT_KPROBETYPE._serialized_end=90854 - _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90856 - _GOOGLEICCEVENTFTRACEEVENT._serialized_end=90917 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=90919 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=90980 - _GPUMEMTOTALFTRACEEVENT._serialized_start=90982 - _GPUMEMTOTALFTRACEEVENT._serialized_end=91049 - _DRMSCHEDJOBFTRACEEVENT._serialized_start=91051 - _DRMSCHEDJOBFTRACEEVENT._serialized_end=91173 - _DRMRUNJOBFTRACEEVENT._serialized_start=91175 - _DRMRUNJOBFTRACEEVENT._serialized_end=91295 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91297 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91343 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91345 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91447 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91449 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91521 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91524 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91684 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91687 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91845 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91847 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=91956 - _HYPENTERFTRACEEVENT._serialized_start=91958 - _HYPENTERFTRACEEVENT._serialized_end=91979 - _HYPEXITFTRACEEVENT._serialized_start=91981 - _HYPEXITFTRACEEVENT._serialized_end=92001 - _HOSTHCALLFTRACEEVENT._serialized_start=92003 - _HOSTHCALLFTRACEEVENT._serialized_end=92054 - _HOSTSMCFTRACEEVENT._serialized_start=92056 - _HOSTSMCFTRACEEVENT._serialized_end=92107 - _HOSTMEMABORTFTRACEEVENT._serialized_start=92109 - _HOSTMEMABORTFTRACEEVENT._serialized_end=92161 - _HOSTFFACALLFTRACEEVENT._serialized_start=92164 - _HOSTFFACALLFTRACEEVENT._serialized_end=92299 - _IOMMUIDMAPFTRACEEVENT._serialized_start=92301 - _IOMMUIDMAPFTRACEEVENT._serialized_end=92364 - _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92366 - _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92421 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92423 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92484 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92486 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92547 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92549 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92579 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92581 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92654 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92656 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92721 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92723 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92785 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92787 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92818 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92820 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92874 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92876 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=92927 - _I2CREADFTRACEEVENT._serialized_start=92929 - _I2CREADFTRACEEVENT._serialized_end=93027 - _I2CWRITEFTRACEEVENT._serialized_start=93029 - _I2CWRITEFTRACEEVENT._serialized_end=93141 - _I2CRESULTFTRACEEVENT._serialized_start=93143 - _I2CRESULTFTRACEEVENT._serialized_end=93215 - _I2CREPLYFTRACEEVENT._serialized_start=93217 - _I2CREPLYFTRACEEVENT._serialized_end=93329 - _SMBUSREADFTRACEEVENT._serialized_start=93331 - _SMBUSREADFTRACEEVENT._serialized_end=93437 - _SMBUSWRITEFTRACEEVENT._serialized_start=93439 - _SMBUSWRITEFTRACEEVENT._serialized_end=93559 - _SMBUSRESULTFTRACEEVENT._serialized_start=93562 - _SMBUSRESULTFTRACEEVENT._serialized_end=93703 - _SMBUSREPLYFTRACEEVENT._serialized_start=93705 - _SMBUSREPLYFTRACEEVENT._serialized_end=93825 - _IONSTATFTRACEEVENT._serialized_start=93827 - _IONSTATFTRACEEVENT._serialized_end=93904 - _IPIENTRYFTRACEEVENT._serialized_start=93906 - _IPIENTRYFTRACEEVENT._serialized_end=93943 - _IPIEXITFTRACEEVENT._serialized_start=93945 - _IPIEXITFTRACEEVENT._serialized_end=93981 - _IPIRAISEFTRACEEVENT._serialized_start=93983 - _IPIRAISEFTRACEEVENT._serialized_end=94041 - _SOFTIRQENTRYFTRACEEVENT._serialized_start=94043 - _SOFTIRQENTRYFTRACEEVENT._serialized_end=94081 - _SOFTIRQEXITFTRACEEVENT._serialized_start=94083 - _SOFTIRQEXITFTRACEEVENT._serialized_end=94120 - _SOFTIRQRAISEFTRACEEVENT._serialized_start=94122 - _SOFTIRQRAISEFTRACEEVENT._serialized_end=94160 - _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94162 - _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94234 - _IRQHANDLEREXITFTRACEEVENT._serialized_start=94236 - _IRQHANDLEREXITFTRACEEVENT._serialized_end=94289 - _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94291 - _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94335 - _LOCALTIMEREXITFTRACEEVENT._serialized_start=94337 - _LOCALTIMEREXITFTRACEEVENT._serialized_end=94380 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94382 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94445 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94447 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94560 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94563 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94812 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94814 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94909 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94912 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95253 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95255 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95320 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95322 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95388 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95390 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95457 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95459 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95522 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95524 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95588 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95590 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95655 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95657 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95708 - _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95710 - _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95793 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95795 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95897 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95899 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96003 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96005 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96117 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96120 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96248 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96251 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96383 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96385 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96499 - _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96501 - _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96544 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96546 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96641 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96643 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96740 - _IONPREFETCHINGFTRACEEVENT._serialized_start=96742 - _IONPREFETCHINGFTRACEEVENT._serialized_end=96782 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96784 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96875 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96877 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=96970 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=96972 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97070 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97072 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97172 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97174 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97256 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97258 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97342 - _KFREEFTRACEEVENT._serialized_start=97344 - _KFREEFTRACEEVENT._serialized_end=97394 - _KMALLOCFTRACEEVENT._serialized_start=97396 - _KMALLOCFTRACEEVENT._serialized_end=97507 - _KMALLOCNODEFTRACEEVENT._serialized_start=97510 - _KMALLOCNODEFTRACEEVENT._serialized_end=97639 - _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97641 - _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97759 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97762 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97898 - _KMEMCACHEFREEFTRACEEVENT._serialized_start=97900 - _KMEMCACHEFREEFTRACEEVENT._serialized_end=97958 - _MIGRATEPAGESENDFTRACEEVENT._serialized_start=97960 - _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98002 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98004 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98048 - _MIGRATERETRYFTRACEEVENT._serialized_start=98050 - _MIGRATERETRYFTRACEEVENT._serialized_end=98090 - _MMPAGEALLOCFTRACEEVENT._serialized_start=98092 - _MMPAGEALLOCFTRACEEVENT._serialized_end=98198 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98201 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98387 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98389 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98486 - _MMPAGEFREEFTRACEEVENT._serialized_start=98488 - _MMPAGEFREEFTRACEEVENT._serialized_end=98553 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98555 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98626 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98628 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98719 - _RSSSTATFTRACEEVENT._serialized_start=98721 - _RSSSTATFTRACEEVENT._serialized_end=98800 - _IONHEAPSHRINKFTRACEEVENT._serialized_start=98802 - _IONHEAPSHRINKFTRACEEVENT._serialized_end=98885 - _IONHEAPGROWFTRACEEVENT._serialized_start=98887 - _IONHEAPGROWFTRACEEVENT._serialized_end=98968 - _IONBUFFERCREATEFTRACEEVENT._serialized_start=98970 - _IONBUFFERCREATEFTRACEEVENT._serialized_end=99025 - _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99027 - _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99083 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99086 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99239 - _DMABUFRSSSTATFTRACEEVENT._serialized_start=99241 - _DMABUFRSSSTATFTRACEEVENT._serialized_end=99314 - _KVMACCESSFAULTFTRACEEVENT._serialized_start=99316 - _KVMACCESSFAULTFTRACEEVENT._serialized_end=99356 - _KVMACKIRQFTRACEEVENT._serialized_start=99358 - _KVMACKIRQFTRACEEVENT._serialized_end=99410 - _KVMAGEHVAFTRACEEVENT._serialized_start=99412 - _KVMAGEHVAFTRACEEVENT._serialized_end=99462 - _KVMAGEPAGEFTRACEEVENT._serialized_start=99464 - _KVMAGEPAGEFTRACEEVENT._serialized_end=99548 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99550 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99600 - _KVMARMSETDREG32FTRACEEVENT._serialized_start=99602 - _KVMARMSETDREG32FTRACEEVENT._serialized_end=99659 - _KVMARMSETREGSETFTRACEEVENT._serialized_start=99661 - _KVMARMSETREGSETFTRACEEVENT._serialized_end=99716 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99718 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99782 - _KVMENTRYFTRACEEVENT._serialized_start=99784 - _KVMENTRYFTRACEEVENT._serialized_end=99822 - _KVMEXITFTRACEEVENT._serialized_start=99824 - _KVMEXITFTRACEEVENT._serialized_end=99890 - _KVMFPUFTRACEEVENT._serialized_start=99892 - _KVMFPUFTRACEEVENT._serialized_end=99925 - _KVMGETTIMERMAPFTRACEEVENT._serialized_start=99927 - _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100038 - _KVMGUESTFAULTFTRACEEVENT._serialized_start=100040 - _KVMGUESTFAULTFTRACEEVENT._serialized_end=100124 - _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100126 - _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100167 - _KVMHVCARM64FTRACEEVENT._serialized_start=100169 - _KVMHVCARM64FTRACEEVENT._serialized_end=100235 - _KVMIRQLINEFTRACEEVENT._serialized_start=100237 - _KVMIRQLINEFTRACEEVENT._serialized_end=100324 - _KVMMMIOFTRACEEVENT._serialized_start=100326 - _KVMMMIOFTRACEEVENT._serialized_end=100399 - _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100401 - _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100474 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100476 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100540 - _KVMSETIRQFTRACEEVENT._serialized_start=100542 - _KVMSETIRQFTRACEEVENT._serialized_end=100615 - _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100617 - _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100656 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100658 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100717 - _KVMSYSACCESSFTRACEEVENT._serialized_start=100720 - _KVMSYSACCESSFTRACEEVENT._serialized_end=100859 - _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100861 - _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100900 - _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100902 - _KVMTIMEREMULATEFTRACEEVENT._serialized_end=100970 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=100972 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101025 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101027 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101106 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101108 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101184 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101186 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101261 - _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101263 - _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101333 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101335 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101392 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101394 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101439 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101441 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101510 - _KVMWFXARM64FTRACEEVENT._serialized_start=101512 - _KVMWFXARM64FTRACEEVENT._serialized_end=101569 - _TRAPREGFTRACEEVENT._serialized_start=101571 - _TRAPREGFTRACEEVENT._serialized_end=101655 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101657 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101735 - _LOWMEMORYKILLFTRACEEVENT._serialized_start=101737 - _LOWMEMORYKILLFTRACEEVENT._serialized_end=101853 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101855 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=101968 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=101970 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102059 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102061 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102178 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102180 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102303 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102305 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102426 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102428 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102550 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102552 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102677 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102679 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102802 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102804 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102896 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102898 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=102988 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=102990 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103098 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103100 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103199 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103201 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103301 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103303 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103399 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103401 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103503 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103505 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103603 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103605 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103702 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103704 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103803 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103805 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103892 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103894 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=103977 - _MALIMALIPMMCUONFTRACEEVENT._serialized_start=103979 - _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104061 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104063 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104163 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104165 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104260 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104262 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104348 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104350 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104444 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104446 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104539 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104541 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104631 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104633 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104724 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104726 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104821 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104823 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104910 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104912 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105004 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105006 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105095 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105097 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105186 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105188 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105275 - _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105277 - _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105341 - _MDPCOMMITFTRACEEVENT._serialized_start=105343 - _MDPCOMMITFTRACEEVENT._serialized_end=105433 - _MDPPERFSETOTFTRACEEVENT._serialized_start=105435 - _MDPPERFSETOTFTRACEEVENT._serialized_end=105526 - _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105529 - _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105797 - _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105799 - _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105882 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105884 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=105984 - _MDPCOMPAREBWFTRACEEVENT._serialized_start=105987 - _MDPCOMPAREBWFTRACEEVENT._serialized_end=106151 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106153 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106265 - _MDPSSPPSETFTRACEEVENT._serialized_start=106268 - _MDPSSPPSETFTRACEEVENT._serialized_end=106533 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106535 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106600 - _MDPMISRCRCFTRACEEVENT._serialized_start=106602 - _MDPMISRCRCFTRACEEVENT._serialized_end=106675 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106677 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106802 - _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106804 - _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106882 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106884 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=106929 - _MDPMIXERUPDATEFTRACEEVENT._serialized_start=106931 - _MDPMIXERUPDATEFTRACEEVENT._serialized_end=106977 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=106980 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107140 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107142 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107214 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107216 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107285 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107288 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107494 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107496 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107577 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107579 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107627 - _MMEVENTRECORDFTRACEEVENT._serialized_start=107629 - _MMEVENTRECORDFTRACEEVENT._serialized_end=107718 - _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107720 - _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107792 - _NETDEVXMITFTRACEEVENT._serialized_start=107794 - _NETDEVXMITFTRACEEVENT._serialized_end=107873 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107876 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108255 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108257 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108301 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108303 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108383 - _MARKVICTIMFTRACEEVENT._serialized_start=108385 - _MARKVICTIMFTRACEEVENT._serialized_end=108421 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108423 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108485 - _DSIRXFTRACEEVENT._serialized_start=108487 - _DSIRXFTRACEEVENT._serialized_end=108534 - _DSITXFTRACEEVENT._serialized_start=108536 - _DSITXFTRACEEVENT._serialized_end=108598 - _PANELWRITEGENERICFTRACEEVENT._serialized_start=108600 - _PANELWRITEGENERICFTRACEEVENT._serialized_end=108727 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108730 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109118 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109120 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109168 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109170 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109254 - _CPUFREQUENCYFTRACEEVENT._serialized_start=109256 - _CPUFREQUENCYFTRACEEVENT._serialized_end=109312 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109314 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109397 - _CPUIDLEFTRACEEVENT._serialized_start=109399 - _CPUIDLEFTRACEEVENT._serialized_end=109450 - _CLOCKENABLEFTRACEEVENT._serialized_start=109452 - _CLOCKENABLEFTRACEEVENT._serialized_end=109521 - _CLOCKDISABLEFTRACEEVENT._serialized_start=109523 - _CLOCKDISABLEFTRACEEVENT._serialized_end=109593 - _CLOCKSETRATEFTRACEEVENT._serialized_start=109595 - _CLOCKSETRATEFTRACEEVENT._serialized_end=109665 - _SUSPENDRESUMEFTRACEEVENT._serialized_start=109667 - _SUSPENDRESUMEFTRACEEVENT._serialized_end=109737 - _GPUFREQUENCYFTRACEEVENT._serialized_start=109739 - _GPUFREQUENCYFTRACEEVENT._serialized_end=109795 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109797 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109859 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109861 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=109925 - _GPUWORKPERIODFTRACEEVENT._serialized_start=109928 - _GPUWORKPERIODFTRACEEVENT._serialized_end=110061 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110063 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110176 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110178 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110257 - _CONSOLEFTRACEEVENT._serialized_start=110259 - _CONSOLEFTRACEEVENT._serialized_end=110292 - _SYSENTERFTRACEEVENT._serialized_start=110294 - _SYSENTERFTRACEEVENT._serialized_end=110341 - _SYSEXITFTRACEEVENT._serialized_start=110343 - _SYSEXITFTRACEEVENT._serialized_end=110388 - _REGULATORDISABLEFTRACEEVENT._serialized_start=110390 - _REGULATORDISABLEFTRACEEVENT._serialized_end=110433 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110435 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110486 - _REGULATORENABLEFTRACEEVENT._serialized_start=110488 - _REGULATORENABLEFTRACEEVENT._serialized_end=110530 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110532 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110582 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110584 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110631 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110633 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110705 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110707 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110774 - _RPMSTATUSFTRACEEVENT._serialized_start=110776 - _RPMSTATUSFTRACEEVENT._serialized_end=110828 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110830 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=110955 - _SCHEDSWITCHFTRACEEVENT._serialized_start=110958 - _SCHEDSWITCHFTRACEEVENT._serialized_end=111114 - _SCHEDWAKEUPFTRACEEVENT._serialized_start=111116 - _SCHEDWAKEUPFTRACEEVENT._serialized_end=111218 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111220 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111297 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111299 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111380 - _SCHEDWAKINGFTRACEEVENT._serialized_start=111382 - _SCHEDWAKINGFTRACEEVENT._serialized_end=111484 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111486 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111591 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111593 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111670 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111672 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111756 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111758 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111867 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111869 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=111939 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=111941 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=111997 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=111999 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112069 - _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112071 - _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112159 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112162 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112490 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112493 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112630 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112632 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112756 - _SCMCALLSTARTFTRACEEVENT._serialized_start=112758 - _SCMCALLSTARTFTRACEEVENT._serialized_end=112824 - _SCMCALLENDFTRACEEVENT._serialized_start=112826 - _SCMCALLENDFTRACEEVENT._serialized_end=112849 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112851 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=112972 - _SDESDEEVTLOGFTRACEEVENT._serialized_start=112974 - _SDESDEEVTLOGFTRACEEVENT._serialized_end=113048 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113051 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113231 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113234 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113517 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113519 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113635 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113637 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113737 - _SIGNALDELIVERFTRACEEVENT._serialized_start=113739 - _SIGNALDELIVERFTRACEEVENT._serialized_end=113810 - _SIGNALGENERATEFTRACEEVENT._serialized_start=113812 - _SIGNALGENERATEFTRACEEVENT._serialized_end=113924 - _KFREESKBFTRACEEVENT._serialized_start=113926 - _KFREESKBFTRACEEVENT._serialized_end=114000 - _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114003 - _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114178 - _SYNCPTFTRACEEVENT._serialized_start=114180 - _SYNCPTFTRACEEVENT._serialized_end=114232 - _SYNCTIMELINEFTRACEEVENT._serialized_start=114234 - _SYNCTIMELINEFTRACEEVENT._serialized_end=114288 - _SYNCWAITFTRACEEVENT._serialized_start=114290 - _SYNCWAITFTRACEEVENT._serialized_end=114356 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114358 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114446 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114448 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114496 - _ZEROFTRACEEVENT._serialized_start=114498 - _ZEROFTRACEEVENT._serialized_end=114571 - _TASKNEWTASKFTRACEEVENT._serialized_start=114573 - _TASKNEWTASKFTRACEEVENT._serialized_end=114668 - _TASKRENAMEFTRACEEVENT._serialized_start=114670 - _TASKRENAMEFTRACEEVENT._serialized_end=114763 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114766 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114903 - _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114905 - _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115003 - _CDEVUPDATEFTRACEEVENT._serialized_start=115005 - _CDEVUPDATEFTRACEEVENT._serialized_end=115058 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115061 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115289 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115292 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115454 - _HRTIMERSTARTFTRACEEVENT._serialized_start=115456 - _HRTIMERSTARTFTRACEEVENT._serialized_end=115568 - _HRTIMERCANCELFTRACEEVENT._serialized_start=115570 - _HRTIMERCANCELFTRACEEVENT._serialized_end=115613 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115615 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115694 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115696 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115743 - _TIMERSTARTFTRACEEVENT._serialized_start=115746 - _TIMERSTARTFTRACEEVENT._serialized_end=115890 - _TIMERCANCELFTRACEEVENT._serialized_start=115892 - _TIMERCANCELFTRACEEVENT._serialized_end=115931 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=115933 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116025 - _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116027 - _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116070 - _TRUSTYSMCFTRACEEVENT._serialized_start=116072 - _TRUSTYSMCFTRACEEVENT._serialized_end=116142 - _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116144 - _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116183 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116185 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116261 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116263 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116308 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116310 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116382 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116384 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116489 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116491 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116535 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116537 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116598 - _TRUSTYIRQFTRACEEVENT._serialized_start=116600 - _TRUSTYIRQFTRACEEVENT._serialized_end=116635 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116637 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116720 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116722 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116794 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116796 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116870 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116873 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117003 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117005 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117082 - _TRUSTYIPCREADFTRACEEVENT._serialized_start=117084 - _TRUSTYIPCREADFTRACEEVENT._serialized_end=117142 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117144 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117258 - _TRUSTYIPCRXFTRACEEVENT._serialized_start=117260 - _TRUSTYIPCRXFTRACEEVENT._serialized_end=117332 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117334 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117405 - _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117408 - _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117594 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117596 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117657 - _V4L2QBUFFTRACEEVENT._serialized_start=117660 - _V4L2QBUFFTRACEEVENT._serialized_end=118071 - _V4L2DQBUFFTRACEEVENT._serialized_start=118074 - _V4L2DQBUFFTRACEEVENT._serialized_end=118486 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118489 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118859 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118862 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119231 - _VB2V4L2QBUFFTRACEEVENT._serialized_start=119234 - _VB2V4L2QBUFFTRACEEVENT._serialized_end=119600 - _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119603 - _VB2V4L2DQBUFFTRACEEVENT._serialized_end=119970 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=119973 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120138 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120141 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120309 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120311 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120371 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120373 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120437 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120440 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120636 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120639 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120839 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120841 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=120937 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=120939 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=120998 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121000 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121072 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121074 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121119 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121122 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121355 - _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121358 - _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121503 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121505 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121553 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121555 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121619 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121621 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121687 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121689 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121801 - _FTRACEEVENT._serialized_start=121805 - _FTRACEEVENT._serialized_end=166708 - _FTRACECPUSTATS._serialized_start=166711 - _FTRACECPUSTATS._serialized_end=166904 - _FTRACEKPROBESTATS._serialized_start=166906 - _FTRACEKPROBESTATS._serialized_end=166955 - _FTRACESTATS._serialized_start=166958 - _FTRACESTATS._serialized_end=167541 - _FTRACESTATS_PHASE._serialized_start=167479 - _FTRACESTATS_PHASE._serialized_end=167541 - _FTRACEEVENTBUNDLE._serialized_start=167544 - _FTRACEEVENTBUNDLE._serialized_end=168604 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168082 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168448 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168450 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168534 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168536 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168604 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168606 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168668 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168671 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169089 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168832 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169089 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169091 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169148 - _GENERICKERNELPROCESSTREE._serialized_start=169151 - _GENERICKERNELPROCESSTREE._serialized_end=169443 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169316 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169388 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169390 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169443 - _GPUCOUNTEREVENT._serialized_start=169446 - _GPUCOUNTEREVENT._serialized_end=169697 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169611 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169697 - _GPULOG._serialized_start=169700 - _GPULOG._serialized_end=169960 - _GPULOG_SEVERITY._serialized_start=169797 - _GPULOG_SEVERITY._serialized_end=169960 - _GPURENDERSTAGEEVENT._serialized_start=169963 - _GPURENDERSTAGEEVENT._serialized_end=170882 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170472 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170512 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170515 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170876 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170783 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170826 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170828 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170876 - _INTERNEDGRAPHICSCONTEXT._serialized_start=170885 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171055 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=170997 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171055 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171058 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171296 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171237 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171296 - _VULKANAPIEVENT._serialized_start=171299 - _VULKANAPIEVENT._serialized_end=171742 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171485 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171599 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171602 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171733 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171744 - _VULKANMEMORYEVENTANNOTATION._serialized_end=171866 - _VULKANMEMORYEVENT._serialized_start=171869 - _VULKANMEMORYEVENT._serialized_end=172741 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172354 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172487 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172489 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172606 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172609 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172741 - _INTERNEDSTRING._serialized_start=172743 - _INTERNEDSTRING._serialized_end=172785 - _LINE._serialized_start=172787 - _LINE._serialized_end=172863 - _ADDRESSSYMBOLS._serialized_start=172865 - _ADDRESSSYMBOLS._serialized_end=172936 - _MODULESYMBOLS._serialized_start=172938 - _MODULESYMBOLS._serialized_end=173043 - _MAPPING._serialized_start=173046 - _MAPPING._serialized_end=173202 - _FRAME._serialized_start=173204 - _FRAME._serialized_end=173286 - _CALLSTACK._serialized_start=173288 - _CALLSTACK._serialized_end=173331 - _HISTOGRAMNAME._serialized_start=173333 - _HISTOGRAMNAME._serialized_end=173375 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173377 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173467 - _DEBUGANNOTATION._serialized_start=173470 - _DEBUGANNOTATION._serialized_end=174410 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=173982 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174362 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174312 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174362 - _DEBUGANNOTATIONNAME._serialized_start=174412 - _DEBUGANNOTATIONNAME._serialized_end=174460 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174462 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174519 - _LOGMESSAGE._serialized_start=174522 - _LOGMESSAGE._serialized_end=174781 - _LOGMESSAGE_PRIORITY._serialized_start=174636 - _LOGMESSAGE_PRIORITY._serialized_end=174781 - _LOGMESSAGEBODY._serialized_start=174783 - _LOGMESSAGEBODY._serialized_end=174826 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174828 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174905 - _SOURCELOCATION._serialized_start=174907 - _SOURCELOCATION._serialized_end=174999 - _CHROMEACTIVEPROCESSES._serialized_start=175001 - _CHROMEACTIVEPROCESSES._serialized_end=175037 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175040 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175406 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175166 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175406 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175409 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176496 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176300 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176490 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176499 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180209 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176690 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=177989 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177229 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177390 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177393 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177540 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177543 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177787 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177790 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=177989 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=177992 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180209 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179886 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180070 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180073 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180203 - _BEGINFRAMEARGS._serialized_start=180212 - _BEGINFRAMEARGS._serialized_end=180766 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180588 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180750 - _BEGINIMPLFRAMEARGS._serialized_start=180769 - _BEGINIMPLFRAMEARGS._serialized_end=181345 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181086 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181279 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181281 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181337 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181347 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181470 - _BEGINFRAMESOURCESTATE._serialized_start=181473 - _BEGINFRAMESOURCESTATE._serialized_end=181618 - _COMPOSITORTIMINGHISTORY._serialized_start=181621 - _COMPOSITORTIMINGHISTORY._serialized_end=182001 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182003 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182065 - _CHROMEFRAMEREPORTER._serialized_start=182068 - _CHROMEFRAMEREPORTER._serialized_end=183188 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182783 - _CHROMEFRAMEREPORTER_STATE._serialized_end=182892 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182894 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183020 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183022 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183145 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183147 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183184 - _CHROMEKEYEDSERVICE._serialized_start=183190 - _CHROMEKEYEDSERVICE._serialized_end=183224 - _CHROMELATENCYINFO._serialized_start=183227 - _CHROMELATENCYINFO._serialized_end=185009 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183556 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183669 - _CHROMELATENCYINFO_STEP._serialized_start=183672 - _CHROMELATENCYINFO_STEP._serialized_end=184074 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184077 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184834 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184837 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185009 - _CHROMELEGACYIPC._serialized_start=185012 - _CHROMELEGACYIPC._serialized_end=185986 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185124 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=185986 - _CHROMEMESSAGEPUMP._serialized_start=185988 - _CHROMEMESSAGEPUMP._serialized_end=186072 - _CHROMEMOJOEVENTINFO._serialized_start=186075 - _CHROMEMOJOEVENTINFO._serialized_end=186279 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186281 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186407 - _CHROMEUSEREVENT._serialized_start=186409 - _CHROMEUSEREVENT._serialized_end=186463 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186465 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186545 - _SCREENSHOT._serialized_start=186547 - _SCREENSHOT._serialized_end=186578 - _TASKEXECUTION._serialized_start=186580 - _TASKEXECUTION._serialized_end=186620 - _TRACKEVENT._serialized_start=186623 - _TRACKEVENT._serialized_end=189790 - _TRACKEVENT_LEGACYEVENT._serialized_start=188812 - _TRACKEVENT_LEGACYEVENT._serialized_end=189494 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189303 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189383 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189385 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189482 - _TRACKEVENT_TYPE._serialized_start=189496 - _TRACKEVENT_TYPE._serialized_end=189602 - _TRACKEVENTDEFAULTS._serialized_start=189792 - _TRACKEVENTDEFAULTS._serialized_end=189909 - _EVENTCATEGORY._serialized_start=189911 - _EVENTCATEGORY._serialized_end=189953 - _EVENTNAME._serialized_start=189955 - _EVENTNAME._serialized_end=189993 - _INTERNEDDATA._serialized_start=189996 - _INTERNEDDATA._serialized_end=192111 - _MEMORYTRACKERSNAPSHOT._serialized_start=192114 - _MEMORYTRACKERSNAPSHOT._serialized_end=193122 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192329 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193047 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192543 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=192954 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192727 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=192954 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192908 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=192954 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=192956 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193047 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193049 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193122 - _PERFETTOMETATRACE._serialized_start=193125 - _PERFETTOMETATRACE._serialized_end=193670 - _PERFETTOMETATRACE_ARG._serialized_start=193482 - _PERFETTOMETATRACE_ARG._serialized_end=193609 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193611 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193655 - _TRACINGSERVICEEVENT._serialized_start=193673 - _TRACINGSERVICEEVENT._serialized_end=194323 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194151 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194309 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194248 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194309 - _ANDROIDENERGYCONSUMER._serialized_start=194325 - _ANDROIDENERGYCONSUMER._serialized_end=194421 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194423 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194522 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194525 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194845 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194792 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194845 - _ENTITYSTATERESIDENCY._serialized_start=194848 - _ENTITYSTATERESIDENCY._serialized_end=195291 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195029 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195131 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195134 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195291 - _BATTERYCOUNTERS._serialized_start=195294 - _BATTERYCOUNTERS._serialized_end=195471 - _POWERRAILS._serialized_start=195474 - _POWERRAILS._serialized_end=195801 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195640 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195734 - _POWERRAILS_ENERGYDATA._serialized_start=195736 - _POWERRAILS_ENERGYDATA._serialized_end=195801 - _OBFUSCATEDMEMBER._serialized_start=195803 - _OBFUSCATEDMEMBER._serialized_end=195873 - _OBFUSCATEDCLASS._serialized_start=195876 - _OBFUSCATEDCLASS._serialized_end=196071 - _DEOBFUSCATIONMAPPING._serialized_start=196074 - _DEOBFUSCATIONMAPPING._serialized_end=196202 - _HEAPGRAPHROOT._serialized_start=196205 - _HEAPGRAPHROOT._serialized_end=196643 - _HEAPGRAPHROOT_TYPE._serialized_start=196303 - _HEAPGRAPHROOT_TYPE._serialized_end=196643 - _HEAPGRAPHTYPE._serialized_start=196646 - _HEAPGRAPHTYPE._serialized_end=197130 - _HEAPGRAPHTYPE_KIND._serialized_start=196868 - _HEAPGRAPHTYPE_KIND._serialized_end=197130 - _HEAPGRAPHOBJECT._serialized_start=197133 - _HEAPGRAPHOBJECT._serialized_end=197589 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197475 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197575 - _HEAPGRAPH._serialized_start=197592 - _HEAPGRAPH._serialized_end=197912 - _PROFILEPACKET._serialized_start=197915 - _PROFILEPACKET._serialized_end=199383 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198223 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198409 - _PROFILEPACKET_HISTOGRAM._serialized_start=198412 - _PROFILEPACKET_HISTOGRAM._serialized_end=198555 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198491 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198555 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198558 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198780 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198783 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199383 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199278 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199383 - _STREAMINGALLOCATION._serialized_start=199386 - _STREAMINGALLOCATION._serialized_end=199543 - _STREAMINGFREE._serialized_start=199545 - _STREAMINGFREE._serialized_end=199619 - _STREAMINGPROFILEPACKET._serialized_start=199621 - _STREAMINGPROFILEPACKET._serialized_end=199722 - _PROFILING._serialized_start=199725 - _PROFILING._serialized_end=200381 - _PROFILING_CPUMODE._serialized_start=199738 - _PROFILING_CPUMODE._serialized_end=199862 - _PROFILING_STACKUNWINDERROR._serialized_start=199865 - _PROFILING_STACKUNWINDERROR._serialized_end=200381 - _PERFSAMPLE._serialized_start=200384 - _PERFSAMPLE._serialized_end=201263 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200808 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201028 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200919 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=200997 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201031 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201204 - _PERFSAMPLEDEFAULTS._serialized_start=201266 - _PERFSAMPLEDEFAULTS._serialized_end=201452 - _SMAPSENTRY._serialized_start=201455 - _SMAPSENTRY._serialized_end=201842 - _SMAPSPACKET._serialized_start=201844 - _SMAPSPACKET._serialized_end=201916 - _PROCESSSTATS._serialized_start=201919 - _PROCESSSTATS._serialized_end=202746 - _PROCESSSTATS_THREAD._serialized_start=202027 - _PROCESSSTATS_THREAD._serialized_end=202066 - _PROCESSSTATS_FDINFO._serialized_start=202068 - _PROCESSSTATS_FDINFO._serialized_end=202102 - _PROCESSSTATS_PROCESS._serialized_start=202105 - _PROCESSSTATS_PROCESS._serialized_end=202746 - _PROCESSTREE._serialized_start=202749 - _PROCESSTREE._serialized_end=203141 - _PROCESSTREE_THREAD._serialized_start=202909 - _PROCESSTREE_THREAD._serialized_end=202973 - _PROCESSTREE_PROCESS._serialized_start=202976 - _PROCESSTREE_PROCESS._serialized_end=203141 - _REMOTECLOCKSYNC._serialized_start=203144 - _REMOTECLOCKSYNC._serialized_end=203355 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203233 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203355 - _ATOM._serialized_start=203357 - _ATOM._serialized_end=203363 - _STATSDATOM._serialized_start=203365 - _STATSDATOM._serialized_end=203439 - _SYSSTATS._serialized_start=203442 - _SYSSTATS._serialized_end=205466 - _SYSSTATS_MEMINFOVALUE._serialized_start=204230 - _SYSSTATS_MEMINFOVALUE._serialized_end=204306 - _SYSSTATS_VMSTATVALUE._serialized_start=204308 - _SYSSTATS_VMSTATVALUE._serialized_end=204382 - _SYSSTATS_CPUTIMES._serialized_start=204385 - _SYSSTATS_CPUTIMES._serialized_end=204565 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204567 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204611 - _SYSSTATS_DEVFREQVALUE._serialized_start=204613 - _SYSSTATS_DEVFREQVALUE._serialized_end=204655 - _SYSSTATS_BUDDYINFO._serialized_start=204657 - _SYSSTATS_BUDDYINFO._serialized_end=204717 - _SYSSTATS_DISKSTAT._serialized_start=204720 - _SYSSTATS_DISKSTAT._serialized_end=204935 - _SYSSTATS_PSISAMPLE._serialized_start=204938 - _SYSSTATS_PSISAMPLE._serialized_end=205246 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205037 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205246 - _SYSSTATS_THERMALZONE._serialized_start=205248 - _SYSSTATS_THERMALZONE._serialized_end=205303 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205305 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205360 - _SYSSTATS_CPUIDLESTATE._serialized_start=205362 - _SYSSTATS_CPUIDLESTATE._serialized_end=205466 - _CPUINFO._serialized_start=205469 - _CPUINFO._serialized_end=205801 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205524 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205634 - _CPUINFO_CPU._serialized_start=205637 - _CPUINFO_CPU._serialized_end=205801 - _TESTEVENT._serialized_start=205804 - _TESTEVENT._serialized_end=206183 - _TESTEVENT_TESTPAYLOAD._serialized_start=205941 - _TESTEVENT_TESTPAYLOAD._serialized_end=206183 - _TRACEPACKETDEFAULTS._serialized_start=206186 - _TRACEPACKETDEFAULTS._serialized_end=206428 - _TRACEUUID._serialized_start=206430 - _TRACEUUID._serialized_end=206467 - _PROCESSDESCRIPTOR._serialized_start=206470 - _PROCESSDESCRIPTOR._serialized_end=206957 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206732 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=206957 - _TRACKEVENTRANGEOFINTEREST._serialized_start=206959 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207004 - _THREADDESCRIPTOR._serialized_start=207007 - _THREADDESCRIPTOR._serialized_end=207763 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207292 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207763 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207766 - _CHROMEPROCESSDESCRIPTOR._serialized_end=207921 - _CHROMETHREADDESCRIPTOR._serialized_start=207923 - _CHROMETHREADDESCRIPTOR._serialized_end=208021 - _COUNTERDESCRIPTOR._serialized_start=208024 - _COUNTERDESCRIPTOR._serialized_end=208479 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208283 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208394 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208396 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208479 - _TRACKDESCRIPTOR._serialized_start=208482 - _TRACKDESCRIPTOR._serialized_end=209534 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209206 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209292 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209295 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209481 - _TRANSLATIONTABLE._serialized_start=209537 - _TRANSLATIONTABLE._serialized_end=210030 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210033 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210207 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210158 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210207 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210210 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210401 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210346 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210401 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210404 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210759 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210651 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210704 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210706 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210759 - _SLICENAMETRANSLATIONTABLE._serialized_start=210762 - _SLICENAMETRANSLATIONTABLE._serialized_end=210956 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210896 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210956 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=210959 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211167 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210896 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210956 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211170 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211334 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210158 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210207 - _TRIGGER._serialized_start=211336 - _TRIGGER._serialized_end=211443 - _UISTATE._serialized_start=211446 - _UISTATE._serialized_end=211643 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211579 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211643 - _TRACEPACKET._serialized_start=211646 - _TRACEPACKET._serialized_end=217830 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217643 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217747 - _TRACE._serialized_start=217832 - _TRACE._serialized_end=217885 + _GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP._serialized_start=1002 + _GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP._serialized_end=1136 + _GPUCOUNTERDESCRIPTOR_MEASUREUNIT._serialized_start=1139 + _GPUCOUNTERDESCRIPTOR_MEASUREUNIT._serialized_end=1695 + _TRACKEVENTCATEGORY._serialized_start=1697 + _TRACKEVENTCATEGORY._serialized_end=1766 + _TRACKEVENTDESCRIPTOR._serialized_start=1768 + _TRACKEVENTDESCRIPTOR._serialized_end=1857 + _DATASOURCEDESCRIPTOR._serialized_start=1860 + _DATASOURCEDESCRIPTOR._serialized_end=2242 + _TRACINGSERVICESTATE._serialized_start=2245 + _TRACINGSERVICESTATE._serialized_end=3068 + _TRACINGSERVICESTATE_PRODUCER._serialized_start=2604 + _TRACINGSERVICESTATE_PRODUCER._serialized_end=2703 + _TRACINGSERVICESTATE_DATASOURCE._serialized_start=2705 + _TRACINGSERVICESTATE_DATASOURCE._serialized_end=2800 + _TRACINGSERVICESTATE_TRACINGSESSION._serialized_start=2803 + _TRACINGSERVICESTATE_TRACINGSESSION._serialized_end=3068 + _ANDROIDGAMEINTERVENTIONLISTCONFIG._serialized_start=3070 + _ANDROIDGAMEINTERVENTIONLISTCONFIG._serialized_end=3134 + _ANDROIDINPUTEVENTCONFIG._serialized_start=3137 + _ANDROIDINPUTEVENTCONFIG._serialized_end=3732 + _ANDROIDINPUTEVENTCONFIG_TRACERULE._serialized_start=3379 + _ANDROIDINPUTEVENTCONFIG_TRACERULE._serialized_end=3579 + _ANDROIDINPUTEVENTCONFIG_TRACEMODE._serialized_start=3581 + _ANDROIDINPUTEVENTCONFIG_TRACEMODE._serialized_end=3644 + _ANDROIDINPUTEVENTCONFIG_TRACELEVEL._serialized_start=3646 + _ANDROIDINPUTEVENTCONFIG_TRACELEVEL._serialized_end=3732 + _ANDROIDLOGCONFIG._serialized_start=3735 + _ANDROIDLOGCONFIG._serialized_end=3883 + _ANDROIDPOLLEDSTATECONFIG._serialized_start=3885 + _ANDROIDPOLLEDSTATECONFIG._serialized_end=3928 + _ANDROIDSDKSYSPROPGUARDCONFIG._serialized_start=3931 + _ANDROIDSDKSYSPROPGUARDCONFIG._serialized_end=4069 + _ANDROIDSYSTEMPROPERTYCONFIG._serialized_start=4071 + _ANDROIDSYSTEMPROPERTYCONFIG._serialized_end=4140 + _APPWAKELOCKSCONFIG._serialized_start=4142 + _APPWAKELOCKSCONFIG._serialized_end=4244 + _CPUPERUIDCONFIG._serialized_start=4246 + _CPUPERUIDCONFIG._serialized_end=4280 + _KERNELWAKELOCKSCONFIG._serialized_start=4282 + _KERNELWAKELOCKSCONFIG._serialized_end=4322 + _NETWORKPACKETTRACECONFIG._serialized_start=4325 + _NETWORKPACKETTRACECONFIG._serialized_end=4496 + _PACKAGESLISTCONFIG._serialized_start=4498 + _PACKAGESLISTCONFIG._serialized_end=4587 + _PIXELMODEMCONFIG._serialized_start=4590 + _PIXELMODEMCONFIG._serialized_end=4850 + _PIXELMODEMCONFIG_EVENTGROUP._serialized_start=4742 + _PIXELMODEMCONFIG_EVENTGROUP._serialized_end=4850 + _PROTOLOGCONFIG._serialized_start=4853 + _PROTOLOGCONFIG._serialized_end=5101 + _PROTOLOGCONFIG_TRACINGMODE._serialized_start=5059 + _PROTOLOGCONFIG_TRACINGMODE._serialized_end=5101 + _PROTOLOGGROUP._serialized_start=5103 + _PROTOLOGGROUP._serialized_end=5216 + _SURFACEFLINGERLAYERSCONFIG._serialized_start=5219 + _SURFACEFLINGERLAYERSCONFIG._serialized_end=5715 + _SURFACEFLINGERLAYERSCONFIG_MODE._serialized_start=5389 + _SURFACEFLINGERLAYERSCONFIG_MODE._serialized_end=5504 + _SURFACEFLINGERLAYERSCONFIG_TRACEFLAG._serialized_start=5507 + _SURFACEFLINGERLAYERSCONFIG_TRACEFLAG._serialized_end=5715 + _SURFACEFLINGERTRANSACTIONSCONFIG._serialized_start=5718 + _SURFACEFLINGERTRANSACTIONSCONFIG._serialized_end=5890 + _SURFACEFLINGERTRANSACTIONSCONFIG_MODE._serialized_start=5824 + _SURFACEFLINGERTRANSACTIONSCONFIG_MODE._serialized_end=5890 + _WINDOWMANAGERCONFIG._serialized_start=5893 + _WINDOWMANAGERCONFIG._serialized_end=6296 + _WINDOWMANAGERCONFIG_LOGFREQUENCY._serialized_start=6057 + _WINDOWMANAGERCONFIG_LOGFREQUENCY._serialized_end=6189 + _WINDOWMANAGERCONFIG_LOGLEVEL._serialized_start=6191 + _WINDOWMANAGERCONFIG_LOGLEVEL._serialized_end=6296 + _CHROMECONFIG._serialized_start=6299 + _CHROMECONFIG._serialized_end=6616 + _CHROMECONFIG_CLIENTPRIORITY._serialized_start=6551 + _CHROMECONFIG_CLIENTPRIORITY._serialized_end=6616 + _CHROMIUMHISTOGRAMSAMPLESCONFIG._serialized_start=6619 + _CHROMIUMHISTOGRAMSAMPLESCONFIG._serialized_end=6849 + _CHROMIUMHISTOGRAMSAMPLESCONFIG_HISTOGRAMSAMPLE._serialized_start=6770 + _CHROMIUMHISTOGRAMSAMPLESCONFIG_HISTOGRAMSAMPLE._serialized_end=6849 + _CHROMIUMSYSTEMMETRICSCONFIG._serialized_start=6851 + _CHROMIUMSYSTEMMETRICSCONFIG._serialized_end=6910 + _V8CONFIG._serialized_start=6912 + _V8CONFIG._serialized_end=6976 + _ETWCONFIG._serialized_start=6979 + _ETWCONFIG._serialized_end=7191 + _ETWCONFIG_KERNELFLAG._serialized_start=7150 + _ETWCONFIG_KERNELFLAG._serialized_end=7191 + _FROZENFTRACECONFIG._serialized_start=7193 + _FROZENFTRACECONFIG._serialized_end=7236 + _FTRACECONFIG._serialized_start=7239 + _FTRACECONFIG._serialized_end=9105 + _FTRACECONFIG_COMPACTSCHEDCONFIG._serialized_start=8339 + _FTRACECONFIG_COMPACTSCHEDCONFIG._serialized_end=8376 + _FTRACECONFIG_PRINTFILTER._serialized_start=8379 + _FTRACECONFIG_PRINTFILTER._serialized_end=8637 + _FTRACECONFIG_PRINTFILTER_RULE._serialized_start=8458 + _FTRACECONFIG_PRINTFILTER_RULE._serialized_end=8637 + _FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE._serialized_start=8583 + _FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE._serialized_end=8628 + _FTRACECONFIG_KPROBEEVENT._serialized_start=8640 + _FTRACECONFIG_KPROBEEVENT._serialized_end=8848 + _FTRACECONFIG_KPROBEEVENT_KPROBETYPE._serialized_start=8738 + _FTRACECONFIG_KPROBEEVENT_KPROBETYPE._serialized_end=8848 + _FTRACECONFIG_TRACEFSOPTION._serialized_start=8851 + _FTRACECONFIG_TRACEFSOPTION._serialized_end=9013 + _FTRACECONFIG_TRACEFSOPTION_STATE._serialized_start=8948 + _FTRACECONFIG_TRACEFSOPTION_STATE._serialized_end=9013 + _FTRACECONFIG_KSYMSMEMPOLICY._serialized_start=9015 + _FTRACECONFIG_KSYMSMEMPOLICY._serialized_end=9099 + _GPUCOUNTERCONFIG._serialized_start=9107 + _GPUCOUNTERCONFIG._serialized_end=9227 + _GPURENDERSTAGESCONFIG._serialized_start=9229 + _GPURENDERSTAGESCONFIG._serialized_end=9321 + _VULKANMEMORYCONFIG._serialized_start=9323 + _VULKANMEMORYCONFIG._serialized_end=9413 + _INODEFILECONFIG._serialized_start=9416 + _INODEFILECONFIG._serialized_end=9707 + _INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY._serialized_start=9643 + _INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY._serialized_end=9707 + _CONSOLECONFIG._serialized_start=9710 + _CONSOLECONFIG._serialized_end=9875 + _CONSOLECONFIG_OUTPUT._serialized_start=9805 + _CONSOLECONFIG_OUTPUT._serialized_end=9875 + _INTERCEPTORCONFIG._serialized_start=9877 + _INTERCEPTORCONFIG._serialized_end=9966 + _ANDROIDPOWERCONFIG._serialized_start=9969 + _ANDROIDPOWERCONFIG._serialized_end=10417 + _ANDROIDPOWERCONFIG_BATTERYCOUNTERS._serialized_start=10210 + _ANDROIDPOWERCONFIG_BATTERYCOUNTERS._serialized_end=10417 + _PRIORITYBOOSTCONFIG._serialized_start=10420 + _PRIORITYBOOSTCONFIG._serialized_end=10611 + _PRIORITYBOOSTCONFIG_BOOSTPOLICY._serialized_start=10527 + _PRIORITYBOOSTCONFIG_BOOSTPOLICY._serialized_end=10611 + _PROCESSSTATSCONFIG._serialized_start=10614 + _PROCESSSTATSCONFIG._serialized_end=11071 + _PROCESSSTATSCONFIG_QUIRKS._serialized_start=10974 + _PROCESSSTATSCONFIG_QUIRKS._serialized_end=11059 + _HEAPPROFDCONFIG._serialized_start=11074 + _HEAPPROFDCONFIG._serialized_end=11918 + _HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG._serialized_start=11841 + _HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG._serialized_end=11912 + _JAVAHPROFCONFIG._serialized_start=11921 + _JAVAHPROFCONFIG._serialized_end=12274 + _JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG._serialized_start=12170 + _JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG._serialized_end=12274 + _PERFEVENTS._serialized_start=12277 + _PERFEVENTS._serialized_end=13612 + _PERFEVENTS_TIMEBASE._serialized_start=12292 + _PERFEVENTS_TIMEBASE._serialized_end=12705 + _PERFEVENTS_TRACEPOINT._serialized_start=12707 + _PERFEVENTS_TRACEPOINT._serialized_end=12749 + _PERFEVENTS_RAWEVENT._serialized_start=12751 + _PERFEVENTS_RAWEVENT._serialized_end=12825 + _PERFEVENTS_COUNTER._serialized_start=12828 + _PERFEVENTS_COUNTER._serialized_end=13316 + _PERFEVENTS_PERFCLOCK._serialized_start=13319 + _PERFEVENTS_PERFCLOCK._serialized_end=13460 + _PERFEVENTS_EVENTMODIFIER._serialized_start=13463 + _PERFEVENTS_EVENTMODIFIER._serialized_end=13612 + _FOLLOWEREVENT._serialized_start=13615 + _FOLLOWEREVENT._serialized_end=13892 + _PERFEVENTCONFIG._serialized_start=13895 + _PERFEVENTCONFIG._serialized_end=14975 + _PERFEVENTCONFIG_CALLSTACKSAMPLING._serialized_start=14548 + _PERFEVENTCONFIG_CALLSTACKSAMPLING._serialized_end=14711 + _PERFEVENTCONFIG_SCOPE._serialized_start=14714 + _PERFEVENTCONFIG_SCOPE._serialized_end=14874 + _PERFEVENTCONFIG_UNWINDMODE._serialized_start=14876 + _PERFEVENTCONFIG_UNWINDMODE._serialized_end=14969 + _STATSDTRACINGCONFIG._serialized_start=14978 + _STATSDTRACINGCONFIG._serialized_end=15132 + _STATSDPULLATOMCONFIG._serialized_start=15135 + _STATSDPULLATOMCONFIG._serialized_end=15275 + _SYSSTATSCONFIG._serialized_start=15278 + _SYSSTATSCONFIG._serialized_end=15898 + _SYSSTATSCONFIG_STATCOUNTERS._serialized_start=15775 + _SYSSTATSCONFIG_STATCOUNTERS._serialized_end=15898 + _SYSTEMINFOCONFIG._serialized_start=15900 + _SYSTEMINFOCONFIG._serialized_end=15918 + _TESTCONFIG._serialized_start=15921 + _TESTCONFIG._serialized_end=16446 + _TESTCONFIG_DUMMYFIELDS._serialized_start=16123 + _TESTCONFIG_DUMMYFIELDS._serialized_end=16446 + _TRACKEVENTCONFIG._serialized_start=16449 + _TRACKEVENTCONFIG._serialized_end=16787 + _DATASOURCECONFIG._serialized_start=16790 + _DATASOURCECONFIG._serialized_end=20265 + _DATASOURCECONFIG_SESSIONINITIATOR._serialized_start=19997 + _DATASOURCECONFIG_SESSIONINITIATOR._serialized_end=20088 + _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_start=20091 + _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_end=20252 + _TRACECONFIG._serialized_start=20268 + _TRACECONFIG._serialized_end=24972 + _TRACECONFIG_BUFFERCONFIG._serialized_start=22077 + _TRACECONFIG_BUFFERCONFIG._serialized_end=22311 + _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_start=22240 + _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_end=22299 + _TRACECONFIG_DATASOURCE._serialized_start=22314 + _TRACECONFIG_DATASOURCE._serialized_end=22472 + _TRACECONFIG_BUILTINDATASOURCE._serialized_start=22475 + _TRACECONFIG_BUILTINDATASOURCE._serialized_end=22794 + _TRACECONFIG_PRODUCERCONFIG._serialized_start=22796 + _TRACECONFIG_PRODUCERCONFIG._serialized_end=22878 + _TRACECONFIG_STATSDMETADATA._serialized_start=22881 + _TRACECONFIG_STATSDMETADATA._serialized_end=23023 + _TRACECONFIG_GUARDRAILOVERRIDES._serialized_start=23025 + _TRACECONFIG_GUARDRAILOVERRIDES._serialized_end=23119 + _TRACECONFIG_TRIGGERCONFIG._serialized_start=23122 + _TRACECONFIG_TRIGGERCONFIG._serialized_end=23580 + _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_start=23356 + _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_end=23479 + _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_start=23481 + _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_end=23574 + _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_start=23582 + _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_end=23631 + _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_start=23634 + _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_end=23785 + _TRACECONFIG_TRACEFILTER._serialized_start=23788 + _TRACECONFIG_TRACEFILTER._serialized_end=24385 + _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_start=23932 + _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_end=24086 + _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_start=24088 + _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_end=24181 + _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_start=24184 + _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_end=24385 + _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_start=24388 + _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_end=24539 + _TRACECONFIG_CMDTRACESTARTDELAY._serialized_start=24541 + _TRACECONFIG_CMDTRACESTARTDELAY._serialized_end=24605 + _TRACECONFIG_SESSIONSEMAPHORE._serialized_start=24607 + _TRACECONFIG_SESSIONSEMAPHORE._serialized_end=24672 + _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_start=24674 + _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_end=24759 + _TRACECONFIG_COMPRESSIONTYPE._serialized_start=24761 + _TRACECONFIG_COMPRESSIONTYPE._serialized_end=24842 + _TRACECONFIG_STATSDLOGGING._serialized_start=24844 + _TRACECONFIG_STATSDLOGGING._serialized_end=24948 + _UTSNAME._serialized_start=24974 + _UTSNAME._serialized_end=25051 + _SYSTEMINFO._serialized_start=25054 + _SYSTEMINFO._serialized_end=25504 + _TRACESTATS._serialized_start=25507 + _TRACESTATS._serialized_end=27060 + _TRACESTATS_BUFFERSTATS._serialized_start=26142 + _TRACESTATS_BUFFERSTATS._serialized_end=26664 + _TRACESTATS_WRITERSTATS._serialized_start=26667 + _TRACESTATS_WRITERSTATS._serialized_end=26802 + _TRACESTATS_FILTERSTATS._serialized_start=26805 + _TRACESTATS_FILTERSTATS._serialized_end=26959 + _TRACESTATS_FINALFLUSHOUTCOME._serialized_start=26961 + _TRACESTATS_FINALFLUSHOUTCOME._serialized_end=27060 + _ANDROIDGAMEINTERVENTIONLIST._serialized_start=27063 + _ANDROIDGAMEINTERVENTIONLIST._serialized_end=27462 + _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_start=27220 + _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_end=27310 + _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_start=27313 + _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_end=27462 + _ANDROIDLOGPACKET._serialized_start=27465 + _ANDROIDLOGPACKET._serialized_end=28027 + _ANDROIDLOGPACKET_LOGEVENT._serialized_start=27602 + _ANDROIDLOGPACKET_LOGEVENT._serialized_end=27958 + _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_start=27862 + _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_end=27958 + _ANDROIDLOGPACKET_STATS._serialized_start=27960 + _ANDROIDLOGPACKET_STATS._serialized_end=28027 + _ANDROIDSYSTEMPROPERTY._serialized_start=28030 + _ANDROIDSYSTEMPROPERTY._serialized_end=28169 + _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_start=28125 + _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_end=28169 + _APPWAKELOCKINFO._serialized_start=28171 + _APPWAKELOCKINFO._serialized_end=28285 + _APPWAKELOCKBUNDLE._serialized_start=28288 + _APPWAKELOCKBUNDLE._serialized_end=28420 + _BLUETOOTHTRACEEVENT._serialized_start=28423 + _BLUETOOTHTRACEEVENT._serialized_end=28644 + _ANDROIDCAMERAFRAMEEVENT._serialized_start=28647 + _ANDROIDCAMERAFRAMEEVENT._serialized_end=29545 + _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_start=29234 + _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_end=29367 + _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_start=29370 + _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_end=29545 + _ANDROIDCAMERASESSIONSTATS._serialized_start=29548 + _ANDROIDCAMERASESSIONSTATS._serialized_end=30115 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_start=29669 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_end=30115 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_start=29848 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_end=29966 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_start=29969 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_end=30115 + _CPUPERUIDDATA._serialized_start=30117 + _CPUPERUIDDATA._serialized_end=30199 + _FRAMETIMELINEEVENT._serialized_start=30202 + _FRAMETIMELINEEVENT._serialized_end=32843 + _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_start=30695 + _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_end=30815 + _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_start=30818 + _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_end=31466 + _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_start=31468 + _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_end=31539 + _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_start=31542 + _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_end=32084 + _FRAMETIMELINEEVENT_FRAMEEND._serialized_start=32086 + _FRAMETIMELINEEVENT_FRAMEEND._serialized_end=32112 + _FRAMETIMELINEEVENT_JANKTYPE._serialized_start=32115 + _FRAMETIMELINEEVENT_JANKTYPE._serialized_end=32475 + _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_start=32477 + _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_end=32577 + _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_start=32580 + _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_end=32718 + _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_start=32720 + _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_end=32834 + _GPUMEMTOTALEVENT._serialized_start=32845 + _GPUMEMTOTALEVENT._serialized_end=32906 + _GRAPHICSFRAMEEVENT._serialized_start=32909 + _GRAPHICSFRAMEEVENT._serialized_end=33406 + _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_start=33003 + _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_end=33165 + _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_start=33168 + _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_end=33406 + _INITIALDISPLAYSTATE._serialized_start=33408 + _INITIALDISPLAYSTATE._serialized_end=33472 + _KERNELWAKELOCKDATA._serialized_start=33475 + _KERNELWAKELOCKDATA._serialized_end=33853 + _KERNELWAKELOCKDATA_WAKELOCK._serialized_start=33638 + _KERNELWAKELOCKDATA_WAKELOCK._serialized_end=33853 + _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_start=33768 + _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_end=33853 + _NETWORKPACKETEVENT._serialized_start=33856 + _NETWORKPACKETEVENT._serialized_end=34115 + _NETWORKPACKETBUNDLE._serialized_start=34118 + _NETWORKPACKETBUNDLE._serialized_end=34352 + _NETWORKPACKETCONTEXT._serialized_start=34354 + _NETWORKPACKETCONTEXT._serialized_end=34439 + _PACKAGESLIST._serialized_start=34442 + _PACKAGESLIST._serialized_end=34674 + _PACKAGESLIST_PACKAGEINFO._serialized_start=34560 + _PACKAGESLIST_PACKAGEINFO._serialized_end=34674 + _PIXELMODEMEVENTS._serialized_start=34676 + _PIXELMODEMEVENTS._serialized_end=34736 + _PIXELMODEMTOKENDATABASE._serialized_start=34738 + _PIXELMODEMTOKENDATABASE._serialized_end=34781 + _PROTOLOGMESSAGE._serialized_start=34784 + _PROTOLOGMESSAGE._serialized_end=34939 + _PROTOLOGVIEWERCONFIG._serialized_start=34942 + _PROTOLOGVIEWERCONFIG._serialized_end=35278 + _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_start=35097 + _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_end=35230 + _PROTOLOGVIEWERCONFIG_GROUP._serialized_start=35232 + _PROTOLOGVIEWERCONFIG_GROUP._serialized_end=35278 + _SHELLTRANSITION._serialized_start=35281 + _SHELLTRANSITION._serialized_end=35818 + _SHELLTRANSITION_TARGET._serialized_start=35744 + _SHELLTRANSITION_TARGET._serialized_end=35818 + _SHELLHANDLERMAPPINGS._serialized_start=35820 + _SHELLHANDLERMAPPINGS._serialized_end=35897 + _SHELLHANDLERMAPPING._serialized_start=35899 + _SHELLHANDLERMAPPING._serialized_end=35946 + _RECTPROTO._serialized_start=35948 + _RECTPROTO._serialized_end=36017 + _REGIONPROTO._serialized_start=36019 + _REGIONPROTO._serialized_end=36080 + _SIZEPROTO._serialized_start=36082 + _SIZEPROTO._serialized_end=36115 + _TRANSFORMPROTO._serialized_start=36117 + _TRANSFORMPROTO._serialized_end=36203 + _COLORPROTO._serialized_start=36205 + _COLORPROTO._serialized_end=36261 + _INPUTWINDOWINFOPROTO._serialized_start=36264 + _INPUTWINDOWINFOPROTO._serialized_end=36839 + _BLURREGION._serialized_start=36842 + _BLURREGION._serialized_end=37052 + _COLORTRANSFORMPROTO._serialized_start=37054 + _COLORTRANSFORMPROTO._serialized_end=37092 + _BOXSHADOWSETTINGS._serialized_start=37095 + _BOXSHADOWSETTINGS._serialized_end=37301 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37189 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37301 + _BORDERSETTINGS._serialized_start=37303 + _BORDERSETTINGS._serialized_end=37356 + _LAYERSTRACEFILEPROTO._serialized_start=37359 + _LAYERSTRACEFILEPROTO._serialized_end=37575 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37501 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37575 + _LAYERSSNAPSHOTPROTO._serialized_start=37578 + _LAYERSSNAPSHOTPROTO._serialized_end=37837 + _LAYERSPROTO._serialized_start=37839 + _LAYERSPROTO._serialized_end=37897 + _DISPLAYPROTO._serialized_start=37900 + _DISPLAYPROTO._serialized_end=38165 + _LAYERPROTO._serialized_start=38168 + _LAYERPROTO._serialized_end=40871 + _LAYERPROTO_METADATAENTRY._serialized_start=40824 + _LAYERPROTO_METADATAENTRY._serialized_end=40871 + _POSITIONPROTO._serialized_start=40873 + _POSITIONPROTO._serialized_end=40910 + _FLOATRECTPROTO._serialized_start=40912 + _FLOATRECTPROTO._serialized_end=40986 + _CORNERRADIIPROTO._serialized_start=40988 + _CORNERRADIIPROTO._serialized_end=41054 + _ACTIVEBUFFERPROTO._serialized_start=41056 + _ACTIVEBUFFERPROTO._serialized_end=41153 + _BARRIERLAYERPROTO._serialized_start=41155 + _BARRIERLAYERPROTO._serialized_end=41208 + _TRANSACTIONTRACEFILE._serialized_start=41211 + _TRANSACTIONTRACEFILE._serialized_end=41446 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41372 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41446 + _TRANSACTIONTRACEENTRY._serialized_start=41449 + _TRANSACTIONTRACEENTRY._serialized_end=41851 + _DISPLAYINFO._serialized_start=41854 + _DISPLAYINFO._serialized_end=42188 + _LAYERCREATIONARGS._serialized_start=42191 + _LAYERCREATIONARGS._serialized_end=42352 + _TRANSFORM._serialized_start=42354 + _TRANSFORM._serialized_end=42445 + _TRANSACTIONBARRIER._serialized_start=42447 + _TRANSACTIONBARRIER._serialized_end=42504 + _TRANSACTIONSTATE._serialized_start=42507 + _TRANSACTIONSTATE._serialized_end=42864 + _LAYERSTATE._serialized_start=42867 + _LAYERSTATE._serialized_end=47559 + _LAYERSTATE_MATRIX22._serialized_start=44578 + _LAYERSTATE_MATRIX22._serialized_end=44644 + _LAYERSTATE_CORNERRADII._serialized_start=44646 + _LAYERSTATE_CORNERRADII._serialized_end=44707 + _LAYERSTATE_COLOR3._serialized_start=44709 + _LAYERSTATE_COLOR3._serialized_end=44750 + _LAYERSTATE_BUFFERDATA._serialized_start=44753 + _LAYERSTATE_BUFFERDATA._serialized_end=45541 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=44969 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45080 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45083 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45541 + _LAYERSTATE_WINDOWINFO._serialized_start=45544 + _LAYERSTATE_WINDOWINFO._serialized_end=45958 + _LAYERSTATE_CHANGESLSB._serialized_start=45961 + _LAYERSTATE_CHANGESLSB._serialized_end=46721 + _LAYERSTATE_CHANGESMSB._serialized_start=46724 + _LAYERSTATE_CHANGESMSB._serialized_end=47344 + _LAYERSTATE_FLAGS._serialized_start=47347 + _LAYERSTATE_FLAGS._serialized_end=47509 + _LAYERSTATE_DROPINPUTMODE._serialized_start=47511 + _LAYERSTATE_DROPINPUTMODE._serialized_end=47559 + _DISPLAYSTATE._serialized_start=47562 + _DISPLAYSTATE._serialized_end=47965 + _DISPLAYSTATE_CHANGES._serialized_start=47818 + _DISPLAYSTATE_CHANGES._serialized_end=47965 + _WINSCOPEEXTENSIONS._serialized_start=47967 + _WINSCOPEEXTENSIONS._serialized_end=47993 + _CHROMEBENCHMARKMETADATA._serialized_start=47996 + _CHROMEBENCHMARKMETADATA._serialized_end=48238 + _CHROMEMETADATAPACKET._serialized_start=48241 + _CHROMEMETADATAPACKET._serialized_end=48520 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48480 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48520 + _BACKGROUNDTRACINGMETADATA._serialized_start=48523 + _BACKGROUNDTRACINGMETADATA._serialized_end=49568 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48739 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49568 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49043 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49149 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49152 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49430 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49297 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49430 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49433 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49568 + _CHROMETRACEDVALUE._serialized_start=49571 + _CHROMETRACEDVALUE._serialized_end=49910 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49877 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49910 + _CHROMESTRINGTABLEENTRY._serialized_start=49912 + _CHROMESTRINGTABLEENTRY._serialized_end=49966 + _CHROMETRACEEVENT._serialized_start=49969 + _CHROMETRACEEVENT._serialized_end=50610 + _CHROMETRACEEVENT_ARG._serialized_start=50342 + _CHROMETRACEEVENT_ARG._serialized_end=50610 + _CHROMEMETADATA._serialized_start=50613 + _CHROMEMETADATA._serialized_end=50741 + _CHROMELEGACYJSONTRACE._serialized_start=50744 + _CHROMELEGACYJSONTRACE._serialized_end=50892 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50847 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50892 + _CHROMEEVENTBUNDLE._serialized_start=50895 + _CHROMEEVENTBUNDLE._serialized_end=51190 + _CHROMETRIGGER._serialized_start=51192 + _CHROMETRIGGER._serialized_end=51273 + _V8STRING._serialized_start=51275 + _V8STRING._serialized_end=51361 + _INTERNEDV8STRING._serialized_start=51363 + _INTERNEDV8STRING._serialized_end=51470 + _INTERNEDV8JSSCRIPT._serialized_start=51473 + _INTERNEDV8JSSCRIPT._serialized_end=51798 + _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51668 + _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51798 + _INTERNEDV8WASMSCRIPT._serialized_start=51800 + _INTERNEDV8WASMSCRIPT._serialized_end=51887 + _INTERNEDV8JSFUNCTION._serialized_start=51890 + _INTERNEDV8JSFUNCTION._serialized_end=52999 + _INTERNEDV8JSFUNCTION_KIND._serialized_start=52117 + _INTERNEDV8JSFUNCTION_KIND._serialized_end=52999 + _INTERNEDV8ISOLATE._serialized_start=53002 + _INTERNEDV8ISOLATE._serialized_end=53329 + _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53210 + _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53329 + _V8JSCODE._serialized_start=53332 + _V8JSCODE._serialized_end=53694 + _V8JSCODE_TIER._serialized_start=53558 + _V8JSCODE_TIER._serialized_end=53678 + _V8INTERNALCODE._serialized_start=53697 + _V8INTERNALCODE._serialized_end=54178 + _V8INTERNALCODE_TYPE._serialized_start=53920 + _V8INTERNALCODE_TYPE._serialized_end=54178 + _V8WASMCODE._serialized_start=54181 + _V8WASMCODE._serialized_end=54504 + _V8WASMCODE_TIER._serialized_start=54443 + _V8WASMCODE_TIER._serialized_end=54504 + _V8REGEXPCODE._serialized_start=54507 + _V8REGEXPCODE._serialized_end=54683 + _V8CODEMOVE._serialized_start=54686 + _V8CODEMOVE._serialized_end=54911 + _V8CODEDEFAULTS._serialized_start=54913 + _V8CODEDEFAULTS._serialized_end=54942 + _CLOCKSNAPSHOT._serialized_start=54945 + _CLOCKSNAPSHOT._serialized_end=55347 + _CLOCKSNAPSHOT_CLOCK._serialized_start=55077 + _CLOCKSNAPSHOT_CLOCK._serialized_end=55347 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55176 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55347 + _CSWITCHETWEVENT._serialized_start=55350 + _CSWITCHETWEVENT._serialized_end=56968 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55926 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56671 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56673 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56724 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56727 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56862 + _READYTHREADETWEVENT._serialized_start=56971 + _READYTHREADETWEVENT._serialized_end=57491 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57230 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57318 + _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57320 + _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57442 + _MEMINFOETWEVENT._serialized_start=57494 + _MEMINFOETWEVENT._serialized_end=57894 + _FILEIOCREATEETWEVENT._serialized_start=57897 + _FILEIOCREATEETWEVENT._serialized_end=58061 + _FILEIODIRENUMETWEVENT._serialized_start=58064 + _FILEIODIRENUMETWEVENT._serialized_end=58232 + _FILEIOINFOETWEVENT._serialized_start=58235 + _FILEIOINFOETWEVENT._serialized_end=58365 + _FILEIOREADWRITEETWEVENT._serialized_start=58368 + _FILEIOREADWRITEETWEVENT._serialized_end=58514 + _FILEIOSIMPLEOPETWEVENT._serialized_start=58516 + _FILEIOSIMPLEOPETWEVENT._serialized_end=58610 + _FILEIOOPENDETWEVENT._serialized_start=58612 + _FILEIOOPENDETWEVENT._serialized_end=58689 + _ETWTRACEEVENT._serialized_start=58692 + _ETWTRACEEVENT._serialized_end=59337 + _ETWTRACEEVENTBUNDLE._serialized_start=59339 + _ETWTRACEEVENTBUNDLE._serialized_end=59420 + _EVDEVEVENT._serialized_start=59423 + _EVDEVEVENT._serialized_end=59609 + _EVDEVEVENT_INPUTEVENT._serialized_start=59519 + _EVDEVEVENT_INPUTEVENT._serialized_end=59600 + _FILEDESCRIPTORSET._serialized_start=59611 + _FILEDESCRIPTORSET._serialized_end=59682 + _FILEDESCRIPTORPROTO._serialized_start=59685 + _FILEDESCRIPTORPROTO._serialized_end=60004 + _DESCRIPTORPROTO._serialized_start=60007 + _DESCRIPTORPROTO._serialized_end=60473 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60418 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60461 + _UNINTERPRETEDOPTION._serialized_start=60476 + _UNINTERPRETEDOPTION._serialized_end=60762 + _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60711 + _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60762 + _FIELDOPTIONS._serialized_start=60764 + _FIELDOPTIONS._serialized_end=60863 + _FIELDDESCRIPTORPROTO._serialized_start=60866 + _FIELDDESCRIPTORPROTO._serialized_end=61553 + _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61168 + _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61478 + _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61480 + _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61547 + _ONEOFDESCRIPTORPROTO._serialized_start=61555 + _ONEOFDESCRIPTORPROTO._serialized_end=61639 + _ENUMDESCRIPTORPROTO._serialized_start=61642 + _ENUMDESCRIPTORPROTO._serialized_end=61770 + _ENUMVALUEDESCRIPTORPROTO._serialized_start=61772 + _ENUMVALUEDESCRIPTORPROTO._serialized_end=61834 + _ONEOFOPTIONS._serialized_start=61836 + _ONEOFOPTIONS._serialized_end=61869 + _EXTENSIONDESCRIPTOR._serialized_start=61871 + _EXTENSIONDESCRIPTOR._serialized_end=61951 + _INODEFILEMAP._serialized_start=61954 + _INODEFILEMAP._serialized_end=62218 + _INODEFILEMAP_ENTRY._serialized_start=62072 + _INODEFILEMAP_ENTRY._serialized_end=62218 + _INODEFILEMAP_ENTRY_TYPE._serialized_start=62174 + _INODEFILEMAP_ENTRY_TYPE._serialized_end=62218 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62220 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62297 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62300 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62442 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62444 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62522 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62525 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62668 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62670 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62744 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62746 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62854 + _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62857 + _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63046 + _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63049 + _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63198 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63200 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63256 + _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63258 + _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63376 + _BINDERLOCKFTRACEEVENT._serialized_start=63378 + _BINDERLOCKFTRACEEVENT._serialized_end=63414 + _BINDERLOCKEDFTRACEEVENT._serialized_start=63416 + _BINDERLOCKEDFTRACEEVENT._serialized_end=63454 + _BINDERUNLOCKFTRACEEVENT._serialized_start=63456 + _BINDERUNLOCKFTRACEEVENT._serialized_end=63494 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63496 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63621 + _BINDERCOMMANDFTRACEEVENT._serialized_start=63623 + _BINDERCOMMANDFTRACEEVENT._serialized_end=63662 + _BINDERRETURNFTRACEEVENT._serialized_start=63664 + _BINDERRETURNFTRACEEVENT._serialized_end=63702 + _BLOCKRQISSUEFTRACEEVENT._serialized_start=63705 + _BLOCKRQISSUEFTRACEEVENT._serialized_end=63834 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63836 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=63942 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=63944 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64047 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64049 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64155 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64157 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64264 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64266 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64368 + _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64370 + _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64495 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64497 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64569 + _BLOCKGETRQFTRACEEVENT._serialized_start=64571 + _BLOCKGETRQFTRACEEVENT._serialized_end=64670 + _BLOCKPLUGFTRACEEVENT._serialized_start=64672 + _BLOCKPLUGFTRACEEVENT._serialized_end=64708 + _BLOCKRQABORTFTRACEEVENT._serialized_start=64710 + _BLOCKRQABORTFTRACEEVENT._serialized_end=64826 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64829 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=64963 + _BLOCKRQINSERTFTRACEEVENT._serialized_start=64966 + _BLOCKRQINSERTFTRACEEVENT._serialized_end=65096 + _BLOCKRQREMAPFTRACEEVENT._serialized_start=65099 + _BLOCKRQREMAPFTRACEEVENT._serialized_end=65240 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65242 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65360 + _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65362 + _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65463 + _BLOCKSPLITFTRACEEVENT._serialized_start=65465 + _BLOCKSPLITFTRACEEVENT._serialized_end=65565 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65567 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65639 + _BLOCKUNPLUGFTRACEEVENT._serialized_start=65641 + _BLOCKUNPLUGFTRACEEVENT._serialized_end=65694 + _BLOCKIOSTARTFTRACEEVENT._serialized_start=65697 + _BLOCKIOSTARTFTRACEEVENT._serialized_end=65842 + _BLOCKIODONEFTRACEEVENT._serialized_start=65845 + _BLOCKIODONEFTRACEEVENT._serialized_end=65989 + _CGROUPATTACHTASKFTRACEEVENT._serialized_start=65992 + _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66134 + _CGROUPMKDIRFTRACEEVENT._serialized_start=66136 + _CGROUPMKDIRFTRACEEVENT._serialized_end=66230 + _CGROUPREMOUNTFTRACEEVENT._serialized_start=66232 + _CGROUPREMOUNTFTRACEEVENT._serialized_end=66303 + _CGROUPRMDIRFTRACEEVENT._serialized_start=66305 + _CGROUPRMDIRFTRACEEVENT._serialized_end=66399 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66402 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66547 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66549 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66624 + _CGROUPRELEASEFTRACEEVENT._serialized_start=66626 + _CGROUPRELEASEFTRACEEVENT._serialized_end=66722 + _CGROUPRENAMEFTRACEEVENT._serialized_start=66724 + _CGROUPRENAMEFTRACEEVENT._serialized_end=66819 + _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66821 + _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66894 + _CLKENABLEFTRACEEVENT._serialized_start=66896 + _CLKENABLEFTRACEEVENT._serialized_end=66932 + _CLKDISABLEFTRACEEVENT._serialized_start=66934 + _CLKDISABLEFTRACEEVENT._serialized_end=66971 + _CLKSETRATEFTRACEEVENT._serialized_start=66973 + _CLKSETRATEFTRACEEVENT._serialized_end=67024 + _CMAALLOCSTARTFTRACEEVENT._serialized_start=67026 + _CMAALLOCSTARTFTRACEEVENT._serialized_end=67096 + _CMAALLOCINFOFTRACEEVENT._serialized_start=67099 + _CMAALLOCINFOFTRACEEVENT._serialized_end=67295 + _CMAALLOCFINISHFTRACEEVENT._serialized_start=67297 + _CMAALLOCFINISHFTRACEEVENT._serialized_end=67412 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67414 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67535 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67538 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67682 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67685 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67822 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67825 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=67964 + _MMCOMPACTIONENDFTRACEEVENT._serialized_start=67967 + _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68102 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68104 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68191 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68193 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68308 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68310 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68428 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68430 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68482 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68484 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68598 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68600 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68677 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68679 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68766 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68768 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68871 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68873 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=68989 + _PARAMSETVALUECPMFTRACEEVENT._serialized_start=68991 + _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69068 + _CPUHPEXITFTRACEEVENT._serialized_start=69070 + _CPUHPEXITFTRACEEVENT._serialized_end=69146 + _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69148 + _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69231 + _CPUHPENTERFTRACEEVENT._serialized_start=69233 + _CPUHPENTERFTRACEEVENT._serialized_end=69311 + _CPUHPLATENCYFTRACEEVENT._serialized_start=69313 + _CPUHPLATENCYFTRACEEVENT._serialized_end=69393 + _CPUHPPAUSEFTRACEEVENT._serialized_start=69395 + _CPUHPPAUSEFTRACEEVENT._serialized_end=69482 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69485 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69655 + _DCVSHFREQFTRACEEVENT._serialized_start=69657 + _DCVSHFREQFTRACEEVENT._serialized_end=69706 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69708 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69827 + _DMAFENCEINITFTRACEEVENT._serialized_start=69829 + _DMAFENCEINITFTRACEEVENT._serialized_end=69920 + _DMAFENCEEMITFTRACEEVENT._serialized_start=69922 + _DMAFENCEEMITFTRACEEVENT._serialized_end=70013 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70015 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70110 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70112 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70208 + _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70210 + _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70304 + _DMAHEAPSTATFTRACEEVENT._serialized_start=70306 + _DMAHEAPSTATFTRACEEVENT._serialized_end=70383 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70386 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70515 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70517 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70582 + _DPUDSIRXFTRACEEVENT._serialized_start=70584 + _DPUDSIRXFTRACEEVENT._serialized_end=70634 + _DPUDSITXFTRACEEVENT._serialized_start=70636 + _DPUDSITXFTRACEEVENT._serialized_end=70719 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70721 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70809 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70811 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70893 + _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70895 + _DRMVBLANKEVENTFTRACEEVENT._serialized_end=70982 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=70984 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71061 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71064 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71226 + _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71229 + _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71421 + _DWC3CTRLREQFTRACEEVENT._serialized_start=71423 + _DWC3CTRLREQFTRACEEVENT._serialized_end=71549 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71552 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71711 + _DWC3EPQUEUEFTRACEEVENT._serialized_start=71714 + _DWC3EPQUEUEFTRACEEVENT._serialized_end=71871 + _DWC3EVENTFTRACEEVENT._serialized_start=71873 + _DWC3EVENTFTRACEEVENT._serialized_end=71941 + _DWC3FREEREQUESTFTRACEEVENT._serialized_start=71944 + _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72105 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72107 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72230 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72233 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72438 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72441 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72645 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72647 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72724 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72727 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72891 + _DWC3PREPARETRBFTRACEEVENT._serialized_start=72894 + _DWC3PREPARETRBFTRACEEVENT._serialized_end=73085 + _DWC3READLFTRACEEVENT._serialized_start=73087 + _DWC3READLFTRACEEVENT._serialized_end=73167 + _DWC3WRITELFTRACEEVENT._serialized_start=73169 + _DWC3WRITELFTRACEEVENT._serialized_end=73250 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73252 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73348 + _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73350 + _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73445 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73447 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73537 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73539 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73607 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73609 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73707 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73710 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73903 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73905 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=73988 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=73990 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74071 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74073 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74158 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74161 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74363 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74366 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74534 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74537 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74765 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74768 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=74975 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=74977 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75080 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75082 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75176 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75178 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75284 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75286 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75357 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75359 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75452 + _EXT4DROPINODEFTRACEEVENT._serialized_start=75454 + _EXT4DROPINODEFTRACEEVENT._serialized_end=75520 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75522 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75635 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75637 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75723 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75726 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75854 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75856 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=75970 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=75972 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76048 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76051 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76184 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76186 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76270 + _EXT4ESSHRINKFTRACEEVENT._serialized_start=76272 + _EXT4ESSHRINKFTRACEEVENT._serialized_end=76385 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76387 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76469 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76471 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76557 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76559 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76643 + _EXT4EVICTINODEFTRACEEVENT._serialized_start=76645 + _EXT4EVICTINODEFTRACEEVENT._serialized_end=76713 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76716 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76865 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76868 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77067 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77070 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77229 + _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77231 + _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77311 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77313 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77397 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77399 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77501 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77504 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77648 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77650 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77748 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77750 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77850 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77853 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78046 + _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78048 + _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78113 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78116 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78302 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78304 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78401 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78403 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78516 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78518 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78616 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78619 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78756 + _EXT4FORGETFTRACEEVENT._serialized_start=78758 + _EXT4FORGETFTRACEEVENT._serialized_end=78857 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78859 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=78971 + _EXT4FREEINODEFTRACEEVENT._serialized_start=78973 + _EXT4FREEINODEFTRACEEVENT._serialized_end=79081 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79083 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79208 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79210 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79303 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79305 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79407 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79410 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79554 + _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79556 + _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79639 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79641 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79745 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79748 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79877 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79879 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=79957 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=79959 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80073 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80075 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80178 + _EXT4LOADINODEFTRACEEVENT._serialized_start=80180 + _EXT4LOADINODEFTRACEEVENT._serialized_end=80232 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80234 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80294 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80296 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80365 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80367 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80424 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80426 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80488 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80490 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80559 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80561 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80670 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80672 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80781 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80783 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80864 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80866 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=80955 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=80958 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81348 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81350 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81471 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81473 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81591 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81594 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81820 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81822 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=81943 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=81945 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82040 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82042 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82124 + _EXT4READPAGEFTRACEEVENT._serialized_start=82126 + _EXT4READPAGEFTRACEEVENT._serialized_end=82192 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82194 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82263 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82266 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82466 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82469 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82646 + _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82648 + _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82717 + _EXT4SYNCFSFTRACEEVENT._serialized_start=82719 + _EXT4SYNCFSFTRACEEVENT._serialized_end=82769 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82771 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82880 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82882 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=82990 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=82992 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83064 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83066 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83137 + _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83139 + _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83223 + _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83225 + _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83291 + _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83293 + _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83387 + _EXT4WRITEENDFTRACEEVENT._serialized_start=83389 + _EXT4WRITEENDFTRACEEVENT._serialized_end=83482 + _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83484 + _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83551 + _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83554 + _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83778 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83781 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=83943 + _EXT4ZERORANGEFTRACEEVENT._serialized_start=83945 + _EXT4ZERORANGEFTRACEEVENT._serialized_end=84040 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84042 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84142 + _F2FSEVICTINODEFTRACEEVENT._serialized_start=84145 + _F2FSEVICTINODEFTRACEEVENT._serialized_end=84287 + _F2FSFALLOCATEFTRACEEVENT._serialized_start=84290 + _F2FSFALLOCATEFTRACEEVENT._serialized_end=84428 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84430 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84549 + _F2FSGETVICTIMFTRACEEVENT._serialized_start=84552 + _F2FSGETVICTIMFTRACEEVENT._serialized_end=84758 + _F2FSIGETFTRACEEVENT._serialized_start=84761 + _F2FSIGETFTRACEEVENT._serialized_end=84897 + _F2FSIGETEXITFTRACEEVENT._serialized_start=84899 + _F2FSIGETEXITFTRACEEVENT._serialized_end=84963 + _F2FSNEWINODEFTRACEEVENT._serialized_start=84965 + _F2FSNEWINODEFTRACEEVENT._serialized_end=85029 + _F2FSREADPAGEFTRACEEVENT._serialized_start=85032 + _F2FSREADPAGEFTRACEEVENT._serialized_end=85175 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85177 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85256 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85259 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85389 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85391 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85493 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85496 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85641 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85643 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85765 + _F2FSSYNCFSFTRACEEVENT._serialized_start=85767 + _F2FSSYNCFSFTRACEEVENT._serialized_end=85832 + _F2FSTRUNCATEFTRACEEVENT._serialized_start=85835 + _F2FSTRUNCATEFTRACEEVENT._serialized_end=85975 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=85977 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86083 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86085 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86159 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86161 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86267 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86269 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86380 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86382 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86461 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86463 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86549 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86551 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86643 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86645 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86718 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86720 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86824 + _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86826 + _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86924 + _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86926 + _F2FSUNLINKEXITFTRACEEVENT._serialized_end=86992 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=86995 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87126 + _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87128 + _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87222 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87224 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87317 + _F2FSWRITEENDFTRACEEVENT._serialized_start=87319 + _F2FSWRITEENDFTRACEEVENT._serialized_end=87412 + _F2FSIOSTATFTRACEEVENT._serialized_start=87415 + _F2FSIOSTATFTRACEEVENT._serialized_end=87840 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87843 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88426 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88428 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88518 + _F2FSGCBEGINFTRACEEVENT._serialized_start=88521 + _F2FSGCBEGINFTRACEEVENT._serialized_end=88791 + _F2FSGCENDFTRACEEVENT._serialized_start=88794 + _F2FSGCENDFTRACEEVENT._serialized_end=89022 + _FASTRPCDMASTATFTRACEEVENT._serialized_start=89024 + _FASTRPCDMASTATFTRACEEVENT._serialized_end=89102 + _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89104 + _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89172 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89174 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89273 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89275 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89344 + _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89346 + _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89468 + _FENCEINITFTRACEEVENT._serialized_start=89470 + _FENCEINITFTRACEEVENT._serialized_end=89558 + _FENCEDESTROYFTRACEEVENT._serialized_start=89560 + _FENCEDESTROYFTRACEEVENT._serialized_end=89651 + _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89653 + _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89749 + _FENCESIGNALEDFTRACEEVENT._serialized_start=89751 + _FENCESIGNALEDFTRACEEVENT._serialized_end=89843 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89845 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=89953 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=89955 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90068 + _DOSYSOPENFTRACEEVENT._serialized_start=90070 + _DOSYSOPENFTRACEEVENT._serialized_end=90139 + _OPENEXECFTRACEEVENT._serialized_start=90141 + _OPENEXECFTRACEEVENT._serialized_end=90180 + _PRINTFTRACEEVENT._serialized_start=90182 + _PRINTFTRACEEVENT._serialized_end=90225 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90227 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90283 + _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90285 + _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90392 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90394 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90482 + _GENERICFTRACEEVENT._serialized_start=90485 + _GENERICFTRACEEVENT._serialized_end=90679 + _GENERICFTRACEEVENT_FIELD._serialized_start=90585 + _GENERICFTRACEEVENT_FIELD._serialized_end=90679 + _KPROBEEVENT._serialized_start=90682 + _KPROBEEVENT._serialized_end=90872 + _KPROBEEVENT_KPROBETYPE._serialized_start=90766 + _KPROBEEVENT_KPROBETYPE._serialized_end=90872 + _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90874 + _GOOGLEICCEVENTFTRACEEVENT._serialized_end=90935 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=90937 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=90998 + _GPUMEMTOTALFTRACEEVENT._serialized_start=91000 + _GPUMEMTOTALFTRACEEVENT._serialized_end=91067 + _DRMSCHEDJOBFTRACEEVENT._serialized_start=91069 + _DRMSCHEDJOBFTRACEEVENT._serialized_end=91191 + _DRMRUNJOBFTRACEEVENT._serialized_start=91193 + _DRMRUNJOBFTRACEEVENT._serialized_end=91313 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91315 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91361 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91363 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91465 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91467 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91539 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91542 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91702 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91705 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91863 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91865 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=91974 + _HYPENTERFTRACEEVENT._serialized_start=91976 + _HYPENTERFTRACEEVENT._serialized_end=91997 + _HYPEXITFTRACEEVENT._serialized_start=91999 + _HYPEXITFTRACEEVENT._serialized_end=92019 + _HOSTHCALLFTRACEEVENT._serialized_start=92021 + _HOSTHCALLFTRACEEVENT._serialized_end=92072 + _HOSTSMCFTRACEEVENT._serialized_start=92074 + _HOSTSMCFTRACEEVENT._serialized_end=92125 + _HOSTMEMABORTFTRACEEVENT._serialized_start=92127 + _HOSTMEMABORTFTRACEEVENT._serialized_end=92179 + _HOSTFFACALLFTRACEEVENT._serialized_start=92182 + _HOSTFFACALLFTRACEEVENT._serialized_end=92317 + _IOMMUIDMAPFTRACEEVENT._serialized_start=92319 + _IOMMUIDMAPFTRACEEVENT._serialized_end=92382 + _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92384 + _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92439 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92441 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92502 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92504 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92565 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92567 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92597 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92599 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92672 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92674 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92739 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92741 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92803 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92805 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92836 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92838 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92892 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92894 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=92945 + _I2CREADFTRACEEVENT._serialized_start=92947 + _I2CREADFTRACEEVENT._serialized_end=93045 + _I2CWRITEFTRACEEVENT._serialized_start=93047 + _I2CWRITEFTRACEEVENT._serialized_end=93159 + _I2CRESULTFTRACEEVENT._serialized_start=93161 + _I2CRESULTFTRACEEVENT._serialized_end=93233 + _I2CREPLYFTRACEEVENT._serialized_start=93235 + _I2CREPLYFTRACEEVENT._serialized_end=93347 + _SMBUSREADFTRACEEVENT._serialized_start=93349 + _SMBUSREADFTRACEEVENT._serialized_end=93455 + _SMBUSWRITEFTRACEEVENT._serialized_start=93457 + _SMBUSWRITEFTRACEEVENT._serialized_end=93577 + _SMBUSRESULTFTRACEEVENT._serialized_start=93580 + _SMBUSRESULTFTRACEEVENT._serialized_end=93721 + _SMBUSREPLYFTRACEEVENT._serialized_start=93723 + _SMBUSREPLYFTRACEEVENT._serialized_end=93843 + _IONSTATFTRACEEVENT._serialized_start=93845 + _IONSTATFTRACEEVENT._serialized_end=93922 + _IPIENTRYFTRACEEVENT._serialized_start=93924 + _IPIENTRYFTRACEEVENT._serialized_end=93961 + _IPIEXITFTRACEEVENT._serialized_start=93963 + _IPIEXITFTRACEEVENT._serialized_end=93999 + _IPIRAISEFTRACEEVENT._serialized_start=94001 + _IPIRAISEFTRACEEVENT._serialized_end=94059 + _SOFTIRQENTRYFTRACEEVENT._serialized_start=94061 + _SOFTIRQENTRYFTRACEEVENT._serialized_end=94099 + _SOFTIRQEXITFTRACEEVENT._serialized_start=94101 + _SOFTIRQEXITFTRACEEVENT._serialized_end=94138 + _SOFTIRQRAISEFTRACEEVENT._serialized_start=94140 + _SOFTIRQRAISEFTRACEEVENT._serialized_end=94178 + _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94180 + _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94252 + _IRQHANDLEREXITFTRACEEVENT._serialized_start=94254 + _IRQHANDLEREXITFTRACEEVENT._serialized_end=94307 + _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94309 + _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94353 + _LOCALTIMEREXITFTRACEEVENT._serialized_start=94355 + _LOCALTIMEREXITFTRACEEVENT._serialized_end=94398 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94400 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94463 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94465 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94578 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94581 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94830 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94832 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94927 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94930 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95271 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95273 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95338 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95340 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95406 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95408 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95475 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95477 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95540 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95542 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95606 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95608 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95673 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95675 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95726 + _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95728 + _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95811 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95813 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95915 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95917 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96021 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96023 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96135 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96138 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96266 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96269 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96401 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96403 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96517 + _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96519 + _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96562 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96564 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96659 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96661 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96758 + _IONPREFETCHINGFTRACEEVENT._serialized_start=96760 + _IONPREFETCHINGFTRACEEVENT._serialized_end=96800 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96802 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96893 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96895 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=96988 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=96990 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97088 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97090 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97190 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97192 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97274 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97276 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97360 + _KFREEFTRACEEVENT._serialized_start=97362 + _KFREEFTRACEEVENT._serialized_end=97412 + _KMALLOCFTRACEEVENT._serialized_start=97414 + _KMALLOCFTRACEEVENT._serialized_end=97525 + _KMALLOCNODEFTRACEEVENT._serialized_start=97528 + _KMALLOCNODEFTRACEEVENT._serialized_end=97657 + _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97659 + _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97777 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97780 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97916 + _KMEMCACHEFREEFTRACEEVENT._serialized_start=97918 + _KMEMCACHEFREEFTRACEEVENT._serialized_end=97976 + _MIGRATEPAGESENDFTRACEEVENT._serialized_start=97978 + _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98020 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98022 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98066 + _MIGRATERETRYFTRACEEVENT._serialized_start=98068 + _MIGRATERETRYFTRACEEVENT._serialized_end=98108 + _MMPAGEALLOCFTRACEEVENT._serialized_start=98110 + _MMPAGEALLOCFTRACEEVENT._serialized_end=98216 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98219 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98405 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98407 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98504 + _MMPAGEFREEFTRACEEVENT._serialized_start=98506 + _MMPAGEFREEFTRACEEVENT._serialized_end=98571 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98573 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98644 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98646 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98737 + _RSSSTATFTRACEEVENT._serialized_start=98739 + _RSSSTATFTRACEEVENT._serialized_end=98818 + _IONHEAPSHRINKFTRACEEVENT._serialized_start=98820 + _IONHEAPSHRINKFTRACEEVENT._serialized_end=98903 + _IONHEAPGROWFTRACEEVENT._serialized_start=98905 + _IONHEAPGROWFTRACEEVENT._serialized_end=98986 + _IONBUFFERCREATEFTRACEEVENT._serialized_start=98988 + _IONBUFFERCREATEFTRACEEVENT._serialized_end=99043 + _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99045 + _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99101 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99104 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99257 + _DMABUFRSSSTATFTRACEEVENT._serialized_start=99259 + _DMABUFRSSSTATFTRACEEVENT._serialized_end=99332 + _KVMACCESSFAULTFTRACEEVENT._serialized_start=99334 + _KVMACCESSFAULTFTRACEEVENT._serialized_end=99374 + _KVMACKIRQFTRACEEVENT._serialized_start=99376 + _KVMACKIRQFTRACEEVENT._serialized_end=99428 + _KVMAGEHVAFTRACEEVENT._serialized_start=99430 + _KVMAGEHVAFTRACEEVENT._serialized_end=99480 + _KVMAGEPAGEFTRACEEVENT._serialized_start=99482 + _KVMAGEPAGEFTRACEEVENT._serialized_end=99566 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99568 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99618 + _KVMARMSETDREG32FTRACEEVENT._serialized_start=99620 + _KVMARMSETDREG32FTRACEEVENT._serialized_end=99677 + _KVMARMSETREGSETFTRACEEVENT._serialized_start=99679 + _KVMARMSETREGSETFTRACEEVENT._serialized_end=99734 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99736 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99800 + _KVMENTRYFTRACEEVENT._serialized_start=99802 + _KVMENTRYFTRACEEVENT._serialized_end=99840 + _KVMEXITFTRACEEVENT._serialized_start=99842 + _KVMEXITFTRACEEVENT._serialized_end=99908 + _KVMFPUFTRACEEVENT._serialized_start=99910 + _KVMFPUFTRACEEVENT._serialized_end=99943 + _KVMGETTIMERMAPFTRACEEVENT._serialized_start=99945 + _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100056 + _KVMGUESTFAULTFTRACEEVENT._serialized_start=100058 + _KVMGUESTFAULTFTRACEEVENT._serialized_end=100142 + _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100144 + _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100185 + _KVMHVCARM64FTRACEEVENT._serialized_start=100187 + _KVMHVCARM64FTRACEEVENT._serialized_end=100253 + _KVMIRQLINEFTRACEEVENT._serialized_start=100255 + _KVMIRQLINEFTRACEEVENT._serialized_end=100342 + _KVMMMIOFTRACEEVENT._serialized_start=100344 + _KVMMMIOFTRACEEVENT._serialized_end=100417 + _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100419 + _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100492 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100494 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100558 + _KVMSETIRQFTRACEEVENT._serialized_start=100560 + _KVMSETIRQFTRACEEVENT._serialized_end=100633 + _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100635 + _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100674 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100676 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100735 + _KVMSYSACCESSFTRACEEVENT._serialized_start=100738 + _KVMSYSACCESSFTRACEEVENT._serialized_end=100877 + _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100879 + _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100918 + _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100920 + _KVMTIMEREMULATEFTRACEEVENT._serialized_end=100988 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=100990 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101043 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101045 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101124 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101126 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101202 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101204 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101279 + _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101281 + _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101351 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101353 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101410 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101412 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101457 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101459 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101528 + _KVMWFXARM64FTRACEEVENT._serialized_start=101530 + _KVMWFXARM64FTRACEEVENT._serialized_end=101587 + _TRAPREGFTRACEEVENT._serialized_start=101589 + _TRAPREGFTRACEEVENT._serialized_end=101673 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101675 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101753 + _LOWMEMORYKILLFTRACEEVENT._serialized_start=101755 + _LOWMEMORYKILLFTRACEEVENT._serialized_end=101871 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101873 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=101986 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=101988 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102077 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102079 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102196 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102198 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102321 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102323 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102444 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102446 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102568 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102570 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102695 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102697 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102820 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102822 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102914 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102916 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103006 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103008 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103116 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103118 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103217 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103219 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103319 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103321 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103417 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103419 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103521 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103523 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103621 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103623 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103720 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103722 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103821 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103823 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103910 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103912 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=103995 + _MALIMALIPMMCUONFTRACEEVENT._serialized_start=103997 + _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104079 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104081 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104181 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104183 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104278 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104280 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104366 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104368 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104462 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104464 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104557 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104559 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104649 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104651 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104742 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104744 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104839 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104841 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104928 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104930 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105022 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105024 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105113 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105115 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105204 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105206 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105293 + _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105295 + _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105359 + _MDPCOMMITFTRACEEVENT._serialized_start=105361 + _MDPCOMMITFTRACEEVENT._serialized_end=105451 + _MDPPERFSETOTFTRACEEVENT._serialized_start=105453 + _MDPPERFSETOTFTRACEEVENT._serialized_end=105544 + _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105547 + _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105815 + _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105817 + _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105900 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105902 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106002 + _MDPCOMPAREBWFTRACEEVENT._serialized_start=106005 + _MDPCOMPAREBWFTRACEEVENT._serialized_end=106169 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106171 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106283 + _MDPSSPPSETFTRACEEVENT._serialized_start=106286 + _MDPSSPPSETFTRACEEVENT._serialized_end=106551 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106553 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106618 + _MDPMISRCRCFTRACEEVENT._serialized_start=106620 + _MDPMISRCRCFTRACEEVENT._serialized_end=106693 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106695 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106820 + _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106822 + _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106900 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106902 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=106947 + _MDPMIXERUPDATEFTRACEEVENT._serialized_start=106949 + _MDPMIXERUPDATEFTRACEEVENT._serialized_end=106995 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=106998 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107158 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107160 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107232 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107234 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107303 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107306 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107512 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107514 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107595 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107597 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107645 + _MMEVENTRECORDFTRACEEVENT._serialized_start=107647 + _MMEVENTRECORDFTRACEEVENT._serialized_end=107736 + _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107738 + _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107810 + _NETDEVXMITFTRACEEVENT._serialized_start=107812 + _NETDEVXMITFTRACEEVENT._serialized_end=107891 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107894 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108273 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108275 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108319 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108321 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108401 + _MARKVICTIMFTRACEEVENT._serialized_start=108403 + _MARKVICTIMFTRACEEVENT._serialized_end=108439 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108441 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108503 + _DSIRXFTRACEEVENT._serialized_start=108505 + _DSIRXFTRACEEVENT._serialized_end=108552 + _DSITXFTRACEEVENT._serialized_start=108554 + _DSITXFTRACEEVENT._serialized_end=108616 + _PANELWRITEGENERICFTRACEEVENT._serialized_start=108618 + _PANELWRITEGENERICFTRACEEVENT._serialized_end=108745 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108748 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109136 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109138 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109186 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109188 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109272 + _CPUFREQUENCYFTRACEEVENT._serialized_start=109274 + _CPUFREQUENCYFTRACEEVENT._serialized_end=109330 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109332 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109415 + _CPUIDLEFTRACEEVENT._serialized_start=109417 + _CPUIDLEFTRACEEVENT._serialized_end=109468 + _CLOCKENABLEFTRACEEVENT._serialized_start=109470 + _CLOCKENABLEFTRACEEVENT._serialized_end=109539 + _CLOCKDISABLEFTRACEEVENT._serialized_start=109541 + _CLOCKDISABLEFTRACEEVENT._serialized_end=109611 + _CLOCKSETRATEFTRACEEVENT._serialized_start=109613 + _CLOCKSETRATEFTRACEEVENT._serialized_end=109683 + _SUSPENDRESUMEFTRACEEVENT._serialized_start=109685 + _SUSPENDRESUMEFTRACEEVENT._serialized_end=109755 + _GPUFREQUENCYFTRACEEVENT._serialized_start=109757 + _GPUFREQUENCYFTRACEEVENT._serialized_end=109813 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109815 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109877 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109879 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=109943 + _GPUWORKPERIODFTRACEEVENT._serialized_start=109946 + _GPUWORKPERIODFTRACEEVENT._serialized_end=110079 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110081 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110194 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110196 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110275 + _CONSOLEFTRACEEVENT._serialized_start=110277 + _CONSOLEFTRACEEVENT._serialized_end=110310 + _SYSENTERFTRACEEVENT._serialized_start=110312 + _SYSENTERFTRACEEVENT._serialized_end=110359 + _SYSEXITFTRACEEVENT._serialized_start=110361 + _SYSEXITFTRACEEVENT._serialized_end=110406 + _REGULATORDISABLEFTRACEEVENT._serialized_start=110408 + _REGULATORDISABLEFTRACEEVENT._serialized_end=110451 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110453 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110504 + _REGULATORENABLEFTRACEEVENT._serialized_start=110506 + _REGULATORENABLEFTRACEEVENT._serialized_end=110548 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110550 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110600 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110602 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110649 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110651 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110723 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110725 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110792 + _RPMSTATUSFTRACEEVENT._serialized_start=110794 + _RPMSTATUSFTRACEEVENT._serialized_end=110846 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110848 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=110973 + _SCHEDSWITCHFTRACEEVENT._serialized_start=110976 + _SCHEDSWITCHFTRACEEVENT._serialized_end=111132 + _SCHEDWAKEUPFTRACEEVENT._serialized_start=111134 + _SCHEDWAKEUPFTRACEEVENT._serialized_end=111236 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111238 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111315 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111317 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111398 + _SCHEDWAKINGFTRACEEVENT._serialized_start=111400 + _SCHEDWAKINGFTRACEEVENT._serialized_end=111502 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111504 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111609 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111611 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111688 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111690 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111774 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111776 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111885 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111887 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=111957 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=111959 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112015 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112017 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112087 + _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112089 + _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112177 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112180 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112508 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112511 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112648 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112650 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112774 + _SCMCALLSTARTFTRACEEVENT._serialized_start=112776 + _SCMCALLSTARTFTRACEEVENT._serialized_end=112842 + _SCMCALLENDFTRACEEVENT._serialized_start=112844 + _SCMCALLENDFTRACEEVENT._serialized_end=112867 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112869 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=112990 + _SDESDEEVTLOGFTRACEEVENT._serialized_start=112992 + _SDESDEEVTLOGFTRACEEVENT._serialized_end=113066 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113069 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113249 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113252 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113535 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113537 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113653 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113655 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113755 + _SIGNALDELIVERFTRACEEVENT._serialized_start=113757 + _SIGNALDELIVERFTRACEEVENT._serialized_end=113828 + _SIGNALGENERATEFTRACEEVENT._serialized_start=113830 + _SIGNALGENERATEFTRACEEVENT._serialized_end=113942 + _KFREESKBFTRACEEVENT._serialized_start=113944 + _KFREESKBFTRACEEVENT._serialized_end=114018 + _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114021 + _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114196 + _SYNCPTFTRACEEVENT._serialized_start=114198 + _SYNCPTFTRACEEVENT._serialized_end=114250 + _SYNCTIMELINEFTRACEEVENT._serialized_start=114252 + _SYNCTIMELINEFTRACEEVENT._serialized_end=114306 + _SYNCWAITFTRACEEVENT._serialized_start=114308 + _SYNCWAITFTRACEEVENT._serialized_end=114374 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114376 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114464 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114466 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114514 + _ZEROFTRACEEVENT._serialized_start=114516 + _ZEROFTRACEEVENT._serialized_end=114589 + _TASKNEWTASKFTRACEEVENT._serialized_start=114591 + _TASKNEWTASKFTRACEEVENT._serialized_end=114686 + _TASKRENAMEFTRACEEVENT._serialized_start=114688 + _TASKRENAMEFTRACEEVENT._serialized_end=114781 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114784 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114921 + _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114923 + _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115021 + _CDEVUPDATEFTRACEEVENT._serialized_start=115023 + _CDEVUPDATEFTRACEEVENT._serialized_end=115076 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115079 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115307 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115310 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115472 + _HRTIMERSTARTFTRACEEVENT._serialized_start=115474 + _HRTIMERSTARTFTRACEEVENT._serialized_end=115586 + _HRTIMERCANCELFTRACEEVENT._serialized_start=115588 + _HRTIMERCANCELFTRACEEVENT._serialized_end=115631 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115633 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115712 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115714 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115761 + _TIMERSTARTFTRACEEVENT._serialized_start=115764 + _TIMERSTARTFTRACEEVENT._serialized_end=115908 + _TIMERCANCELFTRACEEVENT._serialized_start=115910 + _TIMERCANCELFTRACEEVENT._serialized_end=115949 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=115951 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116043 + _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116045 + _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116088 + _TRUSTYSMCFTRACEEVENT._serialized_start=116090 + _TRUSTYSMCFTRACEEVENT._serialized_end=116160 + _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116162 + _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116201 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116203 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116279 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116281 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116326 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116328 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116400 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116402 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116507 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116509 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116553 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116555 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116616 + _TRUSTYIRQFTRACEEVENT._serialized_start=116618 + _TRUSTYIRQFTRACEEVENT._serialized_end=116653 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116655 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116738 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116740 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116812 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116814 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116888 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116891 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117021 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117023 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117100 + _TRUSTYIPCREADFTRACEEVENT._serialized_start=117102 + _TRUSTYIPCREADFTRACEEVENT._serialized_end=117160 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117162 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117276 + _TRUSTYIPCRXFTRACEEVENT._serialized_start=117278 + _TRUSTYIPCRXFTRACEEVENT._serialized_end=117350 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117352 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117423 + _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117426 + _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117612 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117614 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117675 + _V4L2QBUFFTRACEEVENT._serialized_start=117678 + _V4L2QBUFFTRACEEVENT._serialized_end=118089 + _V4L2DQBUFFTRACEEVENT._serialized_start=118092 + _V4L2DQBUFFTRACEEVENT._serialized_end=118504 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118507 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118877 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118880 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119249 + _VB2V4L2QBUFFTRACEEVENT._serialized_start=119252 + _VB2V4L2QBUFFTRACEEVENT._serialized_end=119618 + _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119621 + _VB2V4L2DQBUFFTRACEEVENT._serialized_end=119988 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=119991 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120156 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120159 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120327 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120329 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120389 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120391 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120455 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120458 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120654 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120657 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120857 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120859 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=120955 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=120957 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121016 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121018 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121090 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121092 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121137 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121140 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121373 + _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121376 + _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121521 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121523 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121571 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121573 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121637 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121639 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121705 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121707 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121819 + _FTRACEEVENT._serialized_start=121823 + _FTRACEEVENT._serialized_end=166726 + _FTRACECPUSTATS._serialized_start=166729 + _FTRACECPUSTATS._serialized_end=166922 + _FTRACEKPROBESTATS._serialized_start=166924 + _FTRACEKPROBESTATS._serialized_end=166973 + _FTRACESTATS._serialized_start=166976 + _FTRACESTATS._serialized_end=167559 + _FTRACESTATS_PHASE._serialized_start=167497 + _FTRACESTATS_PHASE._serialized_end=167559 + _FTRACEEVENTBUNDLE._serialized_start=167562 + _FTRACEEVENTBUNDLE._serialized_end=168622 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168100 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168466 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168468 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168552 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168554 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168622 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168624 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168686 + _GENERICKERNELTASKSTATEEVENT._serialized_start=168689 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169107 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168850 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169107 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169109 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169166 + _GENERICKERNELPROCESSTREE._serialized_start=169169 + _GENERICKERNELPROCESSTREE._serialized_end=169461 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169334 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169406 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169408 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169461 + _GPUCOUNTEREVENT._serialized_start=169464 + _GPUCOUNTEREVENT._serialized_end=169715 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169629 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169715 + _GPULOG._serialized_start=169718 + _GPULOG._serialized_end=169978 + _GPULOG_SEVERITY._serialized_start=169815 + _GPULOG_SEVERITY._serialized_end=169978 + _GPURENDERSTAGEEVENT._serialized_start=169981 + _GPURENDERSTAGEEVENT._serialized_end=170900 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170490 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170530 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170533 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170894 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170801 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170844 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170846 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170894 + _INTERNEDGRAPHICSCONTEXT._serialized_start=170903 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171073 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171015 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171073 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171076 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171314 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171255 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171314 + _VULKANAPIEVENT._serialized_start=171317 + _VULKANAPIEVENT._serialized_end=171760 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171503 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171617 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171620 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171751 + _VULKANMEMORYEVENTANNOTATION._serialized_start=171762 + _VULKANMEMORYEVENTANNOTATION._serialized_end=171884 + _VULKANMEMORYEVENT._serialized_start=171887 + _VULKANMEMORYEVENT._serialized_end=172759 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172372 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172505 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172507 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172624 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172627 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172759 + _INTERNEDSTRING._serialized_start=172761 + _INTERNEDSTRING._serialized_end=172803 + _LINE._serialized_start=172805 + _LINE._serialized_end=172881 + _ADDRESSSYMBOLS._serialized_start=172883 + _ADDRESSSYMBOLS._serialized_end=172954 + _MODULESYMBOLS._serialized_start=172956 + _MODULESYMBOLS._serialized_end=173061 + _MAPPING._serialized_start=173064 + _MAPPING._serialized_end=173220 + _FRAME._serialized_start=173222 + _FRAME._serialized_end=173304 + _CALLSTACK._serialized_start=173306 + _CALLSTACK._serialized_end=173349 + _HISTOGRAMNAME._serialized_start=173351 + _HISTOGRAMNAME._serialized_end=173393 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173395 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173485 + _DEBUGANNOTATION._serialized_start=173488 + _DEBUGANNOTATION._serialized_end=174428 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174000 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174380 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174330 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174380 + _DEBUGANNOTATIONNAME._serialized_start=174430 + _DEBUGANNOTATIONNAME._serialized_end=174478 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174480 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174537 + _LOGMESSAGE._serialized_start=174540 + _LOGMESSAGE._serialized_end=174799 + _LOGMESSAGE_PRIORITY._serialized_start=174654 + _LOGMESSAGE_PRIORITY._serialized_end=174799 + _LOGMESSAGEBODY._serialized_start=174801 + _LOGMESSAGEBODY._serialized_end=174844 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174846 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174923 + _SOURCELOCATION._serialized_start=174925 + _SOURCELOCATION._serialized_end=175017 + _CHROMEACTIVEPROCESSES._serialized_start=175019 + _CHROMEACTIVEPROCESSES._serialized_end=175055 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175058 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175424 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175184 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175424 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175427 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176514 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176318 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176508 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176517 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180227 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176708 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178007 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177247 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177408 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177411 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177558 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177561 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177805 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177808 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178007 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178010 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180227 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179904 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180088 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180091 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180221 + _BEGINFRAMEARGS._serialized_start=180230 + _BEGINFRAMEARGS._serialized_end=180784 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180606 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180768 + _BEGINIMPLFRAMEARGS._serialized_start=180787 + _BEGINIMPLFRAMEARGS._serialized_end=181363 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181104 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181297 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181299 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181355 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181365 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181488 + _BEGINFRAMESOURCESTATE._serialized_start=181491 + _BEGINFRAMESOURCESTATE._serialized_end=181636 + _COMPOSITORTIMINGHISTORY._serialized_start=181639 + _COMPOSITORTIMINGHISTORY._serialized_end=182019 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182021 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182083 + _CHROMEFRAMEREPORTER._serialized_start=182086 + _CHROMEFRAMEREPORTER._serialized_end=183206 + _CHROMEFRAMEREPORTER_STATE._serialized_start=182801 + _CHROMEFRAMEREPORTER_STATE._serialized_end=182910 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182912 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183038 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183040 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183163 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183165 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183202 + _CHROMEKEYEDSERVICE._serialized_start=183208 + _CHROMEKEYEDSERVICE._serialized_end=183242 + _CHROMELATENCYINFO._serialized_start=183245 + _CHROMELATENCYINFO._serialized_end=185027 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183574 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183687 + _CHROMELATENCYINFO_STEP._serialized_start=183690 + _CHROMELATENCYINFO_STEP._serialized_end=184092 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184095 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184852 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184855 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185027 + _CHROMELEGACYIPC._serialized_start=185030 + _CHROMELEGACYIPC._serialized_end=186004 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185142 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186004 + _CHROMEMESSAGEPUMP._serialized_start=186006 + _CHROMEMESSAGEPUMP._serialized_end=186090 + _CHROMEMOJOEVENTINFO._serialized_start=186093 + _CHROMEMOJOEVENTINFO._serialized_end=186297 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186299 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186425 + _CHROMEUSEREVENT._serialized_start=186427 + _CHROMEUSEREVENT._serialized_end=186481 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186483 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186563 + _SCREENSHOT._serialized_start=186565 + _SCREENSHOT._serialized_end=186596 + _TASKEXECUTION._serialized_start=186598 + _TASKEXECUTION._serialized_end=186638 + _TRACKEVENT._serialized_start=186641 + _TRACKEVENT._serialized_end=189808 + _TRACKEVENT_LEGACYEVENT._serialized_start=188830 + _TRACKEVENT_LEGACYEVENT._serialized_end=189512 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189321 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189401 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189403 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189500 + _TRACKEVENT_TYPE._serialized_start=189514 + _TRACKEVENT_TYPE._serialized_end=189620 + _TRACKEVENTDEFAULTS._serialized_start=189810 + _TRACKEVENTDEFAULTS._serialized_end=189927 + _EVENTCATEGORY._serialized_start=189929 + _EVENTCATEGORY._serialized_end=189971 + _EVENTNAME._serialized_start=189973 + _EVENTNAME._serialized_end=190011 + _INTERNEDDATA._serialized_start=190014 + _INTERNEDDATA._serialized_end=192129 + _MEMORYTRACKERSNAPSHOT._serialized_start=192132 + _MEMORYTRACKERSNAPSHOT._serialized_end=193140 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192347 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193065 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192561 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=192972 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192745 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=192972 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192926 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=192972 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=192974 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193065 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193067 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193140 + _PERFETTOMETATRACE._serialized_start=193143 + _PERFETTOMETATRACE._serialized_end=193688 + _PERFETTOMETATRACE_ARG._serialized_start=193500 + _PERFETTOMETATRACE_ARG._serialized_end=193627 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193629 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193673 + _TRACINGSERVICEEVENT._serialized_start=193691 + _TRACINGSERVICEEVENT._serialized_end=194341 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194169 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194327 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194266 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194327 + _ANDROIDENERGYCONSUMER._serialized_start=194343 + _ANDROIDENERGYCONSUMER._serialized_end=194439 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194441 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194540 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194543 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194863 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194810 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194863 + _ENTITYSTATERESIDENCY._serialized_start=194866 + _ENTITYSTATERESIDENCY._serialized_end=195309 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195047 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195149 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195152 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195309 + _BATTERYCOUNTERS._serialized_start=195312 + _BATTERYCOUNTERS._serialized_end=195489 + _POWERRAILS._serialized_start=195492 + _POWERRAILS._serialized_end=195819 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=195658 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=195752 + _POWERRAILS_ENERGYDATA._serialized_start=195754 + _POWERRAILS_ENERGYDATA._serialized_end=195819 + _OBFUSCATEDMEMBER._serialized_start=195821 + _OBFUSCATEDMEMBER._serialized_end=195891 + _OBFUSCATEDCLASS._serialized_start=195894 + _OBFUSCATEDCLASS._serialized_end=196089 + _DEOBFUSCATIONMAPPING._serialized_start=196092 + _DEOBFUSCATIONMAPPING._serialized_end=196220 + _HEAPGRAPHROOT._serialized_start=196223 + _HEAPGRAPHROOT._serialized_end=196661 + _HEAPGRAPHROOT_TYPE._serialized_start=196321 + _HEAPGRAPHROOT_TYPE._serialized_end=196661 + _HEAPGRAPHTYPE._serialized_start=196664 + _HEAPGRAPHTYPE._serialized_end=197148 + _HEAPGRAPHTYPE_KIND._serialized_start=196886 + _HEAPGRAPHTYPE_KIND._serialized_end=197148 + _HEAPGRAPHOBJECT._serialized_start=197151 + _HEAPGRAPHOBJECT._serialized_end=197607 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197493 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197593 + _HEAPGRAPH._serialized_start=197610 + _HEAPGRAPH._serialized_end=197930 + _PROFILEPACKET._serialized_start=197933 + _PROFILEPACKET._serialized_end=199401 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198241 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198427 + _PROFILEPACKET_HISTOGRAM._serialized_start=198430 + _PROFILEPACKET_HISTOGRAM._serialized_end=198573 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198509 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198573 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198576 + _PROFILEPACKET_PROCESSSTATS._serialized_end=198798 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198801 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199401 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199296 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199401 + _STREAMINGALLOCATION._serialized_start=199404 + _STREAMINGALLOCATION._serialized_end=199561 + _STREAMINGFREE._serialized_start=199563 + _STREAMINGFREE._serialized_end=199637 + _STREAMINGPROFILEPACKET._serialized_start=199639 + _STREAMINGPROFILEPACKET._serialized_end=199740 + _PROFILING._serialized_start=199743 + _PROFILING._serialized_end=200399 + _PROFILING_CPUMODE._serialized_start=199756 + _PROFILING_CPUMODE._serialized_end=199880 + _PROFILING_STACKUNWINDERROR._serialized_start=199883 + _PROFILING_STACKUNWINDERROR._serialized_end=200399 + _PERFSAMPLE._serialized_start=200402 + _PERFSAMPLE._serialized_end=201281 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=200826 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201046 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200937 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201015 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201049 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201222 + _PERFSAMPLEDEFAULTS._serialized_start=201284 + _PERFSAMPLEDEFAULTS._serialized_end=201470 + _SMAPSENTRY._serialized_start=201473 + _SMAPSENTRY._serialized_end=201860 + _SMAPSPACKET._serialized_start=201862 + _SMAPSPACKET._serialized_end=201934 + _PROCESSSTATS._serialized_start=201937 + _PROCESSSTATS._serialized_end=202764 + _PROCESSSTATS_THREAD._serialized_start=202045 + _PROCESSSTATS_THREAD._serialized_end=202084 + _PROCESSSTATS_FDINFO._serialized_start=202086 + _PROCESSSTATS_FDINFO._serialized_end=202120 + _PROCESSSTATS_PROCESS._serialized_start=202123 + _PROCESSSTATS_PROCESS._serialized_end=202764 + _PROCESSTREE._serialized_start=202767 + _PROCESSTREE._serialized_end=203159 + _PROCESSTREE_THREAD._serialized_start=202927 + _PROCESSTREE_THREAD._serialized_end=202991 + _PROCESSTREE_PROCESS._serialized_start=202994 + _PROCESSTREE_PROCESS._serialized_end=203159 + _REMOTECLOCKSYNC._serialized_start=203162 + _REMOTECLOCKSYNC._serialized_end=203373 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203251 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203373 + _ATOM._serialized_start=203375 + _ATOM._serialized_end=203381 + _STATSDATOM._serialized_start=203383 + _STATSDATOM._serialized_end=203457 + _SYSSTATS._serialized_start=203460 + _SYSSTATS._serialized_end=205484 + _SYSSTATS_MEMINFOVALUE._serialized_start=204248 + _SYSSTATS_MEMINFOVALUE._serialized_end=204324 + _SYSSTATS_VMSTATVALUE._serialized_start=204326 + _SYSSTATS_VMSTATVALUE._serialized_end=204400 + _SYSSTATS_CPUTIMES._serialized_start=204403 + _SYSSTATS_CPUTIMES._serialized_end=204583 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204585 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204629 + _SYSSTATS_DEVFREQVALUE._serialized_start=204631 + _SYSSTATS_DEVFREQVALUE._serialized_end=204673 + _SYSSTATS_BUDDYINFO._serialized_start=204675 + _SYSSTATS_BUDDYINFO._serialized_end=204735 + _SYSSTATS_DISKSTAT._serialized_start=204738 + _SYSSTATS_DISKSTAT._serialized_end=204953 + _SYSSTATS_PSISAMPLE._serialized_start=204956 + _SYSSTATS_PSISAMPLE._serialized_end=205264 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205055 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205264 + _SYSSTATS_THERMALZONE._serialized_start=205266 + _SYSSTATS_THERMALZONE._serialized_end=205321 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205323 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205378 + _SYSSTATS_CPUIDLESTATE._serialized_start=205380 + _SYSSTATS_CPUIDLESTATE._serialized_end=205484 + _CPUINFO._serialized_start=205487 + _CPUINFO._serialized_end=205819 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205542 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205652 + _CPUINFO_CPU._serialized_start=205655 + _CPUINFO_CPU._serialized_end=205819 + _TESTEVENT._serialized_start=205822 + _TESTEVENT._serialized_end=206201 + _TESTEVENT_TESTPAYLOAD._serialized_start=205959 + _TESTEVENT_TESTPAYLOAD._serialized_end=206201 + _TRACEPACKETDEFAULTS._serialized_start=206204 + _TRACEPACKETDEFAULTS._serialized_end=206446 + _TRACEUUID._serialized_start=206448 + _TRACEUUID._serialized_end=206485 + _PROCESSDESCRIPTOR._serialized_start=206488 + _PROCESSDESCRIPTOR._serialized_end=206975 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206750 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=206975 + _TRACKEVENTRANGEOFINTEREST._serialized_start=206977 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207022 + _THREADDESCRIPTOR._serialized_start=207025 + _THREADDESCRIPTOR._serialized_end=207781 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207310 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207781 + _CHROMEPROCESSDESCRIPTOR._serialized_start=207784 + _CHROMEPROCESSDESCRIPTOR._serialized_end=207939 + _CHROMETHREADDESCRIPTOR._serialized_start=207941 + _CHROMETHREADDESCRIPTOR._serialized_end=208039 + _COUNTERDESCRIPTOR._serialized_start=208042 + _COUNTERDESCRIPTOR._serialized_end=208497 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208301 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208412 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208414 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208497 + _TRACKDESCRIPTOR._serialized_start=208500 + _TRACKDESCRIPTOR._serialized_end=209552 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209224 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209310 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209313 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209499 + _TRANSLATIONTABLE._serialized_start=209555 + _TRANSLATIONTABLE._serialized_end=210048 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210051 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210225 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210176 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210225 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210228 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210419 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210364 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210419 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210422 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210777 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210669 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210722 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210724 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210777 + _SLICENAMETRANSLATIONTABLE._serialized_start=210780 + _SLICENAMETRANSLATIONTABLE._serialized_end=210974 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210914 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210974 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=210977 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211185 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210914 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210974 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211188 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211352 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210176 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210225 + _TRIGGER._serialized_start=211354 + _TRIGGER._serialized_end=211461 + _UISTATE._serialized_start=211464 + _UISTATE._serialized_end=211661 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211597 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=211661 + _TRACEPACKET._serialized_start=211664 + _TRACEPACKET._serialized_end=217848 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217661 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217765 + _TRACE._serialized_start=217850 + _TRACE._serialized_end=217903 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index a5dbbb17de0..3439cd1bfd6 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -9262,6 +9262,7 @@ class GpuCounterDescriptor(_message.Message): PIXEL: GpuCounterDescriptor.MeasureUnit PRIMITIVE: GpuCounterDescriptor.MeasureUnit PRIMITIVES: GpuCounterDescriptor.GpuCounterGroup + RAY_TRACING: GpuCounterDescriptor.GpuCounterGroup SECOND: GpuCounterDescriptor.MeasureUnit SPECS_FIELD_NUMBER: _ClassVar[int] SUPPORTS_INSTRUMENTED_SAMPLING_FIELD_NUMBER: _ClassVar[int] From f0f3d82ee515523f616b84fc81f21a8d014c4b45 Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Thu, 2 Oct 2025 18:34:46 +0200 Subject: [PATCH 003/370] Fix typo in `install-build-deps` file (#3171) --- tools/install-build-deps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/install-build-deps b/tools/install-build-deps index b402a734f47..16149b118e8 100755 --- a/tools/install-build-deps +++ b/tools/install-build-deps @@ -712,7 +712,7 @@ def InstallPythonVenv(): subprocess.check_call(cmd) cmd = [venv_pip, 'install', '-r', PYTHON_REQUIREMENTS] - logging.info(f'Updating pythong packages {" ".join(cmd)}') + logging.info(f'Updating python packages {" ".join(cmd)}') subprocess.check_call(cmd) with open(PYTHON_STATUS_FILE, 'w') as f: f.write(HashLocalFile(PYTHON_REQUIREMENTS)) From f55314fa4e7ab5d82a18cdf9a97495a4dd10f4da Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 2 Oct 2025 17:47:14 +0100 Subject: [PATCH 004/370] gitignore: add local.md files and rfcs folder to gitignore (#3175) --- .gitignore | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e0ac0a625d8..cdb6a133f08 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ .eslintcache .gclient* .gemini +.gemini/ .gm-actuals .gradle .idea @@ -23,6 +24,7 @@ .vscode *.code-workspace *.iml +*.LOCAL.md *.pyc *.sock *.swp @@ -35,12 +37,11 @@ /venv/* depot_tools/ examples/sdk/build/ +gha-creds-*.json GPATH GRTAGS GTAGS mise.toml perf.data* +rfcs TAGS - -.gemini/ -gha-creds-*.json From 663bc0cc316c4528b30b2793d599338e0487067b Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Thu, 2 Oct 2025 18:18:35 +0100 Subject: [PATCH 005/370] ui: Limit filter chip size (#3162) - Use a common component for filter chip bars and filter chips: - `GridFilterBar` - `GridFilterChip` - Use in `DataGrid` and `SqlTable` for a consistent UX. - Limit filter chip text to 300px (ellipsizing if longer). - Add the label as a title (browser controlled popup on hover showing the full filter text). - Wrap filters when they overflow (rather than scroll). image --- .../Go-to-sched/filtered.png.sha256 | 2 +- .../Go-to-sched/go-to.png.sha256 | 2 +- .../Go-to-thread-state/filtered.png.sha256 | 2 +- .../Go-to-thread-state/go-to.png.sha256 | 2 +- .../slices-table-add-argument.png.sha256 | 2 +- ...slices-table-filter-by-argument.png.sha256 | 2 +- .../slices-table-filter1.png.sha256 | 2 +- .../slices-table-filter2.png.sha256 | 2 +- .../slices-table-filter3.png.sha256 | 2 +- .../slices-table-sort-by-argument.png.sha256 | 2 +- .../slices-with-same-name.png.sha256 | 2 +- ui/src/assets/widgets/chip.scss | 21 ++++++-- ui/src/assets/widgets/grid.scss | 6 +++ ui/src/assets/widgets/sql_table.scss | 2 +- ui/src/assets/widgets/ui_main.scss | 1 + .../components/widgets/data_grid/data_grid.ts | 16 +++--- .../components/widgets/sql/table/filters.ts | 17 +++--- ui/src/widgets/chip.ts | 53 ++++--------------- ui/src/widgets/grid.ts | 24 +++++++++ 19 files changed, 85 insertions(+), 77 deletions(-) diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/filtered.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/filtered.png.sha256 index ba28ca97f11..fdf6325f6bf 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/filtered.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/filtered.png.sha256 @@ -1 +1 @@ -f542a1f5e1a8181249064be5b7af1f0107e2890da7a6ab3ba9de52793545dee1 \ No newline at end of file +b2421be0b3dca2984e884a4d6edda53a47b5cbe1859401f1a03c6a98088b47f0 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/go-to.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/go-to.png.sha256 index d1cc9d3ccc0..c563695f124 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/go-to.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-sched/go-to.png.sha256 @@ -1 +1 @@ -63fe07ff3c66a7c288366f44b997f958857e4f38deee770f3721e4e1a963f035 \ No newline at end of file +eb24293f4b322fb2d80dab393b4e46479312ce70ea5a1afdd69afc2b95cab4d0 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/filtered.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/filtered.png.sha256 index 8efcef7382d..0b54456a3fa 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/filtered.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/filtered.png.sha256 @@ -1 +1 @@ -550f2f4286ce3ec170c0426158cca111b164b90a82c30bc5838b8bd00863ccac \ No newline at end of file +0f5f7ecdfa531c3d4ed0ce861f8e17cebc1927b2cc7f4c48e3ec79ef9e697405 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/go-to.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/go-to.png.sha256 index 7eeb6d422d1..56d64883d37 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/go-to.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Go-to-thread-state/go-to.png.sha256 @@ -1 +1 @@ -0a5aaebb3d88cdc06da94be8a6a2c1b3dcb5a7cc7ee594ee2746462ec0b2886d \ No newline at end of file +84a7552777ff921345bf88190e832eba730cfe3798caffff784aea0657a77b8d \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-add-argument.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-add-argument.png.sha256 index ebfa0682e4d..bc572f867ab 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-add-argument.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-add-argument.png.sha256 @@ -1 +1 @@ -905ec3ec82f5d1722faff229622646b05a9d1c95edfd29100fdea397add2fcce \ No newline at end of file +c1f3376b0211177efe48042f2d085e83ee430dfb7150ad7f237edb2aeedc4614 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter-by-argument.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter-by-argument.png.sha256 index 64a53ba3888..14e2495d816 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter-by-argument.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter-by-argument.png.sha256 @@ -1 +1 @@ -b3f4b164bc7aeb6285d3307fe0735dd9bf58fd6ed26bacae06aba188055a3fad \ No newline at end of file +9e4a95a5976c450a2d607b63ae69354574dca16c31aae5861b14552af9e19892 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter1.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter1.png.sha256 index a9b0b1ee7ba..4871ac5b003 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter1.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter1.png.sha256 @@ -1 +1 @@ -ea3e649aa2d0026140d0293c043be67f052062da6c138ba41277af7d031a7c7b \ No newline at end of file +b16df4b6707c38e1e94ab2013dcdd049e38323fd0b49a1e1edbbec78a5978f22 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter2.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter2.png.sha256 index 55d8ac27abc..92e23229229 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter2.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter2.png.sha256 @@ -1 +1 @@ -90f0e051474a12859d9fce919f2e769a555030786a4222b235476989aa74ab42 \ No newline at end of file +611321f75732cd9c0081b82766a88a6a85c0fd16af1210bd4c5dde2a6e0a424b \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter3.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter3.png.sha256 index 7f376dab57c..4e5ac3d2071 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter3.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-filter3.png.sha256 @@ -1 +1 @@ -e4f4843aa10c4daa276d1854d958d079b21ef5ac578f2b23fef2b9050525cece \ No newline at end of file +20b6f4159af6e793ab5c0ddfa1d8ef5f1aa7cf34414067d756f7f90a28c2cad3 \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-sort-by-argument.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-sort-by-argument.png.sha256 index eb61afe59bc..945bb9e5ec4 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-sort-by-argument.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/Table-interactions/slices-table-sort-by-argument.png.sha256 @@ -1 +1 @@ -bdf2670d993c8214214bb0f67834325c36035fd826978227c0212bab642634c1 \ No newline at end of file +2de54b37a654aaf7fdb8fe830eb3cf8ffee74196beb958d96c7b9561d3a5b89e \ No newline at end of file diff --git a/test/data/ui-screenshots/table_viewer.test.ts/slices-with-same-name/slices-with-same-name.png.sha256 b/test/data/ui-screenshots/table_viewer.test.ts/slices-with-same-name/slices-with-same-name.png.sha256 index 9291e1d959e..1f62e4f2db5 100644 --- a/test/data/ui-screenshots/table_viewer.test.ts/slices-with-same-name/slices-with-same-name.png.sha256 +++ b/test/data/ui-screenshots/table_viewer.test.ts/slices-with-same-name/slices-with-same-name.png.sha256 @@ -1 +1 @@ -418caebefceb35002557b907b02ad3b7472d860ed13440d9714895286ea26919 \ No newline at end of file +37a235684aa294920e3ff5b48a399376d79c35a8e1cfc84dbf499ea952ed0153 \ No newline at end of file diff --git a/ui/src/assets/widgets/chip.scss b/ui/src/assets/widgets/chip.scss index 57c5d0f5661..95bf64c46a7 100644 --- a/ui/src/assets/widgets/chip.scss +++ b/ui/src/assets/widgets/chip.scss @@ -20,6 +20,9 @@ background: color-mix(in srgb, $base-color 15%, transparent); } + display: inline-flex; + align-items: baseline; + font-family: var(--pf-font-compact); line-height: 1; user-select: none; @@ -28,16 +31,24 @@ white-space: nowrap; min-width: max-content; border: solid 1px color-mix(in srgb, currentColor, transparent 50%); + overflow: hidden; + + &__label { + flex-shrink: 1; + text-overflow: ellipsis; + overflow: hidden; + } &--rounded { border-radius: 100px; } - & > .pf-left-icon { - margin-right: 6px; // Make some room between the icon and label + &__icon { + align-self: center; + margin-right: 6px; } - & > .pf-button { + .pf-button { margin-left: 6px; // Make some room between the icon and label } @@ -70,11 +81,11 @@ // Reduce padding when compact &.pf-compact { padding: 0px 4px; - & > .pf-left-icon { + .pf-chip__icon { margin-right: 2px; } - & > .pf-button { + .pf-button { margin-left: 2px; } } diff --git a/ui/src/assets/widgets/grid.scss b/ui/src/assets/widgets/grid.scss index 956b6ad7b40..2aa09b5138e 100644 --- a/ui/src/assets/widgets/grid.scss +++ b/ui/src/assets/widgets/grid.scss @@ -208,3 +208,9 @@ $border-3: 2px solid var(--pf-color-border); .pf-drag-over > * { pointer-events: none; } + +.pf-grid-filter { + .pf-chip__label { + max-width: 300px; + } +} diff --git a/ui/src/assets/widgets/sql_table.scss b/ui/src/assets/widgets/sql_table.scss index 5458ef94f67..40b95456d67 100644 --- a/ui/src/assets/widgets/sql_table.scss +++ b/ui/src/assets/widgets/sql_table.scss @@ -34,7 +34,7 @@ display: flex; flex-direction: column; gap: 4px; - padding-block: 4px; + padding: 2px; border-bottom: solid 1px var(--pf-color-border); } diff --git a/ui/src/assets/widgets/ui_main.scss b/ui/src/assets/widgets/ui_main.scss index e58e56e3365..c322306fa59 100644 --- a/ui/src/assets/widgets/ui_main.scss +++ b/ui/src/assets/widgets/ui_main.scss @@ -13,6 +13,7 @@ // limitations under the License. .pf-ui-main { + isolation: isolate; display: grid; grid-template-areas: "sidebar topbar" diff --git a/ui/src/components/widgets/data_grid/data_grid.ts b/ui/src/components/widgets/data_grid/data_grid.ts index 6e040c2de6f..893133d73d9 100644 --- a/ui/src/components/widgets/data_grid/data_grid.ts +++ b/ui/src/components/widgets/data_grid/data_grid.ts @@ -27,7 +27,6 @@ import { AggregationFunction, } from './common'; import {MenuDivider, MenuItem} from '../../../widgets/menu'; -import {Chip} from '../../../widgets/chip'; import {Icons} from '../../../base/semantic_icons'; import {InMemoryDataSource} from './in_memory_data_source'; import {Stack, StackAuto} from '../../../widgets/stack'; @@ -43,6 +42,8 @@ import { renderSortMenuItems, PageControl, SortDirection, + GridFilterBar, + GridFilterChip, } from '../../../widgets/grid'; import {classNames} from '../../../base/classnames'; @@ -468,19 +469,18 @@ export class DataGrid implements m.ClassComponent { }), m(StackAuto, [ showFilters && - m(Stack, {orientation: 'horizontal', wrap: true}, [ - filters.map((filter) => - m(Chip, { - label: this.formatFilter(filter), - removable: true, + m(GridFilterBar, [ + filters.map((filter) => { + return m(GridFilterChip, { + content: this.formatFilter(filter), onRemove: () => { const newFilters = filters.filter((f) => f !== filter); this.filters = newFilters; onFiltersChanged(newFilters); this.currentPage = 0; }, - }), - ), + }); + }), ]), ]), m(PageControl, { diff --git a/ui/src/components/widgets/sql/table/filters.ts b/ui/src/components/widgets/sql/table/filters.ts index a62cfe138f2..d3ba051c3ae 100644 --- a/ui/src/components/widgets/sql/table/filters.ts +++ b/ui/src/components/widgets/sql/table/filters.ts @@ -16,8 +16,7 @@ import m from 'mithril'; import {isSqlColumnEqual, SqlColumn, sqlColumnId} from './sql_column'; import {sqlValueToSqliteString} from '../../../../trace_processor/sql_utils'; import {SqlValue} from '../../../../trace_processor/query_result'; -import {Chip} from '../../../../widgets/chip'; -import {Stack} from '../../../../widgets/stack'; +import {GridFilterChip, GridFilterBar} from '../../../../widgets/grid'; // A filter which can be applied to the table. export interface Filter { @@ -111,14 +110,14 @@ export function areFiltersEqual( } export function renderFilters(filters: Filters): m.Children { - return m(Stack, {orientation: 'horizontal'}, [ - filters.get().map((filter) => - m(Chip, { - label: filterTitle(filter), - removable: true, + return m(GridFilterBar, [ + filters.get().map((filter) => { + const filterText = filterTitle(filter); + return m(GridFilterChip, { + content: filterText, onRemove: () => filters.removeFilter(filter), - }), - ), + }); + }), ]); } diff --git a/ui/src/widgets/chip.ts b/ui/src/widgets/chip.ts index 5bf416feaa1..68d10a0050e 100644 --- a/ui/src/widgets/chip.ts +++ b/ui/src/widgets/chip.ts @@ -16,15 +16,16 @@ import m from 'mithril'; import {classNames} from '../base/classnames'; import {HTMLAttrs, Intent, classForIntent} from './common'; import {Icon} from './icon'; -import {Spinner} from './spinner'; import {Button} from './button'; -interface CommonAttrs extends HTMLAttrs { +export interface ChipAttrs extends HTMLAttrs { + // Chips require a label. + readonly label: string; + // Chips can have an optional icon. + readonly icon?: string; // Use minimal padding, reducing the overall size of the chip by a few px. // Defaults to false. readonly compact?: boolean; - // Optional right icon. - readonly rightIcon?: string; // List of space separated class names forwarded to the icon. readonly className?: string; // Show loading spinner instead of icon. @@ -45,45 +46,24 @@ interface CommonAttrs extends HTMLAttrs { readonly onRemove?: () => void; } -interface IconChipAttrs extends CommonAttrs { - // Icon chips require an icon. - icon: string; -} - -interface LabelChipAttrs extends CommonAttrs { - // Label chips require a label. - label: string; - // Label chips can have an optional icon. - icon?: string; -} - -export type ChipAttrs = LabelChipAttrs | IconChipAttrs; - -function isLabelChipAttrs(attrs: ChipAttrs): attrs is LabelChipAttrs { - return (attrs as LabelChipAttrs).label !== undefined; -} - export class Chip implements m.ClassComponent { view({attrs}: m.CVnode) { const { icon, compact, - rightIcon, className, iconFilled, intent = Intent.None, rounded, removable, onRemove, + label, ...htmlAttrs } = attrs; - const label = isLabelChipAttrs(attrs) ? attrs.label : undefined; - const classes = classNames( compact && 'pf-compact', classForIntent(intent), - icon && !label && 'pf-icon-only', className, rounded && 'pf-chip--rounded', ); @@ -94,14 +74,13 @@ export class Chip implements m.ClassComponent { ...htmlAttrs, className: classes, }, - this.renderIcon(attrs), - rightIcon && + icon && m(Icon, { - className: 'pf-right-icon', - icon: rightIcon, + className: 'pf-chip__icon', + icon: icon, filled: iconFilled, }), - label || '\u200B', // Zero width space keeps chip in-flow + m('span.pf-chip__label', label), removable && m(Button, { compact: true, @@ -111,16 +90,4 @@ export class Chip implements m.ClassComponent { }), ); } - - private renderIcon(attrs: ChipAttrs): m.Children { - const {icon, iconFilled} = attrs; - const className = 'pf-left-icon'; - if (attrs.loading) { - return m(Spinner, {className}); - } else if (icon) { - return m(Icon, {className, icon, filled: iconFilled}); - } else { - return undefined; - } - } } diff --git a/ui/src/widgets/grid.ts b/ui/src/widgets/grid.ts index b0a3a1a29fb..1025f45683d 100644 --- a/ui/src/widgets/grid.ts +++ b/ui/src/widgets/grid.ts @@ -333,6 +333,7 @@ export interface PageControlAttrs { } import {Stack} from './stack'; +import {Chip} from './chip'; export class PageControl implements m.ClassComponent { view({attrs}: m.Vnode) { @@ -378,3 +379,26 @@ export class PageControl implements m.ClassComponent { ]); } } + +export class GridFilterBar implements m.ClassComponent { + view({children}: m.Vnode) { + return m(Stack, {orientation: 'horizontal', wrap: true}, children); + } +} + +export interface GridFilterAttrs { + readonly content: string; + onRemove(): void; +} + +export class GridFilterChip implements m.ClassComponent { + view({attrs}: m.Vnode): m.Children { + return m(Chip, { + className: 'pf-grid-filter', + label: attrs.content, + removable: true, + onRemove: attrs.onRemove, + title: attrs.content, + }); + } +} From 7d2ae96575efa97ddab72f0b962d22660c00a567 Mon Sep 17 00:00:00 2001 From: riazantsev Date: Thu, 2 Oct 2025 10:30:30 -0700 Subject: [PATCH 006/370] Fix: Add missing sys/types.h include for ssize_t (#3161) The build is failing on musl, is not covering it. So explicitly adding a > third_party/perfetto/include/perfetto/ext/base/small_set.h:54:40: error: unknown type name 'ssize_t'; did you mean 'size_t'? > 54 | return arr_.cbegin() + static_cast(filled_); > | ^~~~~~~ > | size_t > third_party/unsupported_toolchains/castlite/common/llvm-clang/usr/lib/clang/19/include/__stddef_size_t.h:18:23: note: 'size_t' declared here > 18 | typedef __SIZE_TYPE__ size_t; > | ^ > 1 error generated. > Signed-off-by: Volodymyr Riazantsev --- include/perfetto/ext/base/small_set.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/perfetto/ext/base/small_set.h b/include/perfetto/ext/base/small_set.h index 8ad41c7895a..1810ed6bcb2 100644 --- a/include/perfetto/ext/base/small_set.h +++ b/include/perfetto/ext/base/small_set.h @@ -20,6 +20,8 @@ #include #include +#include "perfetto/ext/base/sys_types.h" + namespace perfetto { // Set that can store up to Size items of DataType. From b4696ebad1f8d9ed72e8e42df48474bde0551f29 Mon Sep 17 00:00:00 2001 From: hteplitz-Google Date: Thu, 2 Oct 2025 13:37:21 -0700 Subject: [PATCH 007/370] temporarily disable custom descriptor loading due to bug (#3181) Bug has been found with new extra parsing descriptor feature. This PR is to rollback what is breaking normal trace viewing. --- src/trace_processor/trace_processor_storage_impl.cc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/trace_processor/trace_processor_storage_impl.cc b/src/trace_processor/trace_processor_storage_impl.cc index 1d256abae46..0f1151fba6a 100644 --- a/src/trace_processor/trace_processor_storage_impl.cc +++ b/src/trace_processor/trace_processor_storage_impl.cc @@ -56,12 +56,6 @@ TraceProcessorStorageImpl::TraceProcessorStorageImpl(const Config& cfg) kProtoTraceType); context()->reader_registry->RegisterTraceReader( kSymbolsTraceType); - for (const std::string& raw_bytes : cfg.extra_parsing_descriptors) { - // We add to the main, shared pool. - context_.descriptor_pool_->AddFromFileDescriptorSet( - reinterpret_cast(raw_bytes.data()), raw_bytes.size(), - {}, /*replace=*/true); - } } TraceProcessorStorageImpl::~TraceProcessorStorageImpl() {} From f1469e753c78b52cbb4fe1abb82141ac82903bc0 Mon Sep 17 00:00:00 2001 From: adyabr Date: Thu, 2 Oct 2025 14:12:37 -0700 Subject: [PATCH 008/370] Add a settings toggle for experimental jank classification (#3180) Add a setting to switch the color scheme of frames based on the experimental jank types --- .../proto/frame_timeline_event_parser.cc | 88 +++++++++++++------ .../proto/frame_timeline_event_parser.h | 5 ++ .../stdlib/prelude/after_eof/tables_views.sql | 7 +- .../actual_frames_track.ts | 9 +- ui/src/plugins/dev.perfetto.Frames/index.ts | 25 +++++- 5 files changed, 102 insertions(+), 32 deletions(-) diff --git a/src/trace_processor/importers/proto/frame_timeline_event_parser.cc b/src/trace_processor/importers/proto/frame_timeline_event_parser.cc index 1a5c0eb7be4..35d6fdbe79e 100644 --- a/src/trace_processor/importers/proto/frame_timeline_event_parser.cc +++ b/src/trace_processor/importers/proto/frame_timeline_event_parser.cc @@ -213,6 +213,8 @@ FrameTimelineEventParser::FrameTimelineEventParser( layer_name_id_(context->storage->InternString("Layer name")), prediction_type_id_(context->storage->InternString("Prediction type")), jank_tag_id_(context->storage->InternString("Jank tag")), + jank_tag_experimental_id_( + context->storage->InternString("Jank tag (experimental)")), is_buffer_id_(context->storage->InternString("Is Buffer?")), jank_tag_none_id_(context->storage->InternString("No Jank")), jank_tag_self_id_(context->storage->InternString("Self Jank")), @@ -252,6 +254,24 @@ void FrameTimelineEventParser::ParseExpectedDisplayFrameStart(int64_t timestamp, }); } +StringId FrameTimelineEventParser::CalculateDisplayFrameJankTag( + int32_t jank_type) { + StringId jank_tag; + if (DisplayFrameJanky(jank_type)) { + jank_tag = jank_tag_self_id_; + } else if (jank_type == FrameTimelineEvent::JANK_SF_STUFFING) { + jank_tag = jank_tag_sf_stuffing_id_; + } else if (jank_type == FrameTimelineEvent::JANK_DROPPED) { + jank_tag = jank_tag_dropped_id_; + } else if (jank_type == FrameTimelineEvent::JANK_NON_ANIMATING) { + jank_tag = jank_tag_none_animating_id_; + } else { + jank_tag = jank_tag_none_id_; + } + + return jank_tag; +} + void FrameTimelineEventParser::ParseActualDisplayFrameStart(int64_t timestamp, ConstBytes blob) { ActualDisplayFrameStartDecoder event(blob); @@ -320,18 +340,9 @@ void FrameTimelineEventParser::ParseActualDisplayFrameStart(int64_t timestamp, prediction_type_ids_[static_cast(event.prediction_type())]; } - StringId jank_tag; - if (DisplayFrameJanky(event.jank_type())) { - jank_tag = jank_tag_self_id_; - } else if (event.jank_type() == FrameTimelineEvent::JANK_SF_STUFFING) { - jank_tag = jank_tag_sf_stuffing_id_; - } else if (event.jank_type() == FrameTimelineEvent::JANK_DROPPED) { - jank_tag = jank_tag_dropped_id_; - } else if (event.jank_type() == FrameTimelineEvent::JANK_NON_ANIMATING) { - jank_tag = jank_tag_none_animating_id_; - } else { - jank_tag = jank_tag_none_id_; - } + const StringId jank_tag = CalculateDisplayFrameJankTag(event.jank_type()); + const StringId jank_tag_experimental = + CalculateDisplayFrameJankTag(event.jank_type_experimental()); std::optional opt_slice_id = context_->slice_tracker->Begin( timestamp, track_id, kNullStringId, name_id, @@ -356,6 +367,8 @@ void FrameTimelineEventParser::ParseActualDisplayFrameStart(int64_t timestamp, inserter->AddArg(prediction_type_id_, Variadic::String(prediction_type)); inserter->AddArg(jank_tag_id_, Variadic::String(jank_tag)); + inserter->AddArg(jank_tag_experimental_id_, + Variadic::String(jank_tag_experimental)); }); // SurfaceFrames will always be parsed before the matching DisplayFrame @@ -425,6 +438,28 @@ void FrameTimelineEventParser::ParseExpectedSurfaceFrameStart(int64_t timestamp, }); } +StringId FrameTimelineEventParser::CalculateSurfaceFrameJankTag( + int32_t jank_type, + std::optional present_type_opt) { + StringId jank_tag; + if (SurfaceFrameJanky(jank_type)) { + jank_tag = jank_tag_self_id_; + } else if (DisplayFrameJanky(jank_type)) { + jank_tag = jank_tag_other_id_; + } else if (jank_type == FrameTimelineEvent::JANK_BUFFER_STUFFING) { + jank_tag = jank_tag_buffer_stuffing_id_; + } else if (present_type_opt.has_value() && + *present_type_opt == FrameTimelineEvent::PRESENT_DROPPED) { + jank_tag = jank_tag_dropped_id_; + } else if (jank_type == FrameTimelineEvent::JANK_NON_ANIMATING) { + jank_tag = jank_tag_none_animating_id_; + } else { + jank_tag = jank_tag_none_id_; + } + + return jank_tag; +} + void FrameTimelineEventParser::ParseActualSurfaceFrameStart(int64_t timestamp, ConstBytes blob) { ActualSurfaceFrameStartDecoder event(blob); @@ -469,8 +504,10 @@ void FrameTimelineEventParser::ParseActualSurfaceFrameStart(int64_t timestamp, // parse present type experimental StringId present_type_experimental = present_type_experimental_ids_[0]; + bool present_type_experimental_validated = false; if (event.has_present_type_experimental() && ValidatePresentType(context_, event.present_type_experimental())) { + present_type_experimental_validated = true; present_type_experimental = present_type_experimental_ids_[static_cast( event.present_type_experimental())]; @@ -504,21 +541,16 @@ void FrameTimelineEventParser::ParseActualSurfaceFrameStart(int64_t timestamp, prediction_type_ids_[static_cast(event.prediction_type())]; } - StringId jank_tag; - if (SurfaceFrameJanky(event.jank_type())) { - jank_tag = jank_tag_self_id_; - } else if (DisplayFrameJanky(event.jank_type())) { - jank_tag = jank_tag_other_id_; - } else if (event.jank_type() == FrameTimelineEvent::JANK_BUFFER_STUFFING) { - jank_tag = jank_tag_buffer_stuffing_id_; - } else if (present_type_validated && - event.present_type() == FrameTimelineEvent::PRESENT_DROPPED) { - jank_tag = jank_tag_dropped_id_; - } else if (event.jank_type() == FrameTimelineEvent::JANK_NON_ANIMATING) { - jank_tag = jank_tag_none_animating_id_; - } else { - jank_tag = jank_tag_none_id_; - } + const StringId jank_tag = CalculateSurfaceFrameJankTag( + event.jank_type(), present_type_validated + ? std::make_optional(event.present_type()) + : std::nullopt); + const StringId jank_tag_experimental = CalculateSurfaceFrameJankTag( + event.jank_type_experimental(), + present_type_experimental_validated + ? std::make_optional(event.present_type_experimental()) + : std::nullopt); + StringId is_buffer = context_->storage->InternString("Unspecified"); if (event.has_is_buffer()) { if (event.is_buffer()) { @@ -556,6 +588,8 @@ void FrameTimelineEventParser::ParseActualSurfaceFrameStart(int64_t timestamp, inserter->AddArg(prediction_type_id_, Variadic::String(prediction_type)); inserter->AddArg(jank_tag_id_, Variadic::String(jank_tag)); + inserter->AddArg(jank_tag_experimental_id_, + Variadic::String(jank_tag_experimental)); inserter->AddArg(is_buffer_id_, Variadic::String(is_buffer)); }); diff --git a/src/trace_processor/importers/proto/frame_timeline_event_parser.h b/src/trace_processor/importers/proto/frame_timeline_event_parser.h index 89d33f10ef3..b711daf7488 100644 --- a/src/trace_processor/importers/proto/frame_timeline_event_parser.h +++ b/src/trace_processor/importers/proto/frame_timeline_event_parser.h @@ -57,9 +57,13 @@ class FrameTimelineEventParser { void ParseExpectedDisplayFrameStart(int64_t timestamp, ConstBytes); void ParseActualDisplayFrameStart(int64_t timestamp, ConstBytes); + StringId CalculateDisplayFrameJankTag(int32_t jank_type); void ParseExpectedSurfaceFrameStart(int64_t timestamp, ConstBytes); void ParseActualSurfaceFrameStart(int64_t timestamp, ConstBytes); + StringId CalculateSurfaceFrameJankTag( + int32_t jank_type, + std::optional present_type_opt); void ParseFrameEnd(int64_t timestamp, ConstBytes); @@ -90,6 +94,7 @@ class FrameTimelineEventParser { const StringId layer_name_id_; const StringId prediction_type_id_; const StringId jank_tag_id_; + const StringId jank_tag_experimental_id_; const StringId is_buffer_id_; const StringId jank_tag_none_id_; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql index c66a276c403..c05bd9b5ef2 100644 --- a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql @@ -1030,7 +1030,9 @@ CREATE PERFETTO TABLE actual_frame_timeline_slice ( -- Frame's prediction type (eg. valid / expired). prediction_type STRING, -- Jank tag based on jank type, used for slice visualization. - jank_tag STRING + jank_tag STRING, + -- Jank tag (experimental) based on jank type, used for slice visualization. + jank_tag_experimental STRING ) AS SELECT s.id, @@ -1052,7 +1054,8 @@ SELECT extract_arg(s.arg_set_id, 'Jank type') AS jank_type, extract_arg(s.arg_set_id, 'Jank severity type') AS jank_severity_type, extract_arg(s.arg_set_id, 'Prediction type') AS prediction_type, - extract_arg(s.arg_set_id, 'Jank tag') AS jank_tag + extract_arg(s.arg_set_id, 'Jank tag') AS jank_tag, + extract_arg(s.arg_set_id, 'Jank tag (experimental)') AS jank_tag_experimental FROM slice AS s JOIN process_track AS t ON s.track_id = t.id diff --git a/ui/src/plugins/dev.perfetto.Frames/actual_frames_track.ts b/ui/src/plugins/dev.perfetto.Frames/actual_frames_track.ts index c6ad1faeeca..064f5b7154d 100644 --- a/ui/src/plugins/dev.perfetto.Frames/actual_frames_track.ts +++ b/ui/src/plugins/dev.perfetto.Frames/actual_frames_track.ts @@ -43,6 +43,7 @@ export function createActualFramesTrack( uri: string, maxDepth: number, trackIds: ReadonlyArray, + useExperimentalJankForClassification: boolean, ) { return SliceTrack.create({ trace, @@ -56,6 +57,7 @@ export function createActualFramesTrack( dur: LONG, jank_type: STR, jank_tag: STR_NULL, + jank_tag_experimental: STR_NULL, jank_severity_type: STR_NULL, arg_set_id: NUM, track_id: NUM, @@ -66,7 +68,12 @@ export function createActualFramesTrack( }, }), colorizer: (row) => { - return getColorSchemeForJank(row.jank_tag, row.jank_severity_type); + return getColorSchemeForJank( + useExperimentalJankForClassification + ? row.jank_tag_experimental + : row.jank_tag, + row.jank_severity_type, + ); }, initialMaxDepth: maxDepth, rootTableName: 'slice', diff --git a/ui/src/plugins/dev.perfetto.Frames/index.ts b/ui/src/plugins/dev.perfetto.Frames/index.ts index acf437c7a43..1125e4b98d1 100644 --- a/ui/src/plugins/dev.perfetto.Frames/index.ts +++ b/ui/src/plugins/dev.perfetto.Frames/index.ts @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +import {App} from '../../public/app'; import {createAggregationTab} from '../../components/aggregation_adapter'; import {PerfettoPlugin} from '../../public/plugin'; import {Trace} from '../../public/trace'; @@ -25,15 +26,29 @@ import { ACTUAL_FRAMES_SLICE_TRACK_KIND, FrameSelectionAggregator, } from './frame_selection_aggregator'; +import {Setting} from '../../public/settings'; +import {z} from 'zod'; // Build a standardized URI for a frames track function makeUri(upid: number, kind: 'expected_frames' | 'actual_frames') { return `/process_${upid}/${kind}`; } -export default class implements PerfettoPlugin { +export default class Frames implements PerfettoPlugin { static readonly id = 'dev.perfetto.Frames'; static readonly dependencies = [ProcessThreadGroupsPlugin]; + static useExperimentalJankForClassification: Setting; + + static onActivate(app: App): void { + Frames.useExperimentalJankForClassification = app.settings.register({ + id: `${app.pluginId}#useExperimentalJankForClassification`, + name: 'Use experimental jank classificaiton (alpha)', + description: 'Use alternative method to classify jank. Not recommented.', + schema: z.boolean(), + defaultValue: false, + requiresReload: true, + }); + } async onTraceLoad(ctx: Trace): Promise { this.addExpectedFrames(ctx); @@ -131,7 +146,13 @@ export default class implements PerfettoPlugin { const uri = makeUri(upid, 'actual_frames'); ctx.tracks.registerTrack({ uri, - renderer: createActualFramesTrack(ctx, uri, maxDepth, trackIds), + renderer: createActualFramesTrack( + ctx, + uri, + maxDepth, + trackIds, + Frames.useExperimentalJankForClassification.get(), + ), tags: { upid, trackIds, From 04a02eb5f60c25daf3a07fbfa3aefeef366760d3 Mon Sep 17 00:00:00 2001 From: Samuel Wu Date: Thu, 2 Oct 2025 14:34:36 -0700 Subject: [PATCH 009/370] stdlib: Add functionality to extrapolate cpu_idle state (#3178) Extrapolate or infer the cpuidle state based on the swapper thread (aka idle thread) when cpu_idle trace events are not available. This allows for a best effort power estimate of AoT traces and other traces that may not have the cpu_idle event. Additionally, make corresponding changes to metrics and UI that rely upon Wattson, so that there is an indication of when the cpuidle state is based on the real trace event or when it's extrapolated. Bug: 435479190 Signed-off-by: Samuel Wu --- .../android/wattson_in_time_period.proto | 7 +- .../android/wattson_tasks_attribution.proto | 7 +- .../metrics/perfetto_merged_metrics.proto | 14 +++- .../trace_processor/metrics.descriptor | 18 +++-- .../sql/android/wattson_app_startup_rails.sql | 8 +- .../android/wattson_app_startup_threads.sql | 8 +- .../sql/android/wattson_atrace_apps_rails.sql | 8 +- .../android/wattson_atrace_apps_threads.sql | 8 +- .../sql/android/wattson_markers_rails.sql | 8 +- .../sql/android/wattson_markers_threads.sql | 4 +- .../sql/android/wattson_rail_relations.sql | 7 ++ .../sql/android/wattson_tasks_attribution.sql | 6 ++ .../sql/android/wattson_trace_rails.sql | 8 +- .../sql/android/wattson_trace_threads.sql | 8 +- .../perfetto_sql/stdlib/wattson/cpu/idle.sql | 80 +++++++++++++++++-- test/data/wattson_tk4_aot.pb.sha256 | 1 + .../diff_tests/metrics/android/tests.py | 71 ++++++++++++++++ .../android/wattson_app_startup_threads.out | 1 + .../android/wattson_atrace_apps_rails.out | 1 + .../android/wattson_atrace_apps_threads.out | 3 +- .../android/wattson_markers_threads.out | 1 + .../metrics/android/wattson_trace_threads.out | 1 + ui/src/plugins/org.kernel.Wattson/index.ts | 78 +++++++++++++----- 23 files changed, 294 insertions(+), 62 deletions(-) create mode 100644 test/data/wattson_tk4_aot.pb.sha256 diff --git a/protos/perfetto/metrics/android/wattson_in_time_period.proto b/protos/perfetto/metrics/android/wattson_in_time_period.proto index aab6f448b57..438a78ddbec 100644 --- a/protos/perfetto/metrics/android/wattson_in_time_period.proto +++ b/protos/perfetto/metrics/android/wattson_in_time_period.proto @@ -25,7 +25,12 @@ message AndroidWattsonTimePeriodMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; - repeated AndroidWattsonEstimateInfo period_info = 3; + // Best effort power estimate made without all the essential traces, but with + // enough information to make an educated extrapolation of a HW state. The + // only example right now is for cpu_idle, of which the cpu_idle state can be + // extrapolated from the swapper thread (aka idle thread). + optional bool is_crude_estimate = 3; + repeated AndroidWattsonEstimateInfo period_info = 4; } message AndroidWattsonEstimateInfo { diff --git a/protos/perfetto/metrics/android/wattson_tasks_attribution.proto b/protos/perfetto/metrics/android/wattson_tasks_attribution.proto index d2de4bb2e36..340bbb42354 100644 --- a/protos/perfetto/metrics/android/wattson_tasks_attribution.proto +++ b/protos/perfetto/metrics/android/wattson_tasks_attribution.proto @@ -25,8 +25,13 @@ message AndroidWattsonTasksAttributionMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + // Best effort power estimate made without all the essential traces, but with + // enough information to make an educated extrapolation of a HW state. The + // only example right now is for cpu_idle, of which the cpu_idle state can be + // extrapolated from the swapper thread (aka idle thread). + optional bool is_crude_estimate = 3; // Lists tasks (e.g. threads, process, package) and associated estimates - repeated AndroidWattsonTaskPeriodInfo period_info = 3; + repeated AndroidWattsonTaskPeriodInfo period_info = 4; } // Groups of power per task for each period diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto index 40c64e22160..982c1758a21 100644 --- a/protos/perfetto/metrics/perfetto_merged_metrics.proto +++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto @@ -3150,7 +3150,12 @@ message AndroidWattsonTimePeriodMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; - repeated AndroidWattsonEstimateInfo period_info = 3; + // Best effort power estimate made without all the essential traces, but with + // enough information to make an educated extrapolation of a HW state. The + // only example right now is for cpu_idle, of which the cpu_idle state can be + // extrapolated from the swapper thread (aka idle thread). + optional bool is_crude_estimate = 3; + repeated AndroidWattsonEstimateInfo period_info = 4; } message AndroidWattsonEstimateInfo { @@ -3215,8 +3220,13 @@ message AndroidWattsonTasksAttributionMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + // Best effort power estimate made without all the essential traces, but with + // enough information to make an educated extrapolation of a HW state. The + // only example right now is for cpu_idle, of which the cpu_idle state can be + // extrapolated from the swapper thread (aka idle thread). + optional bool is_crude_estimate = 3; // Lists tasks (e.g. threads, process, package) and associated estimates - repeated AndroidWattsonTaskPeriodInfo period_info = 3; + repeated AndroidWattsonTaskPeriodInfo period_info = 4; } // Groups of power per task for each period diff --git a/python/perfetto/trace_processor/metrics.descriptor b/python/perfetto/trace_processor/metrics.descriptor index 9a4a4ad32df..3ceb2c9b493 100644 --- a/python/perfetto/trace_processor/metrics.descriptor +++ b/python/perfetto/trace_processor/metrics.descriptor @@ -1533,12 +1533,13 @@ destBucket avg_duration (R avgDuration! max_duration (R maxDuration! sum_duration (R sumDuration -ê - { - const requiredFtraceEvents: string[] = [ - 'power/cpu_frequency', - 'power/cpu_idle', - ]; + const requiredFtraceEvents: string[] = ['power/cpu_frequency']; const dsuDependencyQuery = await engine.query( ` @@ -145,6 +148,14 @@ async function hasWattsonSufficientCPUConfigs( return missingEvents; } +async function hasCpuIdleCounters(engine: Engine): Promise { + const checkValue = await engine.query(` + INCLUDE PERFETTO MODULE wattson.cpu.idle; + SELECT COUNT(*) as numRows from _wattson_cpuidle_counters_exist + `); + return checkValue.firstRow({numRows: NUM}).numRows > 0; +} + async function hasWattsonMarkersSupport(engine: Engine): Promise { const checkValue = await engine.query(` INCLUDE PERFETTO MODULE wattson.utils; @@ -166,8 +177,8 @@ async function hasWattsonCpuSupport(engine: Engine): Promise { SELECT COUNT(*) as numRows FROM cpu_frequency_counters `, ` - INCLUDE PERFETTO MODULE linux.cpu.idle; - SELECT COUNT(*) as numRows FROM cpu_idle_counters + INCLUDE PERFETTO MODULE wattson.cpu.idle; + SELECT COUNT(*) as numRows FROM _adjusted_deep_idle `, ]; for (const queryCheck of queryChecks) { @@ -224,22 +235,49 @@ async function addWattsonMarkersElements(ctx: Trace, group: TrackNode) { group.addChildInOrder(new TrackNode({uri, name: 'Wattson markers window'})); } +function createCpuWarnings( + missingEvents: string[], + realCpuIdleCounters: boolean, +): Vnode | undefined { + const warningMsg: Vnode[] = []; + + if (missingEvents.length > 0) { + warningMsg.push( + m( + '.pf-wattson-warning', + 'Perfetto trace configuration is missing below trace_events for Wattson to work. ', + m( + '.pf-wattson-warning__list', + missingEvents.map((event) => m('li', event)), + ), + ), + ); + } + + if (!realCpuIdleCounters) { + if (warningMsg.length > 0) { + warningMsg.push(m('hr')); + } + warningMsg.push( + m( + 'p', + '`cpu_idle` counters are not available in this trace; deriving cpu_idle counters from the swapper thread.', + ), + ); + } + + return warningMsg.length > 0 + ? m('.pf-wattson-warning', warningMsg) + : undefined; +} + async function addWattsonCpuElements( ctx: Trace, group: TrackNode, missingEvents: string[], + hasCpuIdleCounters: boolean, ) { - const warningDesc = - missingEvents.length > 0 - ? m( - '.pf-wattson-warning', - 'Perfetto trace configuration is missing below trace_events for Wattson to work:', - m( - '.pf-wattson-warning__list', - missingEvents.map((event) => m('li', event)), - ), - ) - : undefined; + const warningDesc = createCpuWarnings(missingEvents, hasCpuIdleCounters); // CPUs estimate as part of CPU subsystem const schedPlugin = ctx.plugins.getPlugin(SchedPlugin); From 69bd8a4b80aca14a9f07b5443572bb34150e496c Mon Sep 17 00:00:00 2001 From: adyabr Date: Thu, 2 Oct 2025 20:49:57 -0700 Subject: [PATCH 010/370] Show an additional track for experimental jank classification for a side-by-side comparison (#3184) This make debugging the new classification more easy --- .../proto/frame_timeline_event_parser.cc | 9 +++-- .../proto/frame_timeline_event_parser.h | 1 + ui/src/plugins/dev.perfetto.Frames/index.ts | 36 +++++++++++++------ 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/trace_processor/importers/proto/frame_timeline_event_parser.cc b/src/trace_processor/importers/proto/frame_timeline_event_parser.cc index 35d6fdbe79e..424cec180bd 100644 --- a/src/trace_processor/importers/proto/frame_timeline_event_parser.cc +++ b/src/trace_processor/importers/proto/frame_timeline_event_parser.cc @@ -216,6 +216,7 @@ FrameTimelineEventParser::FrameTimelineEventParser( jank_tag_experimental_id_( context->storage->InternString("Jank tag (experimental)")), is_buffer_id_(context->storage->InternString("Is Buffer?")), + jank_tag_unspecified_id_(context->storage->InternString("Unspecified")), jank_tag_none_id_(context->storage->InternString("No Jank")), jank_tag_self_id_(context->storage->InternString("Self Jank")), jank_tag_other_id_(context->storage->InternString("Other Jank")), @@ -257,7 +258,9 @@ void FrameTimelineEventParser::ParseExpectedDisplayFrameStart(int64_t timestamp, StringId FrameTimelineEventParser::CalculateDisplayFrameJankTag( int32_t jank_type) { StringId jank_tag; - if (DisplayFrameJanky(jank_type)) { + if (jank_type == FrameTimelineEvent::JANK_UNSPECIFIED) { + jank_tag = jank_tag_unspecified_id_; + } else if (DisplayFrameJanky(jank_type)) { jank_tag = jank_tag_self_id_; } else if (jank_type == FrameTimelineEvent::JANK_SF_STUFFING) { jank_tag = jank_tag_sf_stuffing_id_; @@ -442,7 +445,9 @@ StringId FrameTimelineEventParser::CalculateSurfaceFrameJankTag( int32_t jank_type, std::optional present_type_opt) { StringId jank_tag; - if (SurfaceFrameJanky(jank_type)) { + if (jank_type == FrameTimelineEvent::JANK_UNSPECIFIED) { + jank_tag = jank_tag_unspecified_id_; + } else if (SurfaceFrameJanky(jank_type)) { jank_tag = jank_tag_self_id_; } else if (DisplayFrameJanky(jank_type)) { jank_tag = jank_tag_other_id_; diff --git a/src/trace_processor/importers/proto/frame_timeline_event_parser.h b/src/trace_processor/importers/proto/frame_timeline_event_parser.h index b711daf7488..f4d38a722f5 100644 --- a/src/trace_processor/importers/proto/frame_timeline_event_parser.h +++ b/src/trace_processor/importers/proto/frame_timeline_event_parser.h @@ -97,6 +97,7 @@ class FrameTimelineEventParser { const StringId jank_tag_experimental_id_; const StringId is_buffer_id_; + const StringId jank_tag_unspecified_id_; const StringId jank_tag_none_id_; const StringId jank_tag_self_id_; const StringId jank_tag_other_id_; diff --git a/ui/src/plugins/dev.perfetto.Frames/index.ts b/ui/src/plugins/dev.perfetto.Frames/index.ts index 1125e4b98d1..c53ecdf80ba 100644 --- a/ui/src/plugins/dev.perfetto.Frames/index.ts +++ b/ui/src/plugins/dev.perfetto.Frames/index.ts @@ -30,19 +30,22 @@ import {Setting} from '../../public/settings'; import {z} from 'zod'; // Build a standardized URI for a frames track -function makeUri(upid: number, kind: 'expected_frames' | 'actual_frames') { +function makeUri( + upid: number, + kind: 'expected_frames' | 'actual_frames' | 'actual_frames_experimental', +) { return `/process_${upid}/${kind}`; } export default class Frames implements PerfettoPlugin { static readonly id = 'dev.perfetto.Frames'; static readonly dependencies = [ProcessThreadGroupsPlugin]; - static useExperimentalJankForClassification: Setting; + static showExperimentalJankClassification: Setting; static onActivate(app: App): void { - Frames.useExperimentalJankForClassification = app.settings.register({ - id: `${app.pluginId}#useExperimentalJankForClassification`, - name: 'Use experimental jank classificaiton (alpha)', + Frames.showExperimentalJankClassification = app.settings.register({ + id: `${app.pluginId}#showExperimentalJankClassification`, + name: 'show experimental jank classificaiton track (alpha)', description: 'Use alternative method to classify jank. Not recommented.', schema: z.boolean(), defaultValue: false, @@ -52,7 +55,10 @@ export default class Frames implements PerfettoPlugin { async onTraceLoad(ctx: Trace): Promise { this.addExpectedFrames(ctx); - this.addActualFrames(ctx); + this.addActualFrames(ctx, false); + if (Frames.showExperimentalJankClassification.get()) { + this.addActualFrames(ctx, true); + } ctx.selection.registerAreaSelectionTab( createAggregationTab(ctx, new FrameSelectionAggregator(), 10), ); @@ -112,7 +118,10 @@ export default class Frames implements PerfettoPlugin { } } - async addActualFrames(ctx: Trace): Promise { + async addActualFrames( + ctx: Trace, + useExperimentalTrack: boolean, + ): Promise { const {engine} = ctx; const result = await engine.query(` with summary as ( @@ -143,7 +152,14 @@ export default class Frames implements PerfettoPlugin { const trackIds = rawTrackIds.split(',').map((v) => Number(v)); const maxDepth = it.maxDepth; - const uri = makeUri(upid, 'actual_frames'); + const uriKind = useExperimentalTrack + ? 'actual_frames_experimental' + : 'actual_frames'; + const trackKinds = [SLICE_TRACK_KIND]; + if (!useExperimentalTrack) { + trackKinds.push(ACTUAL_FRAMES_SLICE_TRACK_KIND); + } + const uri = makeUri(upid, uriKind); ctx.tracks.registerTrack({ uri, renderer: createActualFramesTrack( @@ -151,12 +167,12 @@ export default class Frames implements PerfettoPlugin { uri, maxDepth, trackIds, - Frames.useExperimentalJankForClassification.get(), + useExperimentalTrack, ), tags: { upid, trackIds, - kinds: [SLICE_TRACK_KIND, ACTUAL_FRAMES_SLICE_TRACK_KIND], + kinds: trackKinds, }, }); const group = ctx.plugins From b6e6c4d600d07e3974db4db36e0010291ce49441 Mon Sep 17 00:00:00 2001 From: Samuel Wu Date: Fri, 3 Oct 2025 16:17:26 -0700 Subject: [PATCH 011/370] metrics: Maintain original protobuf tag order (#3186) Protobuf uses the tag order (e.g. = 1, = 2) and not the field name to identify fields. Revert back to the original tag order, and move the newly added tag (from https://github.com/google/perfetto/pull/3178) to be appended to the original tag order. Some teams use the tag order and others use the field name to identify key-value pairs, so moving forward, both need to be consistent for backwards compatibility. Bug: 371634124 Signed-off-by: Samuel Wu --- .../metrics/android/wattson_in_time_period.proto | 4 ++-- .../android/wattson_tasks_attribution.proto | 6 +++--- .../metrics/perfetto_merged_metrics.proto | 10 +++++----- .../perfetto/trace_processor/metrics.descriptor | 16 ++++++++-------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/protos/perfetto/metrics/android/wattson_in_time_period.proto b/protos/perfetto/metrics/android/wattson_in_time_period.proto index 438a78ddbec..d241e16d5ae 100644 --- a/protos/perfetto/metrics/android/wattson_in_time_period.proto +++ b/protos/perfetto/metrics/android/wattson_in_time_period.proto @@ -25,12 +25,12 @@ message AndroidWattsonTimePeriodMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + repeated AndroidWattsonEstimateInfo period_info = 3; // Best effort power estimate made without all the essential traces, but with // enough information to make an educated extrapolation of a HW state. The // only example right now is for cpu_idle, of which the cpu_idle state can be // extrapolated from the swapper thread (aka idle thread). - optional bool is_crude_estimate = 3; - repeated AndroidWattsonEstimateInfo period_info = 4; + optional bool is_crude_estimate = 4; } message AndroidWattsonEstimateInfo { diff --git a/protos/perfetto/metrics/android/wattson_tasks_attribution.proto b/protos/perfetto/metrics/android/wattson_tasks_attribution.proto index 340bbb42354..1821d4df32a 100644 --- a/protos/perfetto/metrics/android/wattson_tasks_attribution.proto +++ b/protos/perfetto/metrics/android/wattson_tasks_attribution.proto @@ -25,13 +25,13 @@ message AndroidWattsonTasksAttributionMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + // Lists tasks (e.g. threads, process, package) and associated estimates + repeated AndroidWattsonTaskPeriodInfo period_info = 3; // Best effort power estimate made without all the essential traces, but with // enough information to make an educated extrapolation of a HW state. The // only example right now is for cpu_idle, of which the cpu_idle state can be // extrapolated from the swapper thread (aka idle thread). - optional bool is_crude_estimate = 3; - // Lists tasks (e.g. threads, process, package) and associated estimates - repeated AndroidWattsonTaskPeriodInfo period_info = 4; + optional bool is_crude_estimate = 4; } // Groups of power per task for each period diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto index 982c1758a21..472a27d3b97 100644 --- a/protos/perfetto/metrics/perfetto_merged_metrics.proto +++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto @@ -3150,12 +3150,12 @@ message AndroidWattsonTimePeriodMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + repeated AndroidWattsonEstimateInfo period_info = 3; // Best effort power estimate made without all the essential traces, but with // enough information to make an educated extrapolation of a HW state. The // only example right now is for cpu_idle, of which the cpu_idle state can be // extrapolated from the swapper thread (aka idle thread). - optional bool is_crude_estimate = 3; - repeated AndroidWattsonEstimateInfo period_info = 4; + optional bool is_crude_estimate = 4; } message AndroidWattsonEstimateInfo { @@ -3220,13 +3220,13 @@ message AndroidWattsonTasksAttributionMetric { // might change for the exact same input. Don't compare estimates across // different power model versions. optional int32 power_model_version = 2; + // Lists tasks (e.g. threads, process, package) and associated estimates + repeated AndroidWattsonTaskPeriodInfo period_info = 3; // Best effort power estimate made without all the essential traces, but with // enough information to make an educated extrapolation of a HW state. The // only example right now is for cpu_idle, of which the cpu_idle state can be // extrapolated from the swapper thread (aka idle thread). - optional bool is_crude_estimate = 3; - // Lists tasks (e.g. threads, process, package) and associated estimates - repeated AndroidWattsonTaskPeriodInfo period_info = 4; + optional bool is_crude_estimate = 4; } // Groups of power per task for each period diff --git a/python/perfetto/trace_processor/metrics.descriptor b/python/perfetto/trace_processor/metrics.descriptor index 3ceb2c9b493..5d4259bec3f 100644 --- a/python/perfetto/trace_processor/metrics.descriptor +++ b/python/perfetto/trace_processor/metrics.descriptor @@ -1537,10 +1537,10 @@ destBucket Date: Mon, 6 Oct 2025 17:26:12 +0100 Subject: [PATCH 012/370] protozero: remove vestigal template arg from TypedProtoDecoder (#3191) Introduced in 2019 for packed repeated fields, unused since 2021 when the implementation was changed to use dynamic allocations. See: https://github.com/google/perfetto/commit/343fb7a1aea50006f4b61fddc8106acaad9ef000 --- include/perfetto/protozero/proto_decoder.h | 2 +- src/protozero/proto_decoder_fuzzer.cc | 5 ++- src/protozero/proto_decoder_unittest.cc | 33 +++++++++---------- .../protoc_plugin/protozero_plugin.cc | 9 ++--- .../metrics/metrics_unittest.cc | 30 ++++++++--------- 5 files changed, 34 insertions(+), 45 deletions(-) diff --git a/include/perfetto/protozero/proto_decoder.h b/include/perfetto/protozero/proto_decoder.h index 0346fc33738..43e92f3454d 100644 --- a/include/perfetto/protozero/proto_decoder.h +++ b/include/perfetto/protozero/proto_decoder.h @@ -499,7 +499,7 @@ class PERFETTO_EXPORT_COMPONENT TypedProtoDecoderBase : public ProtoDecoder { // Template class instantiated by the auto-generated decoder classes declared in // xxx.pbzero.h files. -template +template class TypedProtoDecoder : public TypedProtoDecoderBase { public: TypedProtoDecoder(const uint8_t* buffer, size_t length) diff --git a/src/protozero/proto_decoder_fuzzer.cc b/src/protozero/proto_decoder_fuzzer.cc index 6a6d2169e57..972e1e4a914 100644 --- a/src/protozero/proto_decoder_fuzzer.cc +++ b/src/protozero/proto_decoder_fuzzer.cc @@ -17,7 +17,6 @@ #include #include -#include "perfetto/base/logging.h" #include "perfetto/protozero/proto_decoder.h" namespace protozero { @@ -29,8 +28,8 @@ int FuzzProtoDecoder(const uint8_t* data, size_t size) { for (auto field = dec.ReadField(); field.valid(); field = dec.ReadField()) { value += field.raw_int_value(); } - TypedProtoDecoder<1, 0> typed_decoder_1(data, size); - TypedProtoDecoder<999, 0> typed_decoder_2(data, size); + TypedProtoDecoder<1> typed_decoder_1(data, size); + TypedProtoDecoder<999> typed_decoder_2(data, size); return 0; } diff --git a/src/protozero/proto_decoder_unittest.cc b/src/protozero/proto_decoder_unittest.cc index 767852343f2..0164b747d04 100644 --- a/src/protozero/proto_decoder_unittest.cc +++ b/src/protozero/proto_decoder_unittest.cc @@ -46,7 +46,7 @@ TEST(ProtoDecoderTest, ReadString) { static constexpr char kTestString[] = "test"; message->AppendString(1, kTestString); std::vector proto = message.SerializeAsArray(); - TypedProtoDecoder<32, false> decoder(proto.data(), proto.size()); + TypedProtoDecoder<32> decoder(proto.data(), proto.size()); const auto& field = decoder.Get(1); ASSERT_EQ(field.type(), ProtoWireType::kLengthDelimited); @@ -97,7 +97,7 @@ TEST(ProtoDecoderTest, SingleRepeatedField) { HeapBuffered message; message->AppendVarInt(/*field_id=*/2, 10); auto data = message.SerializeAsArray(); - TypedProtoDecoder<2, true> tpd(data.data(), data.size()); + TypedProtoDecoder<2> tpd(data.data(), data.size()); auto it = tpd.GetRepeated(/*field_id=*/2); EXPECT_TRUE(it); EXPECT_EQ(it.field().as_int32(), 10); @@ -113,7 +113,7 @@ TEST(ProtoDecoderTest, RepeatedVariableLengthField) { message->AppendString(1, kTestString); message->AppendString(1, kTestString2); std::vector proto = message.SerializeAsArray(); - TypedProtoDecoder<32, false> decoder(proto.data(), proto.size()); + TypedProtoDecoder<32> decoder(proto.data(), proto.size()); auto it = decoder.GetRepeated(1); ASSERT_EQ(it->type(), ProtoWireType::kLengthDelimited); @@ -133,7 +133,7 @@ TEST(ProtoDecoderTest, SingleRepeatedFieldWithExpansion) { message->AppendVarInt(/*field_id=*/2, i); } auto data = message.SerializeAsArray(); - TypedProtoDecoder<2, true> tpd(data.data(), data.size()); + TypedProtoDecoder<2> tpd(data.data(), data.size()); auto it = tpd.GetRepeated(/*field_id=*/2); for (int i = 0; i < 2000; i++) { EXPECT_TRUE(it); @@ -145,7 +145,7 @@ TEST(ProtoDecoderTest, SingleRepeatedFieldWithExpansion) { TEST(ProtoDecoderTest, NoRepeatedField) { uint8_t buf[] = {0x01}; - TypedProtoDecoder<2, true> tpd(buf, 1); + TypedProtoDecoder<2> tpd(buf, 1); auto it = tpd.GetRepeated(/*field_id=*/1); EXPECT_FALSE(it); EXPECT_FALSE(tpd.Get(2).valid()); @@ -173,7 +173,7 @@ TEST(ProtoDecoderTest, RepeatedFields) { } EXPECT_EQ(fields_seen, "1:10;2:20;3:30;1:11;2:21;2:22;"); - TypedProtoDecoder<4, true> tpd(data.data(), data.size()); + TypedProtoDecoder<4> tpd(data.data(), data.size()); // When parsing with the one-shot decoder and querying the single field id, we // should see the last value for each of them, not the first one. This is the @@ -232,7 +232,7 @@ TEST(ProtoDecoderTest, FixedData) { for (size_t i = 0; i < perfetto::base::ArraySize(kFieldExpectations); ++i) { const FieldExpectation& exp = kFieldExpectations[i]; - TypedProtoDecoder<999, 0> decoder( + TypedProtoDecoder<999> decoder( reinterpret_cast(exp.encoded), exp.encoded_size); auto& field = decoder.Get(exp.id); @@ -251,8 +251,8 @@ TEST(ProtoDecoderTest, FixedData) { // Test float and doubles decoding. const char buf[] = "\x0d\x00\x00\xa0\x3f\x11\x00\x00\x00\x00\x00\x42\x8f\xc0"; - TypedProtoDecoder<2, false> decoder(reinterpret_cast(buf), - sizeof(buf)); + TypedProtoDecoder<2> decoder(reinterpret_cast(buf), + sizeof(buf)); EXPECT_FLOAT_EQ(decoder.Get(1).as_float(), 1.25f); EXPECT_DOUBLE_EQ(decoder.Get(2).as_double(), -1000.25); } @@ -276,7 +276,7 @@ TEST(ProtoDecoderTest, MoveTypedDecoder) { // Construct a decoder that uses inline storage (i.e., the fields are stored // within the object itself). - using Decoder = TypedProtoDecoder<32, false>; + using Decoder = TypedProtoDecoder<32>; std::unique_ptr decoder(new Decoder(proto.data(), proto.size())); ASSERT_GE(reinterpret_cast(&decoder->at<1>()), reinterpret_cast(decoder.get())); @@ -308,7 +308,7 @@ TEST(ProtoDecoderTest, PackedRepeatedVarint) { { constexpr int kFieldId = pbtest::PackedRepeatedFields::kFieldInt32FieldNumber; - TypedProtoDecoder decoder( + TypedProtoDecoder decoder( reinterpret_cast(serialized.data()), serialized.size()); ASSERT_TRUE(decoder.at().valid()); bool parse_error = false; @@ -365,7 +365,7 @@ TEST(ProtoDecoderTest, PackedRepeatedFixed32) { { constexpr int kFieldId = pbtest::PackedRepeatedFields::kFieldFixed32FieldNumber; - TypedProtoDecoder decoder( + TypedProtoDecoder decoder( reinterpret_cast(serialized.data()), serialized.size()); bool parse_error = false; auto packed_it = @@ -422,7 +422,7 @@ TEST(ProtoDecoderTest, PackedRepeatedFixed64) { { constexpr int kFieldId = pbtest::PackedRepeatedFields::kFieldSfixed64FieldNumber; - TypedProtoDecoder decoder( + TypedProtoDecoder decoder( reinterpret_cast(serialized.data()), serialized.size()); bool parse_error = false; auto packed_it = @@ -583,7 +583,7 @@ TEST(ProtoDecoderTest, BigFieldIds) { // Note: field 65535 will be also skipped because this TypedProtoDecoder has // a cap on MAX_FIELD_ID = 3. { - TypedProtoDecoder<3, true> tpd(data.data(), data.size()); + TypedProtoDecoder<3> tpd(data.data(), data.size()); EXPECT_EQ(tpd.Get(1).as_int32(), 11); EXPECT_EQ(tpd.Get(2).as_int32(), 12); } @@ -635,9 +635,8 @@ TEST(ProtoDecoderTest, RepeatedMaxFieldIdStack) { const int kMaxFieldId = PROTOZERO_DECODER_INITIAL_STACK_CAPACITY; { - protozero::TypedProtoDecoder - decoder(proto.data(), proto.size()); + protozero::TypedProtoDecoder decoder(proto.data(), + proto.size()); std::vector res; for (auto it = decoder.GetRepeated(15); it; it++) { res.push_back(*it); diff --git a/src/protozero/protoc_plugin/protozero_plugin.cc b/src/protozero/protoc_plugin/protozero_plugin.cc index f9132edfdca..3d43bdb6122 100644 --- a/src/protozero/protoc_plugin/protozero_plugin.cc +++ b/src/protozero/protoc_plugin/protozero_plugin.cc @@ -763,14 +763,11 @@ case $full_class$::$value_name$: void GenerateDecoder(const Descriptor* message) { int max_field_id = 0; - bool has_nonpacked_repeated_fields = false; for (int i = 0; i < message->field_count(); ++i) { const FieldDescriptor* field = message->field(i); if (field->number() > kMaxDecoderFieldId) continue; max_field_id = std::max(max_field_id, field->number()); - if (field->is_repeated() && !field->is_packed()) - has_nonpacked_repeated_fields = true; } // Iterate over all fields in "extend" blocks. for (int i = 0; i < message->extension_range_count(); ++i) { @@ -785,10 +782,8 @@ case $full_class$::$value_name$: std::string class_name = GetCppClassName(message) + "_Decoder"; stub_h_->Print( "class $name$ : public " - "::protozero::TypedProtoDecoder {\n", - "name", class_name, "max", std::to_string(max_field_id), "rep", - has_nonpacked_repeated_fields ? "true" : "false"); + "::protozero::TypedProtoDecoder {\n", + "name", class_name, "max", std::to_string(max_field_id)); stub_h_->Print(" public:\n"); stub_h_->Indent(); stub_h_->Print( diff --git a/src/trace_processor/metrics/metrics_unittest.cc b/src/trace_processor/metrics/metrics_unittest.cc index 7b5a0500fd4..6a92296f27f 100644 --- a/src/trace_processor/metrics/metrics_unittest.cc +++ b/src/trace_processor/metrics/metrics_unittest.cc @@ -65,15 +65,13 @@ TEST(MetricsTest, TemplateReplace) { class ProtoBuilderTest : public ::testing::Test { protected: - template - protozero::TypedProtoDecoder<1, repeated> DecodeSingleFieldProto( + protozero::TypedProtoDecoder<1> DecodeSingleFieldProto( const std::vector& result_ser) { protos::pbzero::ProtoBuilderResult::Decoder result(result_ser.data(), result_ser.size()); protos::pbzero::SingleBuilderResult::Decoder single(result.single()); protozero::ConstBytes proto_ser = single.protobuf(); - return protozero::TypedProtoDecoder<1, repeated>(proto_ser.data, - proto_ser.size); + return protozero::TypedProtoDecoder<1>(proto_ser.data, proto_ser.size); } }; @@ -96,7 +94,7 @@ TEST_F(ProtoBuilderTest, AppendLong) { ASSERT_OK(builder.AppendSqlValue("int_value", SqlValue::Long(12345))); auto result_ser = builder.SerializeToProtoBuilderResult(); - auto proto = DecodeSingleFieldProto(result_ser); + auto proto = DecodeSingleFieldProto(result_ser); const protozero::Field& int_field = proto.Get(1); ASSERT_EQ(int_field.as_int64(), 12345); } @@ -120,7 +118,7 @@ TEST_F(ProtoBuilderTest, AppendDouble) { ASSERT_OK(builder.AppendSqlValue("double_value", SqlValue::Double(1.2345))); auto result_ser = builder.SerializeToProtoBuilderResult(); - auto proto = DecodeSingleFieldProto(result_ser); + auto proto = DecodeSingleFieldProto(result_ser); const protozero::Field& db_field = proto.Get(1); ASSERT_DOUBLE_EQ(db_field.as_double(), 1.2345); } @@ -145,7 +143,7 @@ TEST_F(ProtoBuilderTest, AppendString) { builder.AppendSqlValue("string_value", SqlValue::String("hello world!"))); auto result_ser = builder.SerializeToProtoBuilderResult(); - auto proto = DecodeSingleFieldProto(result_ser); + auto proto = DecodeSingleFieldProto(result_ser); const protozero::Field& str_field = proto.Get(1); ASSERT_EQ(str_field.as_std_string(), "hello world!"); } @@ -189,13 +187,13 @@ TEST_F(ProtoBuilderTest, AppendNested) { "nested_value", SqlValue::Bytes(nest_ser.data(), nest_ser.size()))); auto result_ser = builder.SerializeToProtoBuilderResult(); - auto proto = DecodeSingleFieldProto(result_ser); + auto proto = DecodeSingleFieldProto(result_ser); const protozero::Field& nest_field = proto.Get(1); ASSERT_EQ(nest_field.type(), protozero::proto_utils::ProtoWireType::kLengthDelimited); protozero::ConstBytes nest_bytes = nest_field.as_bytes(); - protozero::TypedProtoDecoder<1, false> nest(nest_bytes.data, nest_bytes.size); + protozero::TypedProtoDecoder<1> nest(nest_bytes.data, nest_bytes.size); const protozero::Field& nest_int_field = nest.Get(1); ASSERT_EQ(nest_int_field.type(), @@ -224,8 +222,7 @@ TEST_F(ProtoBuilderTest, AppendRepeatedEmpty) { ProtoBuilder builder(&pool, &descriptor); ASSERT_OK(builder.AppendSqlValue("rep_int_value", SqlValue())); - auto proto = - DecodeSingleFieldProto(builder.SerializeToProtoBuilderResult()); + auto proto = DecodeSingleFieldProto(builder.SerializeToProtoBuilderResult()); auto it = proto.GetRepeated(1); ASSERT_FALSE(it); } @@ -255,8 +252,7 @@ TEST_F(ProtoBuilderTest, AppendRepeatedPrimitive) { ASSERT_OK(builder.AppendSqlValue( "rep_int_value", SqlValue::Bytes(rep_ser.data(), rep_ser.size()))); - auto proto = - DecodeSingleFieldProto(builder.SerializeToProtoBuilderResult()); + auto proto = DecodeSingleFieldProto(builder.SerializeToProtoBuilderResult()); auto it = proto.GetRepeated(1); ASSERT_EQ(*it, 1234); ASSERT_EQ(*++it, 5678); @@ -302,8 +298,8 @@ TEST_F(ProtoBuilderTest, AppendEnums) { ASSERT_THAT(value_builder.AppendSqlValue("enum_value", SqlValue::Long(6)), IsError()); - auto value_proto = DecodeSingleFieldProto( - value_builder.SerializeToProtoBuilderResult()); + auto value_proto = + DecodeSingleFieldProto(value_builder.SerializeToProtoBuilderResult()); ASSERT_EQ(value_proto.Get(1).as_int32(), 3); ProtoBuilder str_builder(&pool, &descriptor); @@ -316,8 +312,8 @@ TEST_F(ProtoBuilderTest, AppendEnums) { str_builder.AppendSqlValue("enum_value", SqlValue::String("OTHER")), IsError()); - auto str_proto = DecodeSingleFieldProto( - str_builder.SerializeToProtoBuilderResult()); + auto str_proto = + DecodeSingleFieldProto(str_builder.SerializeToProtoBuilderResult()); ASSERT_EQ(str_proto.Get(1).as_int32(), 2); } From 4958e3c3e82578f313ab92fe1253cbf8cf967843 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 6 Oct 2025 17:37:00 +0100 Subject: [PATCH 013/370] tprobes: generic ftrace events: include group name (#3189) When using self-describing proto messages for generic (= not known to perfetto at compile-time) ftrace events, we currently emit, per ftrace event bundle, a mapping from proto_id to a descriptor of the serialised proto message (see #1257). Currently, this ends up losing information about the "group" of the event (e.g. "sched" in "sched/sched_switch"). This patch adds the group as a separate proto string field. It's not part of the payload-describing `DescriptorProto` as I haven't found a subfield that makes sense. Putting the full "sched/sched_switch" into `DescriptorProto.name` would: no longer make it a legal C identifier name; require string splitting in trace_processor; and deviate from traces written by existing code. Impl-wise: I've added a wrapper struct for the FlatHashMap as I found the existing code ugly. Trying to use type aliases was a losing battle due to edge cases with forward declarations and nested types. Note: there are no current plans for this field in trace_processor, but it's best to retain this information in the trace for the future. --- .../trace/ftrace/ftrace_event_bundle.proto | 5 +- protos/perfetto/trace/perfetto_trace.proto | 5 +- .../perfetto/trace/perfetto_trace_pb2.py | 934 +++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 6 +- src/traced/probes/ftrace/cpu_reader.cc | 12 +- src/traced/probes/ftrace/cpu_reader.h | 8 +- .../probes/ftrace/cpu_reader_benchmark.cc | 2 +- .../probes/ftrace/cpu_reader_unittest.cc | 2 +- .../probes/ftrace/proto_translation_table.cc | 41 +- .../probes/ftrace/proto_translation_table.h | 25 +- .../proto_translation_table_unittest.cc | 20 +- 11 files changed, 541 insertions(+), 519 deletions(-) diff --git a/protos/perfetto/trace/ftrace/ftrace_event_bundle.proto b/protos/perfetto/trace/ftrace/ftrace_event_bundle.proto index 7dff28f0a27..82a0d488e7f 100644 --- a/protos/perfetto/trace/ftrace/ftrace_event_bundle.proto +++ b/protos/perfetto/trace/ftrace/ftrace_event_bundle.proto @@ -138,7 +138,10 @@ message FtraceEventBundle { message GenericEventDescriptor { // submessage id within FtraceEvent described by |event_descriptor|. optional int32 field_id = 1; - // serialised DescriptorProto + // optional: the event's group, e.g. "sched" for "sched/sched_switch". + // The event name itself is in |event_descriptor.name|. + optional string group_name = 3; + // serialised DescriptorProto. optional bytes event_descriptor = 2; } repeated GenericEventDescriptor generic_event_descriptors = 11; diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 88d1b587afe..8448bda77b9 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -13048,7 +13048,10 @@ message FtraceEventBundle { message GenericEventDescriptor { // submessage id within FtraceEvent described by |event_descriptor|. optional int32 field_id = 1; - // serialised DescriptorProto + // optional: the event's group, e.g. "sched" for "sched/sched_switch". + // The event name itself is in |event_descriptor.name|. + optional string group_name = 3; + // serialised DescriptorProto. optional bytes event_descriptor = 2; } repeated GenericEventDescriptor generic_event_descriptors = 11; diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 5cf72577545..9b6f9ebe634 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe0$\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xa4\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1a\x44\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe0$\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -219,36 +219,36 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=217906 - _BUILTINCLOCK._serialized_end=218221 - _ANDROIDLOGID._serialized_start=218224 - _ANDROIDLOGID._serialized_end=218366 - _ANDROIDLOGPRIORITY._serialized_start=218369 - _ANDROIDLOGPRIORITY._serialized_end=218524 - _PROTOLOGLEVEL._serialized_start=218527 - _PROTOLOGLEVEL._serialized_end=218726 - _ATOMID._serialized_start=218730 - _ATOMID._serialized_end=264897 - _MEMINFOCOUNTERS._serialized_start=264900 - _MEMINFOCOUNTERS._serialized_end=265833 - _VMSTATCOUNTERS._serialized_start=265836 - _VMSTATCOUNTERS._serialized_end=271469 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271472 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271620 - _TRAFFICDIRECTION._serialized_start=271622 - _TRAFFICDIRECTION._serialized_end=271694 - _TRUSTEDOVERLAY._serialized_start=271696 - _TRUSTEDOVERLAY._serialized_end=271750 - _HWCCOMPOSITIONTYPE._serialized_start=271753 - _HWCCOMPOSITIONTYPE._serialized_end=271944 - _FTRACEPARSESTATUS._serialized_start=271947 - _FTRACEPARSESTATUS._serialized_end=272659 - _FTRACECLOCK._serialized_start=272662 - _FTRACECLOCK._serialized_end=272807 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272810 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273498 - _CHROMERAILMODE._serialized_start=273500 - _CHROMERAILMODE._serialized_end=273625 + _BUILTINCLOCK._serialized_start=217926 + _BUILTINCLOCK._serialized_end=218241 + _ANDROIDLOGID._serialized_start=218244 + _ANDROIDLOGID._serialized_end=218386 + _ANDROIDLOGPRIORITY._serialized_start=218389 + _ANDROIDLOGPRIORITY._serialized_end=218544 + _PROTOLOGLEVEL._serialized_start=218547 + _PROTOLOGLEVEL._serialized_end=218746 + _ATOMID._serialized_start=218750 + _ATOMID._serialized_end=264917 + _MEMINFOCOUNTERS._serialized_start=264920 + _MEMINFOCOUNTERS._serialized_end=265853 + _VMSTATCOUNTERS._serialized_start=265856 + _VMSTATCOUNTERS._serialized_end=271489 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271492 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271640 + _TRAFFICDIRECTION._serialized_start=271642 + _TRAFFICDIRECTION._serialized_end=271714 + _TRUSTEDOVERLAY._serialized_start=271716 + _TRUSTEDOVERLAY._serialized_end=271770 + _HWCCOMPOSITIONTYPE._serialized_start=271773 + _HWCCOMPOSITIONTYPE._serialized_end=271964 + _FTRACEPARSESTATUS._serialized_start=271967 + _FTRACEPARSESTATUS._serialized_end=272679 + _FTRACECLOCK._serialized_start=272682 + _FTRACECLOCK._serialized_end=272827 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272830 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273518 + _CHROMERAILMODE._serialized_start=273520 + _CHROMERAILMODE._serialized_end=273645 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 @@ -2024,445 +2024,445 @@ _FTRACESTATS_PHASE._serialized_start=167497 _FTRACESTATS_PHASE._serialized_end=167559 _FTRACEEVENTBUNDLE._serialized_start=167562 - _FTRACEEVENTBUNDLE._serialized_end=168622 + _FTRACEEVENTBUNDLE._serialized_end=168642 _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168100 _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168466 _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168468 _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168552 _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168554 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168622 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168624 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168686 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168689 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169107 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168850 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169107 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169109 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169166 - _GENERICKERNELPROCESSTREE._serialized_start=169169 - _GENERICKERNELPROCESSTREE._serialized_end=169461 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169334 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169406 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169408 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169461 - _GPUCOUNTEREVENT._serialized_start=169464 - _GPUCOUNTEREVENT._serialized_end=169715 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169629 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169715 - _GPULOG._serialized_start=169718 - _GPULOG._serialized_end=169978 - _GPULOG_SEVERITY._serialized_start=169815 - _GPULOG_SEVERITY._serialized_end=169978 - _GPURENDERSTAGEEVENT._serialized_start=169981 - _GPURENDERSTAGEEVENT._serialized_end=170900 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170490 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170530 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170533 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170894 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170801 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170844 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170846 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170894 - _INTERNEDGRAPHICSCONTEXT._serialized_start=170903 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171073 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171015 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171073 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171076 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171314 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171255 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171314 - _VULKANAPIEVENT._serialized_start=171317 - _VULKANAPIEVENT._serialized_end=171760 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171503 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171617 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171620 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171751 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171762 - _VULKANMEMORYEVENTANNOTATION._serialized_end=171884 - _VULKANMEMORYEVENT._serialized_start=171887 - _VULKANMEMORYEVENT._serialized_end=172759 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172372 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172505 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172507 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172624 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172627 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172759 - _INTERNEDSTRING._serialized_start=172761 - _INTERNEDSTRING._serialized_end=172803 - _LINE._serialized_start=172805 - _LINE._serialized_end=172881 - _ADDRESSSYMBOLS._serialized_start=172883 - _ADDRESSSYMBOLS._serialized_end=172954 - _MODULESYMBOLS._serialized_start=172956 - _MODULESYMBOLS._serialized_end=173061 - _MAPPING._serialized_start=173064 - _MAPPING._serialized_end=173220 - _FRAME._serialized_start=173222 - _FRAME._serialized_end=173304 - _CALLSTACK._serialized_start=173306 - _CALLSTACK._serialized_end=173349 - _HISTOGRAMNAME._serialized_start=173351 - _HISTOGRAMNAME._serialized_end=173393 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173395 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173485 - _DEBUGANNOTATION._serialized_start=173488 - _DEBUGANNOTATION._serialized_end=174428 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174000 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174380 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174330 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174380 - _DEBUGANNOTATIONNAME._serialized_start=174430 - _DEBUGANNOTATIONNAME._serialized_end=174478 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174480 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174537 - _LOGMESSAGE._serialized_start=174540 - _LOGMESSAGE._serialized_end=174799 - _LOGMESSAGE_PRIORITY._serialized_start=174654 - _LOGMESSAGE_PRIORITY._serialized_end=174799 - _LOGMESSAGEBODY._serialized_start=174801 - _LOGMESSAGEBODY._serialized_end=174844 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174846 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174923 - _SOURCELOCATION._serialized_start=174925 - _SOURCELOCATION._serialized_end=175017 - _CHROMEACTIVEPROCESSES._serialized_start=175019 - _CHROMEACTIVEPROCESSES._serialized_end=175055 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175058 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175424 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175184 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175424 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175427 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176514 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176318 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176508 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176517 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180227 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176708 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178007 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177247 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177408 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177411 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177558 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177561 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177805 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177808 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178007 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178010 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180227 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179904 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180088 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180091 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180221 - _BEGINFRAMEARGS._serialized_start=180230 - _BEGINFRAMEARGS._serialized_end=180784 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180606 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180768 - _BEGINIMPLFRAMEARGS._serialized_start=180787 - _BEGINIMPLFRAMEARGS._serialized_end=181363 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181104 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181297 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181299 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181355 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181365 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181488 - _BEGINFRAMESOURCESTATE._serialized_start=181491 - _BEGINFRAMESOURCESTATE._serialized_end=181636 - _COMPOSITORTIMINGHISTORY._serialized_start=181639 - _COMPOSITORTIMINGHISTORY._serialized_end=182019 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182021 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182083 - _CHROMEFRAMEREPORTER._serialized_start=182086 - _CHROMEFRAMEREPORTER._serialized_end=183206 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182801 - _CHROMEFRAMEREPORTER_STATE._serialized_end=182910 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182912 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183038 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183040 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183163 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183165 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183202 - _CHROMEKEYEDSERVICE._serialized_start=183208 - _CHROMEKEYEDSERVICE._serialized_end=183242 - _CHROMELATENCYINFO._serialized_start=183245 - _CHROMELATENCYINFO._serialized_end=185027 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183574 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183687 - _CHROMELATENCYINFO_STEP._serialized_start=183690 - _CHROMELATENCYINFO_STEP._serialized_end=184092 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184095 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184852 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184855 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185027 - _CHROMELEGACYIPC._serialized_start=185030 - _CHROMELEGACYIPC._serialized_end=186004 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185142 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186004 - _CHROMEMESSAGEPUMP._serialized_start=186006 - _CHROMEMESSAGEPUMP._serialized_end=186090 - _CHROMEMOJOEVENTINFO._serialized_start=186093 - _CHROMEMOJOEVENTINFO._serialized_end=186297 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186299 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186425 - _CHROMEUSEREVENT._serialized_start=186427 - _CHROMEUSEREVENT._serialized_end=186481 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186483 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186563 - _SCREENSHOT._serialized_start=186565 - _SCREENSHOT._serialized_end=186596 - _TASKEXECUTION._serialized_start=186598 - _TASKEXECUTION._serialized_end=186638 - _TRACKEVENT._serialized_start=186641 - _TRACKEVENT._serialized_end=189808 - _TRACKEVENT_LEGACYEVENT._serialized_start=188830 - _TRACKEVENT_LEGACYEVENT._serialized_end=189512 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189321 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189401 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189403 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189500 - _TRACKEVENT_TYPE._serialized_start=189514 - _TRACKEVENT_TYPE._serialized_end=189620 - _TRACKEVENTDEFAULTS._serialized_start=189810 - _TRACKEVENTDEFAULTS._serialized_end=189927 - _EVENTCATEGORY._serialized_start=189929 - _EVENTCATEGORY._serialized_end=189971 - _EVENTNAME._serialized_start=189973 - _EVENTNAME._serialized_end=190011 - _INTERNEDDATA._serialized_start=190014 - _INTERNEDDATA._serialized_end=192129 - _MEMORYTRACKERSNAPSHOT._serialized_start=192132 - _MEMORYTRACKERSNAPSHOT._serialized_end=193140 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192347 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193065 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192561 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=192972 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192745 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=192972 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192926 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=192972 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=192974 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193065 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193067 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193140 - _PERFETTOMETATRACE._serialized_start=193143 - _PERFETTOMETATRACE._serialized_end=193688 - _PERFETTOMETATRACE_ARG._serialized_start=193500 - _PERFETTOMETATRACE_ARG._serialized_end=193627 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193629 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193673 - _TRACINGSERVICEEVENT._serialized_start=193691 - _TRACINGSERVICEEVENT._serialized_end=194341 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194169 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194327 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194266 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194327 - _ANDROIDENERGYCONSUMER._serialized_start=194343 - _ANDROIDENERGYCONSUMER._serialized_end=194439 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194441 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194540 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194543 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194863 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194810 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194863 - _ENTITYSTATERESIDENCY._serialized_start=194866 - _ENTITYSTATERESIDENCY._serialized_end=195309 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195047 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195149 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195152 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195309 - _BATTERYCOUNTERS._serialized_start=195312 - _BATTERYCOUNTERS._serialized_end=195489 - _POWERRAILS._serialized_start=195492 - _POWERRAILS._serialized_end=195819 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195658 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195752 - _POWERRAILS_ENERGYDATA._serialized_start=195754 - _POWERRAILS_ENERGYDATA._serialized_end=195819 - _OBFUSCATEDMEMBER._serialized_start=195821 - _OBFUSCATEDMEMBER._serialized_end=195891 - _OBFUSCATEDCLASS._serialized_start=195894 - _OBFUSCATEDCLASS._serialized_end=196089 - _DEOBFUSCATIONMAPPING._serialized_start=196092 - _DEOBFUSCATIONMAPPING._serialized_end=196220 - _HEAPGRAPHROOT._serialized_start=196223 - _HEAPGRAPHROOT._serialized_end=196661 - _HEAPGRAPHROOT_TYPE._serialized_start=196321 - _HEAPGRAPHROOT_TYPE._serialized_end=196661 - _HEAPGRAPHTYPE._serialized_start=196664 - _HEAPGRAPHTYPE._serialized_end=197148 - _HEAPGRAPHTYPE_KIND._serialized_start=196886 - _HEAPGRAPHTYPE_KIND._serialized_end=197148 - _HEAPGRAPHOBJECT._serialized_start=197151 - _HEAPGRAPHOBJECT._serialized_end=197607 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197493 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197593 - _HEAPGRAPH._serialized_start=197610 - _HEAPGRAPH._serialized_end=197930 - _PROFILEPACKET._serialized_start=197933 - _PROFILEPACKET._serialized_end=199401 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198241 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198427 - _PROFILEPACKET_HISTOGRAM._serialized_start=198430 - _PROFILEPACKET_HISTOGRAM._serialized_end=198573 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198509 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198573 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198576 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198798 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198801 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199401 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199296 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199401 - _STREAMINGALLOCATION._serialized_start=199404 - _STREAMINGALLOCATION._serialized_end=199561 - _STREAMINGFREE._serialized_start=199563 - _STREAMINGFREE._serialized_end=199637 - _STREAMINGPROFILEPACKET._serialized_start=199639 - _STREAMINGPROFILEPACKET._serialized_end=199740 - _PROFILING._serialized_start=199743 - _PROFILING._serialized_end=200399 - _PROFILING_CPUMODE._serialized_start=199756 - _PROFILING_CPUMODE._serialized_end=199880 - _PROFILING_STACKUNWINDERROR._serialized_start=199883 - _PROFILING_STACKUNWINDERROR._serialized_end=200399 - _PERFSAMPLE._serialized_start=200402 - _PERFSAMPLE._serialized_end=201281 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200826 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201046 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200937 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201015 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201049 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201222 - _PERFSAMPLEDEFAULTS._serialized_start=201284 - _PERFSAMPLEDEFAULTS._serialized_end=201470 - _SMAPSENTRY._serialized_start=201473 - _SMAPSENTRY._serialized_end=201860 - _SMAPSPACKET._serialized_start=201862 - _SMAPSPACKET._serialized_end=201934 - _PROCESSSTATS._serialized_start=201937 - _PROCESSSTATS._serialized_end=202764 - _PROCESSSTATS_THREAD._serialized_start=202045 - _PROCESSSTATS_THREAD._serialized_end=202084 - _PROCESSSTATS_FDINFO._serialized_start=202086 - _PROCESSSTATS_FDINFO._serialized_end=202120 - _PROCESSSTATS_PROCESS._serialized_start=202123 - _PROCESSSTATS_PROCESS._serialized_end=202764 - _PROCESSTREE._serialized_start=202767 - _PROCESSTREE._serialized_end=203159 - _PROCESSTREE_THREAD._serialized_start=202927 - _PROCESSTREE_THREAD._serialized_end=202991 - _PROCESSTREE_PROCESS._serialized_start=202994 - _PROCESSTREE_PROCESS._serialized_end=203159 - _REMOTECLOCKSYNC._serialized_start=203162 - _REMOTECLOCKSYNC._serialized_end=203373 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203251 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203373 - _ATOM._serialized_start=203375 - _ATOM._serialized_end=203381 - _STATSDATOM._serialized_start=203383 - _STATSDATOM._serialized_end=203457 - _SYSSTATS._serialized_start=203460 - _SYSSTATS._serialized_end=205484 - _SYSSTATS_MEMINFOVALUE._serialized_start=204248 - _SYSSTATS_MEMINFOVALUE._serialized_end=204324 - _SYSSTATS_VMSTATVALUE._serialized_start=204326 - _SYSSTATS_VMSTATVALUE._serialized_end=204400 - _SYSSTATS_CPUTIMES._serialized_start=204403 - _SYSSTATS_CPUTIMES._serialized_end=204583 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204585 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204629 - _SYSSTATS_DEVFREQVALUE._serialized_start=204631 - _SYSSTATS_DEVFREQVALUE._serialized_end=204673 - _SYSSTATS_BUDDYINFO._serialized_start=204675 - _SYSSTATS_BUDDYINFO._serialized_end=204735 - _SYSSTATS_DISKSTAT._serialized_start=204738 - _SYSSTATS_DISKSTAT._serialized_end=204953 - _SYSSTATS_PSISAMPLE._serialized_start=204956 - _SYSSTATS_PSISAMPLE._serialized_end=205264 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205055 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205264 - _SYSSTATS_THERMALZONE._serialized_start=205266 - _SYSSTATS_THERMALZONE._serialized_end=205321 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205323 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205378 - _SYSSTATS_CPUIDLESTATE._serialized_start=205380 - _SYSSTATS_CPUIDLESTATE._serialized_end=205484 - _CPUINFO._serialized_start=205487 - _CPUINFO._serialized_end=205819 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205542 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205652 - _CPUINFO_CPU._serialized_start=205655 - _CPUINFO_CPU._serialized_end=205819 - _TESTEVENT._serialized_start=205822 - _TESTEVENT._serialized_end=206201 - _TESTEVENT_TESTPAYLOAD._serialized_start=205959 - _TESTEVENT_TESTPAYLOAD._serialized_end=206201 - _TRACEPACKETDEFAULTS._serialized_start=206204 - _TRACEPACKETDEFAULTS._serialized_end=206446 - _TRACEUUID._serialized_start=206448 - _TRACEUUID._serialized_end=206485 - _PROCESSDESCRIPTOR._serialized_start=206488 - _PROCESSDESCRIPTOR._serialized_end=206975 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206750 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=206975 - _TRACKEVENTRANGEOFINTEREST._serialized_start=206977 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207022 - _THREADDESCRIPTOR._serialized_start=207025 - _THREADDESCRIPTOR._serialized_end=207781 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207310 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207781 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207784 - _CHROMEPROCESSDESCRIPTOR._serialized_end=207939 - _CHROMETHREADDESCRIPTOR._serialized_start=207941 - _CHROMETHREADDESCRIPTOR._serialized_end=208039 - _COUNTERDESCRIPTOR._serialized_start=208042 - _COUNTERDESCRIPTOR._serialized_end=208497 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208301 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208412 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208414 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208497 - _TRACKDESCRIPTOR._serialized_start=208500 - _TRACKDESCRIPTOR._serialized_end=209552 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209224 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209310 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209313 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209499 - _TRANSLATIONTABLE._serialized_start=209555 - _TRANSLATIONTABLE._serialized_end=210048 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210051 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210225 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210176 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210225 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210228 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210419 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210364 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210419 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210422 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210777 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210669 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210722 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210724 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210777 - _SLICENAMETRANSLATIONTABLE._serialized_start=210780 - _SLICENAMETRANSLATIONTABLE._serialized_end=210974 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210914 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210974 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=210977 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211185 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210914 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210974 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211188 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211352 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210176 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210225 - _TRIGGER._serialized_start=211354 - _TRIGGER._serialized_end=211461 - _UISTATE._serialized_start=211464 - _UISTATE._serialized_end=211661 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211597 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211661 - _TRACEPACKET._serialized_start=211664 - _TRACEPACKET._serialized_end=217848 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217661 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217765 - _TRACE._serialized_start=217850 - _TRACE._serialized_end=217903 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168642 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168644 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168706 + _GENERICKERNELTASKSTATEEVENT._serialized_start=168709 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169127 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168870 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169127 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169129 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169186 + _GENERICKERNELPROCESSTREE._serialized_start=169189 + _GENERICKERNELPROCESSTREE._serialized_end=169481 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169354 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169426 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169428 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169481 + _GPUCOUNTEREVENT._serialized_start=169484 + _GPUCOUNTEREVENT._serialized_end=169735 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169649 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169735 + _GPULOG._serialized_start=169738 + _GPULOG._serialized_end=169998 + _GPULOG_SEVERITY._serialized_start=169835 + _GPULOG_SEVERITY._serialized_end=169998 + _GPURENDERSTAGEEVENT._serialized_start=170001 + _GPURENDERSTAGEEVENT._serialized_end=170920 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170510 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170550 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170553 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170914 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170821 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170864 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170866 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170914 + _INTERNEDGRAPHICSCONTEXT._serialized_start=170923 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171093 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171035 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171093 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171096 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171334 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171275 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171334 + _VULKANAPIEVENT._serialized_start=171337 + _VULKANAPIEVENT._serialized_end=171780 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171523 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171637 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171640 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171771 + _VULKANMEMORYEVENTANNOTATION._serialized_start=171782 + _VULKANMEMORYEVENTANNOTATION._serialized_end=171904 + _VULKANMEMORYEVENT._serialized_start=171907 + _VULKANMEMORYEVENT._serialized_end=172779 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172392 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172525 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172527 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172644 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172647 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172779 + _INTERNEDSTRING._serialized_start=172781 + _INTERNEDSTRING._serialized_end=172823 + _LINE._serialized_start=172825 + _LINE._serialized_end=172901 + _ADDRESSSYMBOLS._serialized_start=172903 + _ADDRESSSYMBOLS._serialized_end=172974 + _MODULESYMBOLS._serialized_start=172976 + _MODULESYMBOLS._serialized_end=173081 + _MAPPING._serialized_start=173084 + _MAPPING._serialized_end=173240 + _FRAME._serialized_start=173242 + _FRAME._serialized_end=173324 + _CALLSTACK._serialized_start=173326 + _CALLSTACK._serialized_end=173369 + _HISTOGRAMNAME._serialized_start=173371 + _HISTOGRAMNAME._serialized_end=173413 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173415 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173505 + _DEBUGANNOTATION._serialized_start=173508 + _DEBUGANNOTATION._serialized_end=174448 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174020 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174400 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174350 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174400 + _DEBUGANNOTATIONNAME._serialized_start=174450 + _DEBUGANNOTATIONNAME._serialized_end=174498 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174500 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174557 + _LOGMESSAGE._serialized_start=174560 + _LOGMESSAGE._serialized_end=174819 + _LOGMESSAGE_PRIORITY._serialized_start=174674 + _LOGMESSAGE_PRIORITY._serialized_end=174819 + _LOGMESSAGEBODY._serialized_start=174821 + _LOGMESSAGEBODY._serialized_end=174864 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174866 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174943 + _SOURCELOCATION._serialized_start=174945 + _SOURCELOCATION._serialized_end=175037 + _CHROMEACTIVEPROCESSES._serialized_start=175039 + _CHROMEACTIVEPROCESSES._serialized_end=175075 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175078 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175444 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175204 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175444 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175447 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176534 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176338 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176528 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176537 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180247 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176728 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178027 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177267 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177428 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177431 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177578 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177581 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177825 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177828 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178027 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178030 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180247 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179924 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180108 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180111 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180241 + _BEGINFRAMEARGS._serialized_start=180250 + _BEGINFRAMEARGS._serialized_end=180804 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180626 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180788 + _BEGINIMPLFRAMEARGS._serialized_start=180807 + _BEGINIMPLFRAMEARGS._serialized_end=181383 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181124 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181317 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181319 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181375 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181385 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181508 + _BEGINFRAMESOURCESTATE._serialized_start=181511 + _BEGINFRAMESOURCESTATE._serialized_end=181656 + _COMPOSITORTIMINGHISTORY._serialized_start=181659 + _COMPOSITORTIMINGHISTORY._serialized_end=182039 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182041 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182103 + _CHROMEFRAMEREPORTER._serialized_start=182106 + _CHROMEFRAMEREPORTER._serialized_end=183226 + _CHROMEFRAMEREPORTER_STATE._serialized_start=182821 + _CHROMEFRAMEREPORTER_STATE._serialized_end=182930 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182932 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183058 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183060 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183183 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183185 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183222 + _CHROMEKEYEDSERVICE._serialized_start=183228 + _CHROMEKEYEDSERVICE._serialized_end=183262 + _CHROMELATENCYINFO._serialized_start=183265 + _CHROMELATENCYINFO._serialized_end=185047 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183594 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183707 + _CHROMELATENCYINFO_STEP._serialized_start=183710 + _CHROMELATENCYINFO_STEP._serialized_end=184112 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184115 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184872 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184875 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185047 + _CHROMELEGACYIPC._serialized_start=185050 + _CHROMELEGACYIPC._serialized_end=186024 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185162 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186024 + _CHROMEMESSAGEPUMP._serialized_start=186026 + _CHROMEMESSAGEPUMP._serialized_end=186110 + _CHROMEMOJOEVENTINFO._serialized_start=186113 + _CHROMEMOJOEVENTINFO._serialized_end=186317 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186319 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186445 + _CHROMEUSEREVENT._serialized_start=186447 + _CHROMEUSEREVENT._serialized_end=186501 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186503 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186583 + _SCREENSHOT._serialized_start=186585 + _SCREENSHOT._serialized_end=186616 + _TASKEXECUTION._serialized_start=186618 + _TASKEXECUTION._serialized_end=186658 + _TRACKEVENT._serialized_start=186661 + _TRACKEVENT._serialized_end=189828 + _TRACKEVENT_LEGACYEVENT._serialized_start=188850 + _TRACKEVENT_LEGACYEVENT._serialized_end=189532 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189341 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189421 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189423 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189520 + _TRACKEVENT_TYPE._serialized_start=189534 + _TRACKEVENT_TYPE._serialized_end=189640 + _TRACKEVENTDEFAULTS._serialized_start=189830 + _TRACKEVENTDEFAULTS._serialized_end=189947 + _EVENTCATEGORY._serialized_start=189949 + _EVENTCATEGORY._serialized_end=189991 + _EVENTNAME._serialized_start=189993 + _EVENTNAME._serialized_end=190031 + _INTERNEDDATA._serialized_start=190034 + _INTERNEDDATA._serialized_end=192149 + _MEMORYTRACKERSNAPSHOT._serialized_start=192152 + _MEMORYTRACKERSNAPSHOT._serialized_end=193160 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192367 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193085 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192581 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=192992 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192765 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=192992 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192946 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=192992 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=192994 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193085 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193087 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193160 + _PERFETTOMETATRACE._serialized_start=193163 + _PERFETTOMETATRACE._serialized_end=193708 + _PERFETTOMETATRACE_ARG._serialized_start=193520 + _PERFETTOMETATRACE_ARG._serialized_end=193647 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193649 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193693 + _TRACINGSERVICEEVENT._serialized_start=193711 + _TRACINGSERVICEEVENT._serialized_end=194361 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194189 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194347 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194286 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194347 + _ANDROIDENERGYCONSUMER._serialized_start=194363 + _ANDROIDENERGYCONSUMER._serialized_end=194459 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194461 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194560 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194563 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194883 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194830 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194883 + _ENTITYSTATERESIDENCY._serialized_start=194886 + _ENTITYSTATERESIDENCY._serialized_end=195329 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195067 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195169 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195172 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195329 + _BATTERYCOUNTERS._serialized_start=195332 + _BATTERYCOUNTERS._serialized_end=195509 + _POWERRAILS._serialized_start=195512 + _POWERRAILS._serialized_end=195839 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=195678 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=195772 + _POWERRAILS_ENERGYDATA._serialized_start=195774 + _POWERRAILS_ENERGYDATA._serialized_end=195839 + _OBFUSCATEDMEMBER._serialized_start=195841 + _OBFUSCATEDMEMBER._serialized_end=195911 + _OBFUSCATEDCLASS._serialized_start=195914 + _OBFUSCATEDCLASS._serialized_end=196109 + _DEOBFUSCATIONMAPPING._serialized_start=196112 + _DEOBFUSCATIONMAPPING._serialized_end=196240 + _HEAPGRAPHROOT._serialized_start=196243 + _HEAPGRAPHROOT._serialized_end=196681 + _HEAPGRAPHROOT_TYPE._serialized_start=196341 + _HEAPGRAPHROOT_TYPE._serialized_end=196681 + _HEAPGRAPHTYPE._serialized_start=196684 + _HEAPGRAPHTYPE._serialized_end=197168 + _HEAPGRAPHTYPE_KIND._serialized_start=196906 + _HEAPGRAPHTYPE_KIND._serialized_end=197168 + _HEAPGRAPHOBJECT._serialized_start=197171 + _HEAPGRAPHOBJECT._serialized_end=197627 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197513 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197613 + _HEAPGRAPH._serialized_start=197630 + _HEAPGRAPH._serialized_end=197950 + _PROFILEPACKET._serialized_start=197953 + _PROFILEPACKET._serialized_end=199421 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198261 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198447 + _PROFILEPACKET_HISTOGRAM._serialized_start=198450 + _PROFILEPACKET_HISTOGRAM._serialized_end=198593 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198529 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198593 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198596 + _PROFILEPACKET_PROCESSSTATS._serialized_end=198818 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198821 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199421 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199316 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199421 + _STREAMINGALLOCATION._serialized_start=199424 + _STREAMINGALLOCATION._serialized_end=199581 + _STREAMINGFREE._serialized_start=199583 + _STREAMINGFREE._serialized_end=199657 + _STREAMINGPROFILEPACKET._serialized_start=199659 + _STREAMINGPROFILEPACKET._serialized_end=199760 + _PROFILING._serialized_start=199763 + _PROFILING._serialized_end=200419 + _PROFILING_CPUMODE._serialized_start=199776 + _PROFILING_CPUMODE._serialized_end=199900 + _PROFILING_STACKUNWINDERROR._serialized_start=199903 + _PROFILING_STACKUNWINDERROR._serialized_end=200419 + _PERFSAMPLE._serialized_start=200422 + _PERFSAMPLE._serialized_end=201301 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=200846 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201066 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200957 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201035 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201069 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201242 + _PERFSAMPLEDEFAULTS._serialized_start=201304 + _PERFSAMPLEDEFAULTS._serialized_end=201490 + _SMAPSENTRY._serialized_start=201493 + _SMAPSENTRY._serialized_end=201880 + _SMAPSPACKET._serialized_start=201882 + _SMAPSPACKET._serialized_end=201954 + _PROCESSSTATS._serialized_start=201957 + _PROCESSSTATS._serialized_end=202784 + _PROCESSSTATS_THREAD._serialized_start=202065 + _PROCESSSTATS_THREAD._serialized_end=202104 + _PROCESSSTATS_FDINFO._serialized_start=202106 + _PROCESSSTATS_FDINFO._serialized_end=202140 + _PROCESSSTATS_PROCESS._serialized_start=202143 + _PROCESSSTATS_PROCESS._serialized_end=202784 + _PROCESSTREE._serialized_start=202787 + _PROCESSTREE._serialized_end=203179 + _PROCESSTREE_THREAD._serialized_start=202947 + _PROCESSTREE_THREAD._serialized_end=203011 + _PROCESSTREE_PROCESS._serialized_start=203014 + _PROCESSTREE_PROCESS._serialized_end=203179 + _REMOTECLOCKSYNC._serialized_start=203182 + _REMOTECLOCKSYNC._serialized_end=203393 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203271 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203393 + _ATOM._serialized_start=203395 + _ATOM._serialized_end=203401 + _STATSDATOM._serialized_start=203403 + _STATSDATOM._serialized_end=203477 + _SYSSTATS._serialized_start=203480 + _SYSSTATS._serialized_end=205504 + _SYSSTATS_MEMINFOVALUE._serialized_start=204268 + _SYSSTATS_MEMINFOVALUE._serialized_end=204344 + _SYSSTATS_VMSTATVALUE._serialized_start=204346 + _SYSSTATS_VMSTATVALUE._serialized_end=204420 + _SYSSTATS_CPUTIMES._serialized_start=204423 + _SYSSTATS_CPUTIMES._serialized_end=204603 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204605 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204649 + _SYSSTATS_DEVFREQVALUE._serialized_start=204651 + _SYSSTATS_DEVFREQVALUE._serialized_end=204693 + _SYSSTATS_BUDDYINFO._serialized_start=204695 + _SYSSTATS_BUDDYINFO._serialized_end=204755 + _SYSSTATS_DISKSTAT._serialized_start=204758 + _SYSSTATS_DISKSTAT._serialized_end=204973 + _SYSSTATS_PSISAMPLE._serialized_start=204976 + _SYSSTATS_PSISAMPLE._serialized_end=205284 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205075 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205284 + _SYSSTATS_THERMALZONE._serialized_start=205286 + _SYSSTATS_THERMALZONE._serialized_end=205341 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205343 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205398 + _SYSSTATS_CPUIDLESTATE._serialized_start=205400 + _SYSSTATS_CPUIDLESTATE._serialized_end=205504 + _CPUINFO._serialized_start=205507 + _CPUINFO._serialized_end=205839 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205562 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205672 + _CPUINFO_CPU._serialized_start=205675 + _CPUINFO_CPU._serialized_end=205839 + _TESTEVENT._serialized_start=205842 + _TESTEVENT._serialized_end=206221 + _TESTEVENT_TESTPAYLOAD._serialized_start=205979 + _TESTEVENT_TESTPAYLOAD._serialized_end=206221 + _TRACEPACKETDEFAULTS._serialized_start=206224 + _TRACEPACKETDEFAULTS._serialized_end=206466 + _TRACEUUID._serialized_start=206468 + _TRACEUUID._serialized_end=206505 + _PROCESSDESCRIPTOR._serialized_start=206508 + _PROCESSDESCRIPTOR._serialized_end=206995 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206770 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=206995 + _TRACKEVENTRANGEOFINTEREST._serialized_start=206997 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207042 + _THREADDESCRIPTOR._serialized_start=207045 + _THREADDESCRIPTOR._serialized_end=207801 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207330 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207801 + _CHROMEPROCESSDESCRIPTOR._serialized_start=207804 + _CHROMEPROCESSDESCRIPTOR._serialized_end=207959 + _CHROMETHREADDESCRIPTOR._serialized_start=207961 + _CHROMETHREADDESCRIPTOR._serialized_end=208059 + _COUNTERDESCRIPTOR._serialized_start=208062 + _COUNTERDESCRIPTOR._serialized_end=208517 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208321 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208432 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208434 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208517 + _TRACKDESCRIPTOR._serialized_start=208520 + _TRACKDESCRIPTOR._serialized_end=209572 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209244 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209330 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209333 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209519 + _TRANSLATIONTABLE._serialized_start=209575 + _TRANSLATIONTABLE._serialized_end=210068 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210071 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210245 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210196 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210245 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210248 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210439 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210384 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210439 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210442 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210797 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210689 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210742 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210744 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210797 + _SLICENAMETRANSLATIONTABLE._serialized_start=210800 + _SLICENAMETRANSLATIONTABLE._serialized_end=210994 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210934 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210994 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=210997 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211205 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210934 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210994 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211208 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211372 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210196 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210245 + _TRIGGER._serialized_start=211374 + _TRIGGER._serialized_end=211481 + _UISTATE._serialized_start=211484 + _UISTATE._serialized_end=211681 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211617 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=211681 + _TRACEPACKET._serialized_start=211684 + _TRACEPACKET._serialized_end=217868 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217681 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217785 + _TRACE._serialized_start=217870 + _TRACE._serialized_end=217923 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index 3439cd1bfd6..f398f467d54 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -8957,12 +8957,14 @@ class FtraceEventBundle(_message.Message): timestamp: int def __init__(self, timestamp: _Optional[int] = ..., status: _Optional[_Union[FtraceParseStatus, str]] = ...) -> None: ... class GenericEventDescriptor(_message.Message): - __slots__ = ["event_descriptor", "field_id"] + __slots__ = ["event_descriptor", "field_id", "group_name"] EVENT_DESCRIPTOR_FIELD_NUMBER: _ClassVar[int] FIELD_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_NAME_FIELD_NUMBER: _ClassVar[int] event_descriptor: bytes field_id: int - def __init__(self, field_id: _Optional[int] = ..., event_descriptor: _Optional[bytes] = ...) -> None: ... + group_name: str + def __init__(self, field_id: _Optional[int] = ..., group_name: _Optional[str] = ..., event_descriptor: _Optional[bytes] = ...) -> None: ... BOOT_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] BROKEN_ABI_TRACE_PAGE_FIELD_NUMBER: _ClassVar[int] COMPACT_SCHED_FIELD_NUMBER: _ClassVar[int] diff --git a/src/traced/probes/ftrace/cpu_reader.cc b/src/traced/probes/ftrace/cpu_reader.cc index 64c9814a78e..c145a08ceb2 100644 --- a/src/traced/probes/ftrace/cpu_reader.cc +++ b/src/traced/probes/ftrace/cpu_reader.cc @@ -36,7 +36,6 @@ #include "src/traced/probes/ftrace/ftrace_print_filter.h" #include "src/traced/probes/ftrace/proto_translation_table.h" -#include "protos/perfetto/common/descriptor.pbzero.h" #include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h" #include "protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.h" #include "protos/perfetto/trace/ftrace/ftrace_stats.pbzero.h" // FtraceParseStatus @@ -361,14 +360,13 @@ void CpuReader::Bundler::WriteGenericEventDescriptors() { return; for (uint32_t proto_id : generic_descriptors_to_write_) { - PERFETTO_DCHECK(generic_pb_descriptors_->Find(proto_id)); + PERFETTO_DCHECK(generic_pb_descriptors_->descriptors.Find(proto_id)); - std::vector* pb_descriptor = - generic_pb_descriptors_->Find(proto_id); + auto* pb_descriptor = generic_pb_descriptors_->descriptors.Find(proto_id); if (pb_descriptor) { - auto* g = bundle_->add_generic_event_descriptors(); - g->set_field_id(static_cast(proto_id)); - g->set_event_descriptor(pb_descriptor->data(), pb_descriptor->size()); + bundle_->AppendBytes(protos::pbzero::FtraceEventBundle:: + kGenericEventDescriptorsFieldNumber, + pb_descriptor->data(), pb_descriptor->size()); } } } diff --git a/src/traced/probes/ftrace/cpu_reader.h b/src/traced/probes/ftrace/cpu_reader.h index 2ab9f482f1c..960c84b0d5e 100644 --- a/src/traced/probes/ftrace/cpu_reader.h +++ b/src/traced/probes/ftrace/cpu_reader.h @@ -24,7 +24,6 @@ #include #include "perfetto/base/flat_set.h" -#include "perfetto/ext/base/flat_hash_map.h" #include "perfetto/ext/base/paged_memory.h" #include "perfetto/ext/base/scoped_file.h" #include "perfetto/ext/base/utils.h" @@ -43,6 +42,7 @@ class FtraceDataSource; class LazyKernelSymbolizer; class ProtoTranslationTable; struct FtraceDataSourceConfig; +struct GenericEventProtoDescriptors; namespace protos { namespace pbzero { @@ -132,8 +132,7 @@ class CpuReader { CompactSchedBuffer* compact_sched_buf, bool compact_sched_enabled, uint64_t previous_bundle_end_ts, - const base::FlatHashMap>* - generic_pb_descriptors) + const GenericEventProtoDescriptors* generic_pb_descriptors) : trace_writer_(trace_writer), metadata_(metadata), symbolizer_(symbolizer), @@ -187,8 +186,7 @@ class CpuReader { uint64_t initial_previous_bundle_end_ts_; // Keyed by proto field id within |FtraceEvent|. base::FlatSet generic_descriptors_to_write_; - const base::FlatHashMap>* - generic_pb_descriptors_; + const GenericEventProtoDescriptors* generic_pb_descriptors_; TraceWriter::TracePacketHandle packet_; protos::pbzero::FtraceEventBundle* bundle_ = nullptr; diff --git a/src/traced/probes/ftrace/cpu_reader_benchmark.cc b/src/traced/probes/ftrace/cpu_reader_benchmark.cc index 88184376a2a..d51233bdb39 100644 --- a/src/traced/probes/ftrace/cpu_reader_benchmark.cc +++ b/src/traced/probes/ftrace/cpu_reader_benchmark.cc @@ -853,7 +853,7 @@ void DoParse(const ExamplePage& test_case, NullTraceWriter writer; FtraceMetadata metadata{}; auto compact_sched_buf = std::make_unique(); - base::FlatHashMap> generic_pb_descriptors; + GenericEventProtoDescriptors generic_pb_descriptors; CpuReader::Bundler bundler( &writer, &metadata, /*symbolizer=*/nullptr, /*cpu=*/0, /*clock_snapshot=*/std::nullopt, compact_sched_buf.get(), diff --git a/src/traced/probes/ftrace/cpu_reader_unittest.cc b/src/traced/probes/ftrace/cpu_reader_unittest.cc index 08b40a13f3c..eb77a12cc1d 100644 --- a/src/traced/probes/ftrace/cpu_reader_unittest.cc +++ b/src/traced/probes/ftrace/cpu_reader_unittest.cc @@ -449,7 +449,7 @@ class CpuReaderParsePagePayloadTest : public testing::Test { FtraceMetadata metadata_; std::optional writer_; std::unique_ptr compact_sched_buf_; - base::FlatHashMap> generic_pb_descriptors_; + GenericEventProtoDescriptors generic_pb_descriptors_; std::optional bundler_; uint64_t last_read_event_ts_ = 0; }; diff --git a/src/traced/probes/ftrace/proto_translation_table.cc b/src/traced/probes/ftrace/proto_translation_table.cc index 143c4c4269c..17f59161208 100644 --- a/src/traced/probes/ftrace/proto_translation_table.cc +++ b/src/traced/probes/ftrace/proto_translation_table.cc @@ -24,9 +24,10 @@ #include "perfetto/ext/base/string_utils.h" #include "perfetto/protozero/proto_utils.h" +#include "perfetto/protozero/scattered_heap_buffer.h" #include "src/traced/probes/ftrace/tracefs.h" -#include "protos/perfetto/common/descriptor.gen.h" +#include "protos/perfetto/common/descriptor.pbzero.h" #include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h" #include "protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.h" #include "protos/perfetto/trace/ftrace/generic.pbzero.h" @@ -244,8 +245,8 @@ ProtoSchemaType ToGenericProtoField(FtraceFieldType ftrace_type) { PERFETTO_FATAL("For GCC"); } -protos::gen::FieldDescriptorProto::Type ToPbDescEnum(ProtoSchemaType v) { - using PB = protos::gen::FieldDescriptorProto; +protos::pbzero::FieldDescriptorProto::Type ToPbDescEnum(ProtoSchemaType v) { + using PB = protos::pbzero::FieldDescriptorProto; switch (v) { case (ProtoSchemaType::kDouble): return PB::TYPE_DOUBLE; @@ -632,19 +633,25 @@ const Event* ProtoTranslationTable::CreateGenericEventInternal( evt->size = std::max(field_end, evt->size); } - // TODO(rsavitski): consider mixing in the group into the name (while keeping - // it a valid C identifier). - protos::gen::DescriptorProto pb_descriptor; - pb_descriptor.set_name(group_and_name.name()); + using GED = protos::pbzero::FtraceEventBundle::GenericEventDescriptor; + protozero::HeapBuffered outer_descriptor; + outer_descriptor->set_field_id(static_cast(proto_field_id)); + outer_descriptor->set_group_name(group_and_name.group()); - auto add_pb_desc_field = [&pb_descriptor]( - uint32_t id, const std::string& name, - protos::gen::FieldDescriptorProto::Type type) { - auto* f = pb_descriptor.add_field(); - f->set_number(static_cast(id)); - f->set_name(name); - f->set_type(type); // e.g. int32, fixed64 - }; + auto* event_pb_descriptor = + outer_descriptor->BeginNestedMessage( + GED::kEventDescriptorFieldNumber); + + event_pb_descriptor->set_name(group_and_name.name()); + + auto add_pb_desc_field = + [event_pb_descriptor](uint32_t id, const std::string& name, + protos::pbzero::FieldDescriptorProto::Type type) { + auto* f = event_pb_descriptor->add_field(); + f->set_number(static_cast(id)); + f->set_name(name); + f->set_type(type); // e.g. int32, fixed64 + }; // Create a transcoding mapping for the fields. uint32_t submessage_field_proto_id = 1; @@ -689,8 +696,8 @@ const Event* ProtoTranslationTable::CreateGenericEventInternal( } if (keep_proto_descriptor) { - generic_evt_pb_descriptors_.Insert(evt->proto_field_id, - pb_descriptor.SerializeAsArray()); + generic_evt_pb_descriptors_.descriptors.Insert( + evt->proto_field_id, outer_descriptor.SerializeAsArray()); } PERFETTO_DCHECK(evt == &events_.at(evt->ftrace_event_id)); diff --git a/src/traced/probes/ftrace/proto_translation_table.h b/src/traced/probes/ftrace/proto_translation_table.h index 5aa66fc5980..ce73a8fcc33 100644 --- a/src/traced/probes/ftrace/proto_translation_table.h +++ b/src/traced/probes/ftrace/proto_translation_table.h @@ -65,6 +65,17 @@ inline void PrintTo(const GroupAndName& event, ::std::ostream* os) { *os << "GroupAndName(" << event.group() << ", " << event.name() << ")"; } +struct GenericEventProtoDescriptors { + // Map: proto id -> serialised GenericEventDescriptor (which already contains + // the proto id as a field). Not garbage collected as the number of events is + // bounded unless someone is constantly creating dynamic probes. This is + // acceptable since the proto translation table itself only lives for as long + // as tracing is active. + // TODO(rsavitski): double-check the impact of tracepoint id reuse (deleting a + // probe and creating a new one will reuse the tracefs event id). + base::FlatHashMap> descriptors; +}; + bool InferFtraceType(const std::string& type_and_name, size_t size, bool is_signed, @@ -180,8 +191,7 @@ class ProtoTranslationTable { return proto_field_id >= kGenericEvtProtoMinPbFieldId; } - const base::FlatHashMap>* - generic_evt_pb_descriptors() const { + const GenericEventProtoDescriptors* generic_evt_pb_descriptors() const { return &generic_evt_pb_descriptors_; } @@ -206,14 +216,11 @@ class ProtoTranslationTable { PrintkMap printk_formats_; // Used to assign proto field ids within "FtraceEvent" proto when serialising // events not known at compile time. + // TODO(rsavitski): support dense generic events when using multiple ftrace + // instances (i.e. make the proto id reservation across multiple translation + // table objects). uint32_t next_generic_evt_proto_id_ = kGenericEvtProtoMinPbFieldId; - // Keyed by proto id. Not garbage collected as the number of events is bounded - // unless someone is constantly recreating dynamic probes. This is acceptable - // since the proto translation table itself only lives for as long as tracing - // is active. - // TODO(rsavitski): double-check that tracefs doesn't reuse tracepoint ids for - // dynamic probes. - base::FlatHashMap> generic_evt_pb_descriptors_; + GenericEventProtoDescriptors generic_evt_pb_descriptors_; }; // Class for efficient 'is event with id x enabled?' checks. diff --git a/src/traced/probes/ftrace/proto_translation_table_unittest.cc b/src/traced/probes/ftrace/proto_translation_table_unittest.cc index 7e56feba9a2..445b6127864 100644 --- a/src/traced/probes/ftrace/proto_translation_table_unittest.cc +++ b/src/traced/probes/ftrace/proto_translation_table_unittest.cc @@ -24,8 +24,7 @@ #include "test/gtest_and_gmock.h" #include "protos/perfetto/common/descriptor.gen.h" -#include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h" -#include "protos/perfetto/trace/ftrace/generic.pbzero.h" +#include "protos/perfetto/trace/ftrace/ftrace_event_bundle.gen.h" using testing::_; using testing::AllOf; @@ -555,16 +554,21 @@ print fmt: "some format")")); // uint32_t pb_id = table->GetEventById(42)->proto_field_id; - auto* descriptors = table->generic_evt_pb_descriptors(); + auto* descriptors = &table->generic_evt_pb_descriptors()->descriptors; ASSERT_TRUE(descriptors->Find(pb_id)); std::vector serialised_descriptor = *descriptors->Find(pb_id); - protos::gen::DescriptorProto descriptor; - descriptor.ParseFromArray(serialised_descriptor.data(), - serialised_descriptor.size()); + protos::gen::FtraceEventBundle::GenericEventDescriptor outer_descriptor; + outer_descriptor.ParseFromArray(serialised_descriptor.data(), + serialised_descriptor.size()); - EXPECT_STREQ(descriptor.name().c_str(), "foo"); - const auto& fields = descriptor.field(); + EXPECT_STREQ(outer_descriptor.group_name().c_str(), "group"); + + protos::gen::DescriptorProto event_descriptor; + event_descriptor.ParseFromString(outer_descriptor.event_descriptor()); + + EXPECT_STREQ(event_descriptor.name().c_str(), "foo"); + const auto& fields = event_descriptor.field(); EXPECT_EQ(fields.size(), 4u); using FDP = protos::gen::FieldDescriptorProto; From c65180f544d3443d1f5eb9898bca0ddac6ca9a4a Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 6 Oct 2025 18:10:48 +0100 Subject: [PATCH 014/370] tprobes: ftrace: enable denser_generic_event_encoding by default (#3190) Attempt to roll out self-describing protos by changing the default. It's been tested locally, and the only known edge case is with using generic events from multiple concurrent tracefs instances. I'm working on addressing that, but we also need to discover any potential users that are too attached to the specifics of ftrace packet encoding. Setting the config field explicitly is a way to get back to the old encoding. --- CHANGELOG | 10 ++++++++-- protos/perfetto/config/ftrace/ftrace_config.proto | 5 +++++ protos/perfetto/config/perfetto_config.proto | 5 +++++ protos/perfetto/trace/perfetto_trace.proto | 5 +++++ src/traced/probes/ftrace/ftrace_config_muxer.cc | 8 +++++++- 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 819b60d2c5d..14e8fc688ad 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,12 +1,18 @@ Unreleased: Tracing service and probes: - * + * "linux.ftrace": FtraceConfig.denser_generic_event_encoding is now enabled + by default (set it explicitly to false to revert to previous encoding, + which is now deprecated). This reduces trace size when recording events + that aren't know by perfetto at compile time. SQL Standard library: * Trace Processor: * UI: - * + * Perf sample callstack tracks: if a trace contains multiple callstack data + sources, the thread and process level callstack tracks can now be + expanded to see which samples came from which sampling timebase/leader + counter. SDK: * diff --git a/protos/perfetto/config/ftrace/ftrace_config.proto b/protos/perfetto/config/ftrace/ftrace_config.proto index 9d0301dbe75..7cade39b5b6 100644 --- a/protos/perfetto/config/ftrace/ftrace_config.proto +++ b/protos/perfetto/config/ftrace/ftrace_config.proto @@ -155,6 +155,11 @@ message FtraceConfig { // If true, use self-describing proto messages when writing events not known // at compile time (aka generic events). Each event bundle will have a set of // serialised proto descriptors for events within that bundle. + // + // Default if unset: + // * v53+: true + // * before v53: false + // // Added in: perfetto v50. optional bool denser_generic_event_encoding = 32; diff --git a/protos/perfetto/config/perfetto_config.proto b/protos/perfetto/config/perfetto_config.proto index 39f158efb92..41a2f93c044 100644 --- a/protos/perfetto/config/perfetto_config.proto +++ b/protos/perfetto/config/perfetto_config.proto @@ -1172,6 +1172,11 @@ message FtraceConfig { // If true, use self-describing proto messages when writing events not known // at compile time (aka generic events). Each event bundle will have a set of // serialised proto descriptors for events within that bundle. + // + // Default if unset: + // * v53+: true + // * before v53: false + // // Added in: perfetto v50. optional bool denser_generic_event_encoding = 32; diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 8448bda77b9..39da36991fa 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -1172,6 +1172,11 @@ message FtraceConfig { // If true, use self-describing proto messages when writing events not known // at compile time (aka generic events). Each event bundle will have a set of // serialised proto descriptors for events within that bundle. + // + // Default if unset: + // * v53+: true + // * before v53: false + // // Added in: perfetto v50. optional bool denser_generic_event_encoding = 32; diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.cc b/src/traced/probes/ftrace/ftrace_config_muxer.cc index 057341dd8b0..0442af5b656 100644 --- a/src/traced/probes/ftrace/ftrace_config_muxer.cc +++ b/src/traced/probes/ftrace/ftrace_config_muxer.cc @@ -682,6 +682,12 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, } } + // perfetto v53: self-describing protos are now enabled by default. + bool denser_generic_event_encoding = + request.has_denser_generic_event_encoding() + ? request.denser_generic_event_encoding() + : true; + std::vector apps(request.atrace_apps()); std::vector categories(request.atrace_categories()); std::vector categories_sdk_optout = Subtract( @@ -694,7 +700,7 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, std::move(categories), std::move(categories_sdk_optout), request.symbolize_ksyms(), request.drain_buffer_percent(), GetSyscallsReturningFds(syscalls_), std::move(kprobes), - request.debug_ftrace_abi(), request.denser_generic_event_encoding())); + request.debug_ftrace_abi(), denser_generic_event_encoding)); return true; } From d57eda6f192a4d5f147531d3f63355b5e36c5c78 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 6 Oct 2025 18:37:15 +0100 Subject: [PATCH 015/370] cleanup: more ftrace->tracefs renames (#3192) Using "tracefs" is both more accurate, and less ambiguous when referring to the virtual filesystem. Hence more "ftrace_" -> "tracefs_" renames. One exception is probes_producer, where I renamed ftrace_ to ftrace_controller_ (as it's a different type). --- .../probes/ftrace/cpu_reader_unittest.cc | 4 +- .../probes/ftrace/ftrace_config_muxer.cc | 98 ++-- .../probes/ftrace/ftrace_config_muxer.h | 4 +- .../ftrace/ftrace_config_muxer_unittest.cc | 425 +++++++++--------- .../probes/ftrace/predefined_tracepoints.cc | 15 +- .../probes/ftrace/predefined_tracepoints.h | 5 +- .../probes/ftrace/tracefs_integrationtest.cc | 102 +++-- .../probes/ftrace/vendor_tracepoints.cc | 18 +- src/traced/probes/ftrace/vendor_tracepoints.h | 4 +- src/traced/probes/probes_producer.cc | 12 +- src/traced/probes/probes_producer.h | 2 +- 11 files changed, 344 insertions(+), 345 deletions(-) diff --git a/src/traced/probes/ftrace/cpu_reader_unittest.cc b/src/traced/probes/ftrace/cpu_reader_unittest.cc index eb77a12cc1d..0d2837c84f3 100644 --- a/src/traced/probes/ftrace/cpu_reader_unittest.cc +++ b/src/traced/probes/ftrace/cpu_reader_unittest.cc @@ -144,7 +144,7 @@ class MockTracefs : public Tracefs { class CpuReaderTableTest : public ::testing::Test { protected: - NiceMock ftrace_; + NiceMock tracefs_; }; // Single class to manage the whole protozero -> scattered stream -> chunks -> @@ -1439,7 +1439,7 @@ TEST_F(CpuReaderTableTest, ParseAllFields) { PrintkMap printk_formats; printk_formats.insert(0xffffff8504f51b23, "my_printk_format_string"); ProtoTranslationTable table( - &ftrace_, events, std::move(common_fields), + &tracefs_, events, std::move(common_fields), ProtoTranslationTable::DefaultPageHeaderSpecForTesting(), InvalidCompactSchedEventFormatForTesting(), printk_formats); FtraceDataSourceConfig ds_config = EmptyConfig(); diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.cc b/src/traced/probes/ftrace/ftrace_config_muxer.cc index 0442af5b656..a6ce9826562 100644 --- a/src/traced/probes/ftrace/ftrace_config_muxer.cc +++ b/src/traced/probes/ftrace/ftrace_config_muxer.cc @@ -190,7 +190,7 @@ std::set FtraceConfigMuxer::GetFtraceEvents( std::string name; std::tie(group, name) = EventToStringGroupAndName(config_value); if (name == "*") { - for (const auto& event : ReadEventsInGroupFromFs(*ftrace_, group)) + for (const auto& event : ReadEventsInGroupFromFs(*tracefs_, group)) events.insert(event); } else if (group.empty()) { // If there is no group specified, find an event with that name and @@ -249,7 +249,7 @@ std::set FtraceConfigMuxer::GetFtraceEvents( } // If throttle_rss_stat: true, use the rss_stat_throttled event if supported - if (request.throttle_rss_stat() && ftrace_->SupportsRssStatThrottled()) { + if (request.throttle_rss_stat() && tracefs_->SupportsRssStatThrottled()) { auto it = std::find_if( events.begin(), events.end(), [](const GroupAndName& event) { return event.group() == "kmem" && event.name() == "rss_stat"; @@ -340,7 +340,7 @@ bool FtraceConfigMuxer::SetSyscallEventFilter( } if (current_state_.syscall_filter != filter_set) { - if (!ftrace_->SetSyscallFilter(filter_set)) { + if (!tracefs_->SetSyscallFilter(filter_set)) { return false; } @@ -363,7 +363,7 @@ void FtraceConfigMuxer::EnableFtraceEvent(const Event* event, filter->AddEnabledEvent(event->ftrace_event_id); return; } - if (ftrace_->EnableEvent(event->group, event->name)) { + if (tracefs_->EnableEvent(event->group, event->name)) { current_state_.ftrace_events.AddEnabledEvent(event->ftrace_event_id); filter->AddEnabledEvent(event->ftrace_event_id); } else { @@ -374,14 +374,14 @@ void FtraceConfigMuxer::EnableFtraceEvent(const Event* event, } FtraceConfigMuxer::FtraceConfigMuxer( - Tracefs* ftrace, + Tracefs* tracefs, AtraceWrapper* atrace_wrapper, ProtoTranslationTable* table, SyscallTable syscalls, std::map> predefined_events, std::map> vendor_events, bool secondary_instance) - : ftrace_(ftrace), + : tracefs_(tracefs), atrace_wrapper_(atrace_wrapper), table_(table), syscalls_(syscalls), @@ -402,24 +402,24 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, // If someone outside of perfetto is using a non-nop tracer, yield. We can't // realistically figure out all notions of "in use" even if we look at // set_event or events/enable, so this is all we check for. - if (!request.preserve_ftrace_buffer() && !ftrace_->IsTracingAvailable()) { + if (!request.preserve_ftrace_buffer() && !tracefs_->IsTracingAvailable()) { PERFETTO_ELOG( "ftrace in use by non-Perfetto. Check that %s current_tracer is nop.", - ftrace_->GetRootPath().c_str()); + tracefs_->GetRootPath().c_str()); return false; } // Clear tracefs state, remembering which value of "tracing_on" to restore // to after we're done, though we won't restore the rest of the tracefs // state. - current_state_.saved_tracing_on = ftrace_->GetTracingOn(); + current_state_.saved_tracing_on = tracefs_->GetTracingOn(); if (!request.preserve_ftrace_buffer()) { - ftrace_->SetTracingOn(false); + tracefs_->SetTracingOn(false); // Android: this will fail on release ("user") builds due to ACLs, but // that's acceptable since the per-event enabling/disabling should still // be balanced. - ftrace_->DisableAllEvents(); - ftrace_->ClearTrace(); + tracefs_->DisableAllEvents(); + tracefs_->ClearTrace(); } // Set up the new tracefs state, without starting recording. @@ -457,7 +457,7 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, tid_strings.push_back(std::to_string(tid)); } - if (!ftrace_->SetEventTidFilter(tid_strings)) { + if (!tracefs_->SetEventTidFilter(tid_strings)) { PERFETTO_ELOG("Failed to set event tid filter"); return false; } @@ -480,7 +480,7 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, return false; } // Get the current option state and save it for later. - auto option_state = ftrace_->GetTracefsOption(name); + auto option_state = tracefs_->GetTracefsOption(name); if (!option_state.has_value()) { PERFETTO_ELOG("Tracefs option not found: %s", name.c_str()); return false; @@ -489,7 +489,7 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, bool new_state = tracefs_option.state() == FtraceConfig::TracefsOption::STATE_ENABLED; - if (!ftrace_->SetTracefsOption(name, new_state)) { + if (!tracefs_->SetTracefsOption(name, new_state)) { PERFETTO_ELOG("Failed to set tracefs option: %s", name.c_str()); return false; } @@ -498,12 +498,12 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, } if (!request.tracing_cpumask().empty()) { - auto current_tracing_cpumask = ftrace_->GetTracingCpuMask(); + auto current_tracing_cpumask = tracefs_->GetTracingCpuMask(); if (!current_tracing_cpumask.has_value()) { PERFETTO_ELOG("Failed to get tracing cpumask"); return false; } - if (!ftrace_->SetTracingCpuMask(request.tracing_cpumask())) { + if (!tracefs_->SetTracingCpuMask(request.tracing_cpumask())) { PERFETTO_ELOG("Failed to set tracing cpumask: %s", request.tracing_cpumask().c_str()); return false; @@ -545,7 +545,7 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, continue; } // Create kprobe in the kernel by writing to the tracefs. - if (!ftrace_->CreateKprobeEvent( + if (!tracefs_->CreateKprobeEvent( group_and_name.group(), group_and_name.name(), group_and_name.group() == kKretprobeGroup)) { PERFETTO_ELOG("Failed creation of kprobes event %s", @@ -561,7 +561,8 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, } if (!event || event->proto_field_id != protos::pbzero::FtraceEvent::kKprobeEventFieldNumber) { - ftrace_->RemoveKprobeEvent(group_and_name.group(), group_and_name.name()); + tracefs_->RemoveKprobeEvent(group_and_name.group(), + group_and_name.name()); PERFETTO_ELOG("Can't enable kprobe %s", group_and_name.ToString().c_str()); @@ -627,32 +628,33 @@ bool FtraceConfigMuxer::SetupConfig(FtraceConfigId id, // steering in the parser), and we don't want to remove functions midway // through a trace (but some might get added). if (request.enable_function_graph()) { - if (!current_state_.funcgraph_on && !ftrace_->ClearFunctionFilters()) { + if (!current_state_.funcgraph_on && !tracefs_->ClearFunctionFilters()) { PERFETTO_PLOG("Failed to clear .../set_ftrace_filter"); return false; } - if (!current_state_.funcgraph_on && !ftrace_->ClearFunctionGraphFilters()) { + if (!current_state_.funcgraph_on && + !tracefs_->ClearFunctionGraphFilters()) { PERFETTO_PLOG("Failed to clear .../set_graph_function"); return false; } - if (!current_state_.funcgraph_on && !ftrace_->ClearMaxGraphDepth()) { + if (!current_state_.funcgraph_on && !tracefs_->ClearMaxGraphDepth()) { PERFETTO_PLOG("Failed to clear .../max_graph_depth"); return false; } - if (!ftrace_->AppendFunctionFilters(request.function_filters())) { + if (!tracefs_->AppendFunctionFilters(request.function_filters())) { PERFETTO_PLOG("Failed to append to .../set_ftrace_filter"); return false; } - if (!ftrace_->AppendFunctionGraphFilters(request.function_graph_roots())) { + if (!tracefs_->AppendFunctionGraphFilters(request.function_graph_roots())) { PERFETTO_PLOG("Failed to append to .../set_graph_function"); return false; } - if (!ftrace_->SetMaxGraphDepth(request.function_graph_max_depth())) { + if (!tracefs_->SetMaxGraphDepth(request.function_graph_max_depth())) { PERFETTO_PLOG("Failed to write to .../max_graph_depth"); return false; } if (!current_state_.funcgraph_on && - !ftrace_->SetCurrentTracer("function_graph")) { + !tracefs_->SetCurrentTracer("function_graph")) { PERFETTO_LOG( "Unable to enable function_graph tracing since a concurrent ftrace " "data source is using a different tracer"); @@ -723,7 +725,7 @@ bool FtraceConfigMuxer::ActivateConfig(FtraceConfigId id) { // Enable kernel event writer. if (first_config) { - if (!ftrace_->SetTracingOn(true)) { + if (!tracefs_->SetTracingOn(true)) { PERFETTO_ELOG("Failed to enable ftrace."); active_configs_.erase(id); return false; @@ -784,7 +786,7 @@ bool FtraceConfigMuxer::RemoveConfig(FtraceConfigId config_id) { const Event* event = table_->GetEventById(id); // Any event that was enabled must exist. PERFETTO_DCHECK(event); - if (ftrace_->DisableEvent(event->group, event->name)) + if (tracefs_->DisableEvent(event->group, event->name)) current_state_.ftrace_events.DisableEvent(event->ftrace_event_id); } @@ -795,7 +797,7 @@ bool FtraceConfigMuxer::RemoveConfig(FtraceConfigId config_id) { // This was the last active config for now, but potentially more dormant // configs need to be activated. We are not interested in reading while no // active configs so disable tracing_on here. - ftrace_->SetTracingOn(false); + tracefs_->SetTracingOn(false); } } @@ -806,30 +808,30 @@ bool FtraceConfigMuxer::RemoveConfig(FtraceConfigId config_id) { // configs around. Tear down the rest of the ftrace config only if all // configs are removed. if (ds_configs_.empty()) { - if (ftrace_->SetCpuBufferSizeInPages(1)) + if (tracefs_->SetCpuBufferSizeInPages(1)) current_state_.cpu_buffer_size_pages = 1; - ftrace_->SetBufferPercent(50); - ftrace_->DisableAllEvents(); - ftrace_->ClearTrace(); - ftrace_->SetTracingOn(current_state_.saved_tracing_on); + tracefs_->SetBufferPercent(50); + tracefs_->DisableAllEvents(); + tracefs_->ClearTrace(); + tracefs_->SetTracingOn(current_state_.saved_tracing_on); // Kprobe cleanup cannot happen while we're still tracing as uninstalling // kprobes clears all tracing buffers in the kernel. for (const GroupAndName& probe : current_state_.installed_kprobes) { - ftrace_->RemoveKprobeEvent(probe.group(), probe.name()); + tracefs_->RemoveKprobeEvent(probe.group(), probe.name()); table_->RemoveEvent(probe); } if (current_state_.exclusive_feature_active) { - ftrace_->ClearEventTidFilter(); + tracefs_->ClearEventTidFilter(); if (current_state_.saved_tracing_cpumask.has_value()) { - ftrace_->SetTracingCpuMask( + tracefs_->SetTracingCpuMask( current_state_.saved_tracing_cpumask.value()); current_state_.saved_tracing_cpumask.reset(); } for (auto it = current_state_.saved_tracefs_options.GetIterator(); it; ++it) { - ftrace_->SetTracefsOption(it.key(), it.value()); + tracefs_->SetTracefsOption(it.key(), it.value()); } current_state_.saved_tracefs_options.Clear(); current_state_.exclusive_feature_active = false; @@ -869,16 +871,16 @@ bool FtraceConfigMuxer::RemoveConfig(FtraceConfigId config_id) { bool FtraceConfigMuxer::ResetCurrentTracer() { if (!current_state_.funcgraph_on) return true; - if (!ftrace_->ResetCurrentTracer()) { + if (!tracefs_->ResetCurrentTracer()) { PERFETTO_PLOG("Failed to reset current_tracer to nop"); return false; } current_state_.funcgraph_on = false; - if (!ftrace_->ClearFunctionFilters()) { + if (!tracefs_->ClearFunctionFilters()) { PERFETTO_PLOG("Failed to reset set_ftrace_filter."); return false; } - if (!ftrace_->ClearFunctionGraphFilters()) { + if (!tracefs_->ClearFunctionGraphFilters()) { PERFETTO_PLOG("Failed to reset set_function_graph."); return false; } @@ -893,19 +895,19 @@ const FtraceDataSourceConfig* FtraceConfigMuxer::GetDataSourceConfig( } void FtraceConfigMuxer::SetupClock(const FtraceConfig& config) { - std::set clocks = ftrace_->AvailableClocks(); + std::set clocks = tracefs_->AvailableClocks(); if (config.use_monotonic_raw_clock() && clocks.count(kClockMonoRaw)) { - ftrace_->SetClock(kClockMonoRaw); + tracefs_->SetClock(kClockMonoRaw); } else { - std::string current_clock = ftrace_->GetClock(); + std::string current_clock = tracefs_->GetClock(); for (size_t i = 0; i < base::ArraySize(kClocks); i++) { std::string clock = std::string(kClocks[i]); if (!clocks.count(clock)) continue; if (current_clock == clock) break; - ftrace_->SetClock(clock); + tracefs_->SetClock(clock); break; } } @@ -914,7 +916,7 @@ void FtraceConfigMuxer::SetupClock(const FtraceConfig& config) { } void FtraceConfigMuxer::RememberActiveClock() { - std::string current_clock = ftrace_->GetClock(); + std::string current_clock = tracefs_->GetClock(); namespace pb0 = protos::pbzero; if (current_clock == "boot") { // "boot" is the default expectation on modern kernels, which is why we @@ -937,7 +939,7 @@ void FtraceConfigMuxer::SetupBufferSize(const FtraceConfig& request) { size_t pages = ComputeCpuBufferSizeInPages(request.buffer_size_kb(), request.buffer_size_lower_bound(), phys_ram_pages); - ftrace_->SetCpuBufferSizeInPages(pages); + tracefs_->SetCpuBufferSizeInPages(pages); current_state_.cpu_buffer_size_pages = pages; } @@ -986,7 +988,7 @@ bool FtraceConfigMuxer::UpdateBufferPercent() { if (min_percent == kUnsetPercent) return true; // Let the kernel ignore values >100. - return ftrace_->SetBufferPercent(min_percent); + return tracefs_->SetBufferPercent(min_percent); } void FtraceConfigMuxer::UpdateAtrace(const FtraceConfig& request, diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.h b/src/traced/probes/ftrace/ftrace_config_muxer.h index 4d66e5b6fcf..21e4468ece4 100644 --- a/src/traced/probes/ftrace/ftrace_config_muxer.h +++ b/src/traced/probes/ftrace/ftrace_config_muxer.h @@ -135,7 +135,7 @@ class FtraceConfigMuxer { // The Tracefs and ProtoTranslationTable // should outlive this instance. FtraceConfigMuxer( - Tracefs* ftrace, + Tracefs* tracefs, AtraceWrapper* atrace_wrapper, ProtoTranslationTable* table, SyscallTable syscalls, @@ -285,7 +285,7 @@ class FtraceConfigMuxer { // so the filter can be updated before ds_configs_. bool SetSyscallEventFilter(const EventFilter& extra_syscalls); - Tracefs* ftrace_; + Tracefs* tracefs_; AtraceWrapper* atrace_wrapper_; ProtoTranslationTable* table_; SyscallTable syscalls_; diff --git a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc index dd3c216ac11..29db24548c1 100644 --- a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc +++ b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc @@ -200,7 +200,7 @@ class FtraceConfigMuxerTest : public ::testing::Test { std::vector events; return std::unique_ptr( new MockProtoTranslationTable( - &ftrace_, events, std::move(common_fields), + &tracefs_, events, std::move(common_fields), ProtoTranslationTable::DefaultPageHeaderSpecForTesting(), InvalidCompactSchedEventFormatForTesting())); } @@ -211,8 +211,8 @@ class FtraceConfigMuxerTest : public ::testing::Test { std::map> GetAccessiblePredefinedTracePoints(const ProtoTranslationTable* table) { - return predefined_tracepoints::GetAccessiblePredefinedTracePoints(table, - &ftrace_); + return predefined_tracepoints::GetAccessiblePredefinedTracePoints( + table, &tracefs_); } std::unique_ptr CreateFakeTable( @@ -285,19 +285,19 @@ class FtraceConfigMuxerTest : public ::testing::Test { } return std::unique_ptr(new ProtoTranslationTable( - &ftrace_, events, std::move(common_fields), + &tracefs_, events, std::move(common_fields), ProtoTranslationTable::DefaultPageHeaderSpecForTesting(), compact_format, PrintkMap())); } - NiceMock ftrace_; + NiceMock tracefs_; NiceMock atrace_wrapper_; }; TEST_F(FtraceConfigMuxerTest, SecondaryInstanceDoNotSupportAtrace) { auto fake_table = CreateFakeTable(); FtraceConfigMuxer model( - &ftrace_, &atrace_wrapper_, fake_table.get(), GetSyscallTable(), + &tracefs_, &atrace_wrapper_, fake_table.get(), GetSyscallTable(), GetAccessiblePredefinedTracePoints(fake_table.get()), {}, /* secondary_instance= */ true); @@ -317,13 +317,13 @@ TEST_F(FtraceConfigMuxerTest, CompactSchedConfig) { std::unique_ptr table = CreateFakeTable(valid_compact_format); - FtraceConfigMuxer muxer(&ftrace_, &atrace_wrapper_, table.get(), + FtraceConfigMuxer muxer(&tracefs_, &atrace_wrapper_, table.get(), GetSyscallTable(), GetAccessiblePredefinedTracePoints(table.get()), {}); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); { @@ -388,12 +388,12 @@ TEST_F(FtraceConfigMuxerTest, AtraceAddedEvents) { {"gfx", {GroupAndName("sched", "sched_switch")}}}; auto fake_table = CreateFakeTable(); - FtraceConfigMuxer muxer(&ftrace_, &atrace_wrapper_, fake_table.get(), + FtraceConfigMuxer muxer(&tracefs_, &atrace_wrapper_, fake_table.get(), GetSyscallTable(), predefined_events, vendor_events); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); // Case 1: both predefined and vendor events enabled when the category is @@ -471,7 +471,7 @@ class FtraceConfigMuxerFakeTableTest : public FtraceConfigMuxerTest { protected: std::unique_ptr table_ = CreateFakeTable(); FtraceConfigMuxer model_ = - FtraceConfigMuxer(&ftrace_, + FtraceConfigMuxer(&tracefs_, &atrace_wrapper_, table_.get(), GetSyscallTable(), @@ -484,19 +484,20 @@ TEST_F(FtraceConfigMuxerFakeTableTest, GenericSyscallFiltering) { *config.add_syscall_events() = "sys_open"; *config.add_syscall_events() = "sys_read"; - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile(_, _)).WillRepeatedly(Return(true)); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/raw_syscalls/sys_enter/filter", - "id == 0 || id == 1")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/raw_syscalls/sys_exit/filter", - "id == 0 || id == 1")); + EXPECT_CALL(tracefs_, WriteToFile(_, _)).WillRepeatedly(Return(true)); + EXPECT_CALL(tracefs_, + WriteToFile("/root/events/raw_syscalls/sys_enter/filter", + "id == 0 || id == 1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/raw_syscalls/sys_exit/filter", + "id == 0 || id == 1")); FtraceConfigId id = 37; ASSERT_TRUE(model_.SetupConfig(id, config)); @@ -511,13 +512,13 @@ TEST_F(FtraceConfigMuxerFakeTableTest, UnknownSyscallFilter) { config.add_syscall_events("sys_open"); config.add_syscall_events("sys_not_a_call"); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); // Unknown syscall is ignored. @@ -537,7 +538,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, SyscallFilterMuxing) { FtraceConfig syscall_read_config = syscall_config; syscall_read_config.add_syscall_events("sys_read"); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); // Expect no filter for non-syscall config. @@ -572,26 +573,26 @@ TEST_F(FtraceConfigMuxerFakeTableTest, SyscallFilterMuxing) { TEST_F(FtraceConfigMuxerFakeTableTest, TurnFtraceOnOff) { FtraceConfig config = CreateFtraceConfig({"sched_switch", "foo"}); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "1")); FtraceConfigId id = 97; ASSERT_TRUE(model_.SetupConfig(id, config)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -603,18 +604,18 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TurnFtraceOnOff) { ASSERT_THAT(central_filter->GetEnabledEvents(), ElementsAreArray({kFakeSchedSwitchEventId})); - ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&ftrace_)); - EXPECT_CALL(ftrace_, NumberOfCpus()).Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_percent", _)) + ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&tracefs_)); + EXPECT_CALL(tracefs_, NumberOfCpus()).Times(AnyNumber()); + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_percent", _)) .WillRepeatedly(Return(true)); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", PageSizeKb())); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", PageSizeKb())); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.RemoveConfig(id)); } @@ -623,7 +624,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, FtraceIsAlreadyOn) { FtraceConfig config = CreateFtraceConfig({"sched/sched_switch"}); // If someone is using ftrace already don't stomp on what they are doing. - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("function")); ASSERT_FALSE(model_.SetupConfig(/* id= */ 123, config)); } @@ -632,9 +633,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, Atrace) { FtraceConfig config = CreateFtraceConfig({"sched/sched_switch"}); *config.add_atrace_categories() = "sched"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL(atrace_wrapper_, RunAtrace(ElementsAreArray({"atrace", "--async_start", @@ -672,9 +673,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceTwoApps) { *config.add_atrace_apps() = "com.google.android.gms.persistent"; *config.add_atrace_apps() = "com.google.android.gms"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( atrace_wrapper_, @@ -714,9 +715,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceMultipleConfigs) { *config_c.add_atrace_apps() = "app_c"; *config_c.add_atrace_categories() = "cat_c"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( atrace_wrapper_, @@ -786,9 +787,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceFailedConfig) { *config_c.add_atrace_categories() = "cat_1"; *config_c.add_atrace_categories() = "cat_3"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( atrace_wrapper_, @@ -847,9 +848,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceDuplicateConfigs) { *config_b.add_atrace_apps() = "app_1"; *config_b.add_atrace_categories() = "cat_1"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( atrace_wrapper_, @@ -884,9 +885,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceAndFtraceConfigs) { FtraceConfig config_d = CreateFtraceConfig({"sched/sched_cpu_hotplug"}); *config_d.add_atrace_categories() = "d"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); FtraceConfigId id_a = 179; ASSERT_TRUE(model_.SetupConfig(id_a, config_a)); @@ -934,9 +935,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtraceErrorsPropagated) { *config.add_atrace_categories() = "cat_1"; *config.add_atrace_categories() = "cat_2"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( @@ -966,9 +967,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, AtracePreferTrackEvent) { *config_a.add_atrace_categories_prefer_sdk() = "cat_1"; *config_a.add_atrace_categories_prefer_sdk() = "cat_2"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); EXPECT_CALL( atrace_wrapper_, @@ -1056,11 +1057,11 @@ TEST_F(FtraceConfigMuxerFakeTableTest, SetupClockBoot) { namespace pb0 = protos::pbzero; // [local] -> write "boot" -> [boot] - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillRepeatedly(Return("[local] global boot")); testing::Expectation write_expectation = - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .After(write_expectation) .WillRepeatedly(Return("local global [boot]")); @@ -1075,11 +1076,11 @@ TEST_F(FtraceConfigMuxerFakeTableTest, SetupClockNoBoot) { namespace pb0 = protos::pbzero; // [local] -> write "global" -> [global] - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillRepeatedly(Return("[local] global")); testing::Expectation write_expectation = - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "global")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "global")); + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .After(write_expectation) .WillRepeatedly(Return("local [global]")); @@ -1093,9 +1094,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, SetupClockUnknown) { namespace pb0 = protos::pbzero; // empty clock file (inaccessible due to file ACLs?) - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillRepeatedly(Return("")); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", _)).Times(0); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", _)).Times(0); model_.SetupClockForTesting(config); EXPECT_EQ(model_.ftrace_clock(), pb0::FTRACE_CLOCK_UNKNOWN); @@ -1144,33 +1145,33 @@ TEST_F(FtraceConfigMuxerFakeTableTest, FallbackOnSetEvent) { FtraceConfig config = CreateFtraceConfig({"sched/sched_switch", "cgroup/cgroup_mkdir"}); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_percent", _)) + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_percent", _)) .WillRepeatedly(Return(true)); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "1")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/events/cgroup/cgroup_mkdir/enable", "1")) .WillOnce(Return(false)); - EXPECT_CALL(ftrace_, AppendToFile("/root/set_event", "cgroup:cgroup_mkdir")) + EXPECT_CALL(tracefs_, AppendToFile("/root/set_event", "cgroup:cgroup_mkdir")) .WillOnce(Return(true)); FtraceConfigId id = 97; ASSERT_TRUE(model_.SetupConfig(id, config)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -1186,18 +1187,18 @@ TEST_F(FtraceConfigMuxerFakeTableTest, FallbackOnSetEvent) { EXPECT_THAT(central_filter->GetEnabledEvents(), Contains(kCgroupMkdirEventId)); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "0")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/events/cgroup/cgroup_mkdir/enable", "0")) .WillOnce(Return(false)); - EXPECT_CALL(ftrace_, AppendToFile("/root/set_event", "!cgroup:cgroup_mkdir")) + EXPECT_CALL(tracefs_, AppendToFile("/root/set_event", "!cgroup:cgroup_mkdir")) .WillOnce(Return(true)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", PageSizeKb())); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", PageSizeKb())); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.RemoveConfig(id)); } @@ -1206,9 +1207,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, CompactSchedConfigWithInvalidFormat) { FtraceConfig config = CreateFtraceConfig({"sched/sched_switch"}); config.mutable_compact_sched()->set_enabled(true); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); FtraceConfigId id = 67; @@ -1226,7 +1227,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, CompactSchedConfigWithInvalidFormat) { TEST_F(FtraceConfigMuxerFakeTableTest, SkipGenericEventsOption) { static constexpr int kFtraceGenericEventId = 42; - ON_CALL(ftrace_, ReadEventFormat("sched", "generic")) + ON_CALL(tracefs_, ReadEventFormat("sched", "generic")) .WillByDefault(Return(R"(name: generic ID: 42 format: @@ -1246,9 +1247,9 @@ print fmt: "unused")")); CreateFtraceConfig({"sched/sched_switch", "sched/generic"}); config_with_disable.set_disable_generic_events(true); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); { @@ -1281,54 +1282,54 @@ TEST_F(FtraceConfigMuxerFakeTableTest, Funcgraph) { *config.add_function_graph_roots() = "sched*"; *config.add_function_graph_roots() = "*mm_fault"; - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - EXPECT_CALL(ftrace_, WriteToFile(_, _)).WillRepeatedly(Return(true)); + EXPECT_CALL(tracefs_, WriteToFile(_, _)).WillRepeatedly(Return(true)); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); // Set up config, assert that the tracefs writes happened: - EXPECT_CALL(ftrace_, ClearFile("/root/set_ftrace_filter")); - EXPECT_CALL(ftrace_, ClearFile("/root/set_graph_function")); - EXPECT_CALL(ftrace_, AppendToFile("/root/set_ftrace_filter", - "sched*\nhandle_mm_fault")) + EXPECT_CALL(tracefs_, ClearFile("/root/set_ftrace_filter")); + EXPECT_CALL(tracefs_, ClearFile("/root/set_graph_function")); + EXPECT_CALL(tracefs_, AppendToFile("/root/set_ftrace_filter", + "sched*\nhandle_mm_fault")) .WillOnce(Return(true)); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, AppendToFile("/root/set_graph_function", "sched*\n*mm_fault")) .WillOnce(Return(true)); - EXPECT_CALL(ftrace_, WriteToFile("/root/current_tracer", "function_graph")) + EXPECT_CALL(tracefs_, WriteToFile("/root/current_tracer", "function_graph")) .WillOnce(Return(true)); FtraceConfigId id = 43; ASSERT_TRUE(model_.SetupConfig(id, config)); - ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&ftrace_)); + ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&tracefs_)); // Toggle config on and off, tracer won't be reset yet: ASSERT_TRUE(model_.ActivateConfig(id)); ASSERT_TRUE(model_.RemoveConfig(id)); - ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&ftrace_)); + ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&tracefs_)); // Emulate ftrace_controller's call to ResetCurrentTracer (see impl comments // for why RemoveConfig is insufficient). - EXPECT_CALL(ftrace_, ClearFile("/root/set_ftrace_filter")); - EXPECT_CALL(ftrace_, ClearFile("/root/set_graph_function")); - EXPECT_CALL(ftrace_, WriteToFile("/root/current_tracer", "nop")) + EXPECT_CALL(tracefs_, ClearFile("/root/set_ftrace_filter")); + EXPECT_CALL(tracefs_, ClearFile("/root/set_graph_function")); + EXPECT_CALL(tracefs_, WriteToFile("/root/current_tracer", "nop")) .WillOnce(Return(true)); ASSERT_TRUE(model_.ResetCurrentTracer()); - ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&ftrace_)); + ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&tracefs_)); } TEST_F(FtraceConfigMuxerFakeTableTest, PreserveFtraceBufferNotSetBufferSizeKb) { FtraceConfig config = CreateFtraceConfig({"sched/sched_switch"}); config.set_preserve_ftrace_buffer(true); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)).Times(0); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)).Times(0); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "1")); FtraceConfigId id = 44; @@ -1340,23 +1341,23 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TidFilter) { config.add_tids_to_trace(123); config.add_tids_to_trace(456); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); // Ignore other calls. - EXPECT_CALL(ftrace_, WriteToFile(Not("/root/set_event_pid"), _)) + EXPECT_CALL(tracefs_, WriteToFile(Not("/root/set_event_pid"), _)) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, ClearFile(Not("/root/set_event_pid"))) + EXPECT_CALL(tracefs_, ClearFile(Not("/root/set_event_pid"))) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/set_event_pid", "123 456")) + EXPECT_CALL(tracefs_, WriteToFile("/root/set_event_pid", "123 456")) .WillOnce(Return(true)); FtraceConfigId id = 43; ASSERT_TRUE(model_.SetupConfig(id, config)); ASSERT_TRUE(model_.GetExclusiveFeatureActiveForTesting()); - EXPECT_CALL(ftrace_, ClearFile("/root/set_event_pid")); + EXPECT_CALL(tracefs_, ClearFile("/root/set_event_pid")); ASSERT_TRUE(model_.RemoveConfig(id)); ASSERT_FALSE(model_.GetExclusiveFeatureActiveForTesting()); } @@ -1365,21 +1366,21 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracingCpuMask) { FtraceConfig config; config.set_tracing_cpumask("ffffff"); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); // Ignore other calls. - EXPECT_CALL(ftrace_, ReadFileIntoString(Not("/root/tracing_cpumask"))) + EXPECT_CALL(tracefs_, ReadFileIntoString(Not("/root/tracing_cpumask"))) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile(Not("/root/tracing_cpumask"), _)) + EXPECT_CALL(tracefs_, WriteToFile(Not("/root/tracing_cpumask"), _)) .Times(AnyNumber()); // Mock the initial state of the cpumask. - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/tracing_cpumask")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/tracing_cpumask")) .WillOnce(Return("000000")); // Expect the cpumask to be set. - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_cpumask", "ffffff")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_cpumask", "ffffff")) .WillOnce(Return(true)); FtraceConfigId id = 43; @@ -1387,7 +1388,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracingCpuMask) { ASSERT_TRUE(model_.GetExclusiveFeatureActiveForTesting()); // Expect the cpumask to be restored. - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_cpumask", "000000")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_cpumask", "000000")) .WillOnce(Return(true)); ASSERT_TRUE(model_.RemoveConfig(id)); ASSERT_FALSE(model_.GetExclusiveFeatureActiveForTesting()); @@ -1402,25 +1403,25 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracefsOptions) { opt2->set_name("trace_printk"); opt2->set_state(FtraceConfig::TracefsOption::STATE_DISABLED); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); // Ignore other calls. - EXPECT_CALL(ftrace_, ReadFileIntoString(Not(StartsWith("/root/options/")))) + EXPECT_CALL(tracefs_, ReadFileIntoString(Not(StartsWith("/root/options/")))) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile(Not(StartsWith("/root/options/")), _)) + EXPECT_CALL(tracefs_, WriteToFile(Not(StartsWith("/root/options/")), _)) .Times(AnyNumber()); // Mock the initial state of the options. - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/options/record-tgid")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/options/record-tgid")) .WillOnce(Return("0")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/options/trace_printk")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/options/trace_printk")) .WillOnce(Return("1")); // Expect the options to be set. - EXPECT_CALL(ftrace_, WriteToFile("/root/options/record-tgid", "1")) + EXPECT_CALL(tracefs_, WriteToFile("/root/options/record-tgid", "1")) .WillOnce(Return(true)); - EXPECT_CALL(ftrace_, WriteToFile("/root/options/trace_printk", "0")) + EXPECT_CALL(tracefs_, WriteToFile("/root/options/trace_printk", "0")) .WillOnce(Return(true)); FtraceConfigId id = 43; @@ -1428,9 +1429,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracefsOptions) { ASSERT_TRUE(model_.GetExclusiveFeatureActiveForTesting()); // Expect the options to be restored. - EXPECT_CALL(ftrace_, WriteToFile("/root/options/record-tgid", "0")) + EXPECT_CALL(tracefs_, WriteToFile("/root/options/record-tgid", "0")) .WillOnce(Return(true)); - EXPECT_CALL(ftrace_, WriteToFile("/root/options/trace_printk", "1")) + EXPECT_CALL(tracefs_, WriteToFile("/root/options/trace_printk", "1")) .WillOnce(Return(true)); ASSERT_TRUE(model_.RemoveConfig(id)); ASSERT_FALSE(model_.GetExclusiveFeatureActiveForTesting()); @@ -1442,7 +1443,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracefsOptionsInvalid) { opt1->set_name("invalid;option"); opt1->set_state(FtraceConfig::TracefsOption::STATE_ENABLED); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); FtraceConfigId id = 43; @@ -1455,15 +1456,15 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracefsOptionsNotFound) { opt1->set_name("not-found-option"); opt1->set_state(FtraceConfig::TracefsOption::STATE_ENABLED); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); // Ignore other calls. - EXPECT_CALL(ftrace_, ReadFileIntoString(Not(StartsWith("/root/options/")))) + EXPECT_CALL(tracefs_, ReadFileIntoString(Not(StartsWith("/root/options/")))) .Times(AnyNumber()); // GetTracefsOption will return nullopt. - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/options/not-found-option")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/options/not-found-option")) .WillOnce(Return("")); FtraceConfigId id = 43; @@ -1472,9 +1473,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TracefsOptionsNotFound) { TEST_F(FtraceConfigMuxerFakeTableTest, ExclusiveFeatureFailsIfAnotherConfigActive) { - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + ON_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillByDefault(Return('0')); FtraceConfig regular_config; @@ -1495,9 +1496,9 @@ TEST_F(FtraceConfigMuxerFakeTableTest, TEST_F(FtraceConfigMuxerFakeTableTest, AnotherConfigFailsIfExclusiveFeatureActive) { - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + ON_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillByDefault(Return('0')); FtraceConfig advanced_config; @@ -1505,12 +1506,12 @@ TEST_F(FtraceConfigMuxerFakeTableTest, FtraceConfigId advanced_id = 1; // We only care about set_event_pid, so we'll ignore other calls. - EXPECT_CALL(ftrace_, WriteToFile(Not(Eq("/root/set_event_pid")), _)) + EXPECT_CALL(tracefs_, WriteToFile(Not(Eq("/root/set_event_pid")), _)) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, ClearFile(Not(Eq("/root/set_event_pid")))) + EXPECT_CALL(tracefs_, ClearFile(Not(Eq("/root/set_event_pid")))) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/set_event_pid", "123")); + EXPECT_CALL(tracefs_, WriteToFile("/root/set_event_pid", "123")); ASSERT_TRUE(model_.SetupConfig(advanced_id, advanced_config)); ASSERT_TRUE(model_.GetExclusiveFeatureActiveForTesting()); @@ -1522,7 +1523,7 @@ TEST_F(FtraceConfigMuxerFakeTableTest, "Attempted to start an ftrace session while another session with " "advanced features was active."); - EXPECT_CALL(ftrace_, ClearFile("/root/set_event_pid")); + EXPECT_CALL(tracefs_, ClearFile("/root/set_event_pid")); ASSERT_TRUE(model_.RemoveConfig(advanced_id)); ASSERT_FALSE(model_.GetExclusiveFeatureActiveForTesting()); } @@ -1533,7 +1534,7 @@ class FtraceConfigMuxerMockTableTest : public FtraceConfigMuxerTest { protected: std::unique_ptr mock_table_ = GetMockTable(); FtraceConfigMuxer model_ = - FtraceConfigMuxer(&ftrace_, + FtraceConfigMuxer(&tracefs_, &atrace_wrapper_, mock_table_.get(), GetSyscallTable(), @@ -1544,20 +1545,20 @@ class FtraceConfigMuxerMockTableTest : public FtraceConfigMuxerTest { TEST_F(FtraceConfigMuxerMockTableTest, AddGenericEvent) { FtraceConfig config = CreateFtraceConfig({"power/cpu_frequency"}); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/power/cpu_frequency/enable", "1")); EXPECT_CALL(*mock_table_, GetEvent(GroupAndName("power", "cpu_frequency"))) .Times(AnyNumber()); @@ -1574,7 +1575,7 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddGenericEvent) { FtraceConfigId id = 7; ASSERT_TRUE(model_.SetupConfig(id, config)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -1604,22 +1605,22 @@ TEST_P(FtraceConfigMuxerMockTableParamTest, AddKprobeEvent) { kprobe_event.set_type(kprobe_type); *config.add_kprobe_events() = kprobe_event; - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/" + group_name + - "/fuse_file_write_iter/enable", - "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/" + group_name + + "/fuse_file_write_iter/enable", + "1")); static constexpr int kExpectedEventId = 77; Event event_to_return_kprobe; @@ -1638,7 +1639,7 @@ TEST_P(FtraceConfigMuxerMockTableParamTest, AddKprobeEvent) { FtraceConfigId id = 7; ASSERT_TRUE(model_.SetupConfig(id, config)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -1671,34 +1672,34 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddKprobeBothEvent) { protos::gen::FtraceConfig::KprobeEvent::KPROBE_TYPE_BOTH); *config.add_kprobe_events() = kprobe_event; - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); EXPECT_CALL( - ftrace_, + tracefs_, WriteToFile("/root/events/perfetto_kprobes/fuse_file_write_iter/enable", "1")); EXPECT_CALL( - ftrace_, + tracefs_, WriteToFile( "/root/events/perfetto_kretprobes/fuse_file_write_iter/enable", "1")); EXPECT_CALL( - ftrace_, + tracefs_, AppendToFile( "/root/kprobe_events", "p:perfetto_kprobes/fuse_file_write_iter fuse_file_write_iter")); EXPECT_CALL( - ftrace_, + tracefs_, AppendToFile("/root/kprobe_events", std::string("r") + std::string(kKretprobeDefaultMaxactives) + ":perfetto_kretprobes/fuse_file_write_iter " @@ -1737,7 +1738,7 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddKprobeBothEvent) { FtraceConfigId id = 7; ASSERT_TRUE(model_.SetupConfig(id, config)); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -1753,28 +1754,28 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddKprobeBothEvent) { TEST_F(FtraceConfigMuxerMockTableTest, AddAllEvents) { FtraceConfig config = CreateFtraceConfig({"sched/*"}); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillOnce(Return("nop")); - EXPECT_CALL(ftrace_, ReadOneCharFromFile("/root/tracing_on")) + EXPECT_CALL(tracefs_, ReadOneCharFromFile("/root/tracing_on")) .WillOnce(Return('1')); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "0")); - EXPECT_CALL(ftrace_, WriteToFile("/root/events/enable", "0")); - EXPECT_CALL(ftrace_, ClearFile("/root/trace")); - ON_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "0")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/enable", "0")); + EXPECT_CALL(tracefs_, ClearFile("/root/trace")); + ON_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .WillByDefault(Return("[local] global boot")); - EXPECT_CALL(ftrace_, ReadFileIntoString("/root/trace_clock")) + EXPECT_CALL(tracefs_, ReadFileIntoString("/root/trace_clock")) .Times(AnyNumber()); - EXPECT_CALL(ftrace_, WriteToFile("/root/buffer_size_kb", _)); - EXPECT_CALL(ftrace_, WriteToFile("/root/trace_clock", "boot")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/buffer_size_kb", _)); + EXPECT_CALL(tracefs_, WriteToFile("/root/trace_clock", "boot")); + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_switch/enable", "1")); - EXPECT_CALL(ftrace_, + EXPECT_CALL(tracefs_, WriteToFile("/root/events/sched/sched_new_event/enable", "1")); std::set n = {"sched_switch", "sched_new_event"}; - ON_CALL(ftrace_, GetEventNamesForGroup("events/sched")) + ON_CALL(tracefs_, GetEventNamesForGroup("events/sched")) .WillByDefault(Return(n)); - EXPECT_CALL(ftrace_, GetEventNamesForGroup("events/sched")).Times(1); + EXPECT_CALL(tracefs_, GetEventNamesForGroup("events/sched")).Times(1); // Non-generic event. static constexpr int kSchedSwitchEventId = 1; @@ -1799,7 +1800,7 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddAllEvents) { ASSERT_TRUE(model_.SetupConfig(id, config)); ASSERT_TRUE(id); - EXPECT_CALL(ftrace_, WriteToFile("/root/tracing_on", "1")); + EXPECT_CALL(tracefs_, WriteToFile("/root/tracing_on", "1")); ASSERT_TRUE(model_.ActivateConfig(id)); const FtraceDataSourceConfig* ds_config = model_.GetDataSourceConfig(id); @@ -1816,14 +1817,14 @@ TEST_F(FtraceConfigMuxerMockTableTest, TwoWildcardGroups) { FtraceConfig config = CreateFtraceConfig({"group_one/*", "group_two/*"}); std::set event_names = {"foo"}; - ON_CALL(ftrace_, GetEventNamesForGroup("events/group_one")) + ON_CALL(tracefs_, GetEventNamesForGroup("events/group_one")) .WillByDefault(Return(event_names)); - EXPECT_CALL(ftrace_, GetEventNamesForGroup("events/group_one")) + EXPECT_CALL(tracefs_, GetEventNamesForGroup("events/group_one")) .Times(AnyNumber()); - ON_CALL(ftrace_, GetEventNamesForGroup("events/group_two")) + ON_CALL(tracefs_, GetEventNamesForGroup("events/group_two")) .WillByDefault(Return(event_names)); - EXPECT_CALL(ftrace_, GetEventNamesForGroup("events/group_two")) + EXPECT_CALL(tracefs_, GetEventNamesForGroup("events/group_two")) .Times(AnyNumber()); static constexpr int kEventId1 = 1; @@ -1844,9 +1845,9 @@ TEST_F(FtraceConfigMuxerMockTableTest, TwoWildcardGroups) { .WillByDefault(Return(&event2)); EXPECT_CALL(*mock_table_, GetEvent(GroupAndName("group_two", "foo"))); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); FtraceConfigId id = 23; @@ -1884,9 +1885,9 @@ TEST_F(FtraceConfigMuxerMockTableTest, AddSameNameEvents) { .WillByDefault(Return(&event2)); EXPECT_CALL(*mock_table_, GetEvent(GroupAndName("group_two", "foo"))); - ON_CALL(ftrace_, ReadFileIntoString("/root/current_tracer")) + ON_CALL(tracefs_, ReadFileIntoString("/root/current_tracer")) .WillByDefault(Return("nop")); - ON_CALL(ftrace_, ReadFileIntoString("/root/events/enable")) + ON_CALL(tracefs_, ReadFileIntoString("/root/events/enable")) .WillByDefault(Return("0")); FtraceConfigId id = 5; diff --git a/src/traced/probes/ftrace/predefined_tracepoints.cc b/src/traced/probes/ftrace/predefined_tracepoints.cc index 7a27b8690ba..0fc41097dbd 100644 --- a/src/traced/probes/ftrace/predefined_tracepoints.cc +++ b/src/traced/probes/ftrace/predefined_tracepoints.cc @@ -17,7 +17,6 @@ #include "src/traced/probes/ftrace/predefined_tracepoints.h" #include -#include #include "src/traced/probes/ftrace/proto_translation_table.h" #include "src/traced/probes/ftrace/tracefs.h" @@ -418,24 +417,24 @@ GeneratePredefinedTracePoints(const ProtoTranslationTable* table, std::map> GetPredefinedTracePoints( const ProtoTranslationTable* table, - Tracefs* ftrace) { - return GeneratePredefinedTracePoints(table, ftrace); + Tracefs* tracefs) { + return GeneratePredefinedTracePoints(table, tracefs); } std::map> GetAccessiblePredefinedTracePoints(const ProtoTranslationTable* table, - Tracefs* ftrace) { - auto tracepoints = GetPredefinedTracePoints(table, ftrace); + Tracefs* tracefs) { + auto tracepoints = GetPredefinedTracePoints(table, tracefs); - bool generic_enable = ftrace->IsGenericSetEventWritable(); + bool generic_enable = tracefs->IsGenericSetEventWritable(); std::map> accessible_tracepoints; for (const auto& [category, events] : tracepoints) { base::FlatSet accessible_events; for (const auto& event : events) { if (generic_enable - ? ftrace->IsEventFormatReadable(event.group(), event.name()) - : ftrace->IsEventAccessible(event.group(), event.name())) { + ? tracefs->IsEventFormatReadable(event.group(), event.name()) + : tracefs->IsEventAccessible(event.group(), event.name())) { accessible_events.insert(event); } } diff --git a/src/traced/probes/ftrace/predefined_tracepoints.h b/src/traced/probes/ftrace/predefined_tracepoints.h index 42841a7b7b1..6a0bd274d90 100644 --- a/src/traced/probes/ftrace/predefined_tracepoints.h +++ b/src/traced/probes/ftrace/predefined_tracepoints.h @@ -18,18 +18,17 @@ #define SRC_TRACED_PROBES_FTRACE_PREDEFINED_TRACEPOINTS_H_ #include -#include #include "src/traced/probes/ftrace/proto_translation_table.h" namespace perfetto::predefined_tracepoints { std::map> GetPredefinedTracePoints( const ProtoTranslationTable* table, - Tracefs* ftrace); + Tracefs* tracefs); std::map> GetAccessiblePredefinedTracePoints(const ProtoTranslationTable* table, - Tracefs* ftrace); + Tracefs* tracefs); } // namespace perfetto::predefined_tracepoints diff --git a/src/traced/probes/ftrace/tracefs_integrationtest.cc b/src/traced/probes/ftrace/tracefs_integrationtest.cc index a0e7f4cb024..72811e1cb97 100644 --- a/src/traced/probes/ftrace/tracefs_integrationtest.cc +++ b/src/traced/probes/ftrace/tracefs_integrationtest.cc @@ -75,24 +75,24 @@ class TracefsIntegrationTest : public testing::Test { void SetUp() override; void TearDown() override; - std::unique_ptr ftrace_; + std::unique_ptr tracefs_; }; void TracefsIntegrationTest::SetUp() { - ftrace_ = Tracefs::Create(GetFtracePath()); - ASSERT_TRUE(ftrace_); - if (!ftrace_->IsTracingAvailable()) { + tracefs_ = Tracefs::Create(GetFtracePath()); + ASSERT_TRUE(tracefs_); + if (!tracefs_->IsTracingAvailable()) { GTEST_SKIP() << "Something else is using ftrace, skipping"; } - ftrace_->ClearTrace(); - ftrace_->SetTracingOn(true); + tracefs_->ClearTrace(); + tracefs_->SetTracingOn(true); } void TracefsIntegrationTest::TearDown() { - ftrace_->DisableAllEvents(); - ftrace_->ClearTrace(); - ftrace_->SetTracingOn(false); + tracefs_->DisableAllEvents(); + tracefs_->ClearTrace(); + tracefs_->SetTracingOn(false); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(CreateWithBadPath)) { @@ -100,85 +100,83 @@ TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(CreateWithBadPath)) { } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(ClearTrace)) { - ftrace_->WriteTraceMarker("Hello, World!"); - ftrace_->ClearTrace(); + tracefs_->WriteTraceMarker("Hello, World!"); + tracefs_->ClearTrace(); EXPECT_THAT(GetTraceOutput(), Not(HasSubstr("Hello, World!"))); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(TraceMarker)) { - ftrace_->WriteTraceMarker("Hello, World!"); + tracefs_->WriteTraceMarker("Hello, World!"); EXPECT_THAT(GetTraceOutput(), HasSubstr("Hello, World!")); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(EnableDisableEvent)) { - ASSERT_TRUE(ftrace_->EnableEvent("sched", "sched_switch")); + ASSERT_TRUE(tracefs_->EnableEvent("sched", "sched_switch")); sleep(1); - ASSERT_TRUE(ftrace_->DisableEvent("sched", "sched_switch")); + ASSERT_TRUE(tracefs_->DisableEvent("sched", "sched_switch")); EXPECT_THAT(GetTraceOutput(), HasSubstr("sched_switch")); - ftrace_->ClearTrace(); + tracefs_->ClearTrace(); sleep(1); EXPECT_THAT(GetTraceOutput(), Not(HasSubstr("sched_switch"))); } -TEST_F(TracefsIntegrationTest, - ANDROID_ONLY_TEST(EnableDisableTraceBuffer)) { - ftrace_->WriteTraceMarker("Before"); - ftrace_->SetTracingOn(false); - ftrace_->WriteTraceMarker("During"); - ftrace_->SetTracingOn(true); - ftrace_->WriteTraceMarker("After"); +TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(EnableDisableTraceBuffer)) { + tracefs_->WriteTraceMarker("Before"); + tracefs_->SetTracingOn(false); + tracefs_->WriteTraceMarker("During"); + tracefs_->SetTracingOn(true); + tracefs_->WriteTraceMarker("After"); EXPECT_THAT(GetTraceOutput(), HasSubstr("Before")); EXPECT_THAT(GetTraceOutput(), Not(HasSubstr("During"))); EXPECT_THAT(GetTraceOutput(), HasSubstr("After")); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(IsTracingAvailable)) { - EXPECT_TRUE(ftrace_->IsTracingAvailable()); - ftrace_->SetCurrentTracer("function"); - EXPECT_FALSE(ftrace_->IsTracingAvailable()); - ftrace_->SetCurrentTracer("nop"); - EXPECT_TRUE(ftrace_->IsTracingAvailable()); - ASSERT_TRUE(ftrace_->EnableEvent("sched", "sched_switch")); - EXPECT_FALSE(ftrace_->IsTracingAvailable()); - ftrace_->DisableAllEvents(); - EXPECT_TRUE(ftrace_->IsTracingAvailable()); + EXPECT_TRUE(tracefs_->IsTracingAvailable()); + tracefs_->SetCurrentTracer("function"); + EXPECT_FALSE(tracefs_->IsTracingAvailable()); + tracefs_->SetCurrentTracer("nop"); + EXPECT_TRUE(tracefs_->IsTracingAvailable()); + ASSERT_TRUE(tracefs_->EnableEvent("sched", "sched_switch")); + EXPECT_FALSE(tracefs_->IsTracingAvailable()); + tracefs_->DisableAllEvents(); + EXPECT_TRUE(tracefs_->IsTracingAvailable()); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(ReadFormatFile)) { - std::string format = ftrace_->ReadEventFormat("ftrace", "print"); + std::string format = tracefs_->ReadEventFormat("ftrace", "print"); EXPECT_THAT(format, HasSubstr("name: print")); EXPECT_THAT(format, HasSubstr("field:char buf")); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(CanOpenTracePipeRaw)) { - EXPECT_TRUE(ftrace_->OpenPipeForCpu(0)); + EXPECT_TRUE(tracefs_->OpenPipeForCpu(0)); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(Clock)) { - std::set clocks = ftrace_->AvailableClocks(); + std::set clocks = tracefs_->AvailableClocks(); EXPECT_THAT(clocks, Contains("local")); EXPECT_THAT(clocks, Contains("global")); - EXPECT_TRUE(ftrace_->SetClock("global")); - EXPECT_EQ(ftrace_->GetClock(), "global"); - EXPECT_TRUE(ftrace_->SetClock("local")); - EXPECT_EQ(ftrace_->GetClock(), "local"); + EXPECT_TRUE(tracefs_->SetClock("global")); + EXPECT_EQ(tracefs_->GetClock(), "global"); + EXPECT_TRUE(tracefs_->SetClock("local")); + EXPECT_EQ(tracefs_->GetClock(), "local"); } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(CanSetBufferSize)) { - EXPECT_TRUE(ftrace_->SetCpuBufferSizeInPages(4ul)); + EXPECT_TRUE(tracefs_->SetCpuBufferSizeInPages(4ul)); EXPECT_EQ(ReadFile("buffer_size_kb"), "16\n"); // (4096 * 4) / 1024 - EXPECT_TRUE(ftrace_->SetCpuBufferSizeInPages(5ul)); + EXPECT_TRUE(tracefs_->SetCpuBufferSizeInPages(5ul)); EXPECT_EQ(ReadFile("buffer_size_kb"), "20\n"); // (4096 * 5) / 1024 } -TEST_F(TracefsIntegrationTest, - ANDROID_ONLY_TEST(FtraceControllerHardReset)) { - ftrace_->SetCpuBufferSizeInPages(4ul); - ftrace_->EnableEvent("sched", "sched_switch"); - ftrace_->WriteTraceMarker("Hello, World!"); +TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(FtraceControllerHardReset)) { + tracefs_->SetCpuBufferSizeInPages(4ul); + tracefs_->EnableEvent("sched", "sched_switch"); + tracefs_->WriteTraceMarker("Hello, World!"); EXPECT_EQ(ReadFile("buffer_size_kb"), "16\n"); EXPECT_EQ(ReadFile("tracing_on"), "1\n"); @@ -193,18 +191,18 @@ TEST_F(TracefsIntegrationTest, } TEST_F(TracefsIntegrationTest, ANDROID_ONLY_TEST(ReadEnabledEvents)) { - EXPECT_THAT(ftrace_->ReadEnabledEvents(), IsEmpty()); + EXPECT_THAT(tracefs_->ReadEnabledEvents(), IsEmpty()); - ftrace_->EnableEvent("sched", "sched_switch"); - ftrace_->EnableEvent("kmem", "kmalloc"); + tracefs_->EnableEvent("sched", "sched_switch"); + tracefs_->EnableEvent("kmem", "kmalloc"); - EXPECT_THAT(ftrace_->ReadEnabledEvents(), + EXPECT_THAT(tracefs_->ReadEnabledEvents(), UnorderedElementsAre("sched/sched_switch", "kmem/kmalloc")); - ftrace_->DisableEvent("sched", "sched_switch"); - ftrace_->DisableEvent("kmem", "kmalloc"); + tracefs_->DisableEvent("sched", "sched_switch"); + tracefs_->DisableEvent("kmem", "kmalloc"); - EXPECT_THAT(ftrace_->ReadEnabledEvents(), IsEmpty()); + EXPECT_THAT(tracefs_->ReadEnabledEvents(), IsEmpty()); } } // namespace diff --git a/src/traced/probes/ftrace/vendor_tracepoints.cc b/src/traced/probes/ftrace/vendor_tracepoints.cc index a83252099e3..231e62b5385 100644 --- a/src/traced/probes/ftrace/vendor_tracepoints.cc +++ b/src/traced/probes/ftrace/vendor_tracepoints.cc @@ -37,13 +37,13 @@ namespace { using EmptyTokenMode = ::perfetto::base::StringSplitter::EmptyTokenMode; std::vector DiscoverTracepoints(AtraceHalWrapper* hal, - Tracefs* ftrace, + Tracefs* tracefs, const std::string& category) { - ftrace->DisableAllEvents(); + tracefs->DisableAllEvents(); hal->EnableCategories({category}); std::vector events; - for (const std::string& group_name : ftrace->ReadEnabledEvents()) { + for (const std::string& group_name : tracefs->ReadEnabledEvents()) { size_t pos = group_name.find('/'); PERFETTO_CHECK(pos != std::string::npos); events.push_back( @@ -51,7 +51,7 @@ std::vector DiscoverTracepoints(AtraceHalWrapper* hal, } hal->DisableAllCategories(); - ftrace->DisableAllEvents(); + tracefs->DisableAllEvents(); return events; } @@ -90,10 +90,10 @@ base::Status ParseEventLine(base::StringView line, } // namespace std::map> -DiscoverVendorTracepointsWithHal(AtraceHalWrapper* hal, Tracefs* ftrace) { +DiscoverVendorTracepointsWithHal(AtraceHalWrapper* hal, Tracefs* tracefs) { std::map> results; for (const auto& category : hal->ListCategories()) { - results.emplace(category, DiscoverTracepoints(hal, ftrace, category)); + results.emplace(category, DiscoverTracepoints(hal, tracefs, category)); } return results; } @@ -148,7 +148,7 @@ base::Status DiscoverVendorTracepointsWithFile( base::Status DiscoverAccessibleVendorTracepointsWithFile( const std::string& vendor_atrace_categories_path, std::map>* categories_map, - Tracefs* ftrace) { + Tracefs* tracefs) { categories_map->clear(); base::Status status = DiscoverVendorTracepointsWithFile( vendor_atrace_categories_path, categories_map); @@ -159,8 +159,8 @@ base::Status DiscoverAccessibleVendorTracepointsWithFile( for (auto& it : *categories_map) { std::vector& events = it.second; events.erase(std::remove_if(events.begin(), events.end(), - [ftrace](const GroupAndName& event) { - return !ftrace->IsEventAccessible( + [tracefs](const GroupAndName& event) { + return !tracefs->IsEventAccessible( event.group(), event.name()); }), events.end()); diff --git a/src/traced/probes/ftrace/vendor_tracepoints.h b/src/traced/probes/ftrace/vendor_tracepoints.h index 15a988e25a8..1853093e5e9 100644 --- a/src/traced/probes/ftrace/vendor_tracepoints.h +++ b/src/traced/probes/ftrace/vendor_tracepoints.h @@ -36,7 +36,7 @@ constexpr const char* kCategoriesFile = // Returns a map from vendor category to events we should enable. Queries the // atrace HAL. std::map> -DiscoverVendorTracepointsWithHal(AtraceHalWrapper* hal, Tracefs* ftrace); +DiscoverVendorTracepointsWithHal(AtraceHalWrapper* hal, Tracefs* tracefs); // Fills `*categories_map` with a map from vendor category to events we should // enable. Queries the vendor categories file at @@ -51,7 +51,7 @@ base::Status DiscoverVendorTracepointsWithFile( base::Status DiscoverAccessibleVendorTracepointsWithFile( const std::string& vendor_atrace_categories_path, std::map>* categories_map, - Tracefs* ftrace); + Tracefs* tracefs); } // namespace vendor_tracepoints } // namespace perfetto diff --git a/src/traced/probes/probes_producer.cc b/src/traced/probes/probes_producer.cc index 5c2da136524..86c2cf2177d 100644 --- a/src/traced/probes/probes_producer.cc +++ b/src/traced/probes/probes_producer.cc @@ -88,7 +88,7 @@ ProbesProducer::~ProbesProducer() { instance_ = nullptr; // The ftrace data sources must be deleted before the ftrace controller. data_sources_.clear(); - ftrace_.reset(); + ftrace_controller_.reset(); } void ProbesProducer::Restart() { @@ -121,10 +121,10 @@ ProbesProducer::CreateDSInstance( FtraceConfig ftrace_config; ftrace_config.ParseFromString(config.ftrace_config_raw()); // Lazily create on the first instance. - if (!ftrace_) { - ftrace_ = FtraceController::Create(task_runner_, this); + if (!ftrace_controller_) { + ftrace_controller_ = FtraceController::Create(task_runner_, this); - if (!ftrace_) { + if (!ftrace_controller_) { PERFETTO_ELOG("Failed to create FtraceController"); ftrace_creation_failed_ = true; return nullptr; @@ -134,9 +134,9 @@ ProbesProducer::CreateDSInstance( PERFETTO_LOG("Ftrace setup (target_buf=%" PRIu32 ")", config.target_buffer()); const BufferID buffer_id = static_cast(config.target_buffer()); std::unique_ptr data_source(new FtraceDataSource( - ftrace_->GetWeakPtr(), session_id, std::move(ftrace_config), + ftrace_controller_->GetWeakPtr(), session_id, std::move(ftrace_config), endpoint_->CreateTraceWriter(buffer_id, BufferExhaustedPolicy::kStall))); - if (!ftrace_->AddDataSource(data_source.get())) { + if (!ftrace_controller_->AddDataSource(data_source.get())) { PERFETTO_ELOG("Failed to setup ftrace"); return nullptr; } diff --git a/src/traced/probes/probes_producer.h b/src/traced/probes/probes_producer.h index 71de23d63f3..2ee89470cf9 100644 --- a/src/traced/probes/probes_producer.h +++ b/src/traced/probes/probes_producer.h @@ -102,7 +102,7 @@ class ProbesProducer : public Producer, public FtraceController::Observer { State state_ = kNotStarted; base::TaskRunner* task_runner_ = nullptr; std::unique_ptr endpoint_; - std::unique_ptr ftrace_; + std::unique_ptr ftrace_controller_; bool ftrace_creation_failed_ = false; uint32_t connection_backoff_ms_ = 0; const char* socket_name_ = nullptr; From 58311559ef94af2e712b09e38d866c09e3618300 Mon Sep 17 00:00:00 2001 From: Primiano Tucci Date: Tue, 7 Oct 2025 10:32:31 +0100 Subject: [PATCH 016/370] ui: fix sidebar accidentally opening links on a new window (#3194) This is a workaround for a mithril bug. The bug is somewhere in the logic that recycles DOM nodes and applies the differences. If you flip back and forth between null and '_blank' eventually mithril will get in a weird state and promote null to 'null'. The minified repro is the following: cnt++; const repro =[ m('a', {href: '#', target: null}, 'one'), m('a', {href: '#', target: (cnt % 2 == 0) ? null : '_blank'}, 'two'), m('a', {href: '#', target: null}, 'three'), ]; After 2 render passes the second entry becomes target="null" Bug: b/449784590 --- ui/src/frontend/sidebar.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/src/frontend/sidebar.ts b/ui/src/frontend/sidebar.ts index 02f1da32b83..afcaa6652a4 100644 --- a/ui/src/frontend/sidebar.ts +++ b/ui/src/frontend/sidebar.ts @@ -482,6 +482,7 @@ export class Sidebar implements m.ClassComponent { } return m( 'li', + {key: item.id}, // This is to work around a mithril bug (b/449784590). m( 'a', { From eced455f5d17079fef42f07fc82fa37fcf17c338 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Tue, 7 Oct 2025 10:44:50 +0100 Subject: [PATCH 017/370] protozero: partially revert TypedProtoDecoder template arg removal (#3195) Turns out people in G3 are depending on it. Readd it in with a TODO. --- include/perfetto/protozero/proto_decoder.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/perfetto/protozero/proto_decoder.h b/include/perfetto/protozero/proto_decoder.h index 43e92f3454d..8c5f69d26f4 100644 --- a/include/perfetto/protozero/proto_decoder.h +++ b/include/perfetto/protozero/proto_decoder.h @@ -499,7 +499,11 @@ class PERFETTO_EXPORT_COMPONENT TypedProtoDecoderBase : public ProtoDecoder { // Template class instantiated by the auto-generated decoder classes declared in // xxx.pbzero.h files. -template +// TODO(lalitm): the second argument exists for legacy reasons as targets in +// G3 are (incorrectly) depending on internal implementation details of +// Perfetto via checked-in protozero classes. Remove this when they fix this +// incorrect dependency. +template class TypedProtoDecoder : public TypedProtoDecoderBase { public: TypedProtoDecoder(const uint8_t* buffer, size_t length) From 0c53e85e15476fbbf80befd11b37bc709d2f1000 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Tue, 7 Oct 2025 12:43:28 +0100 Subject: [PATCH 018/370] tp: add support for simpleperf proto format (#3182) Fixes: b/442847039 --- Android.bp | 17 + BUILD | 17 + docs/getting-started/other-formats.md | 74 ++++ protos/third_party/simpleperf/BUILD.gn | 11 +- .../simpleperf/cmd_report_sample.proto | 160 +++++++ python/generators/diff_tests/models.py | 1 + python/generators/diff_tests/runner.py | 5 +- python/generators/diff_tests/testing.py | 9 + .../generators/diff_tests/trace_generator.py | 47 +- src/trace_processor/BUILD.gn | 2 + .../forwarding_trace_parser.cc | 1 + .../importers/simpleperf_proto/BUILD.gn | 35 ++ .../simpleperf_proto_parser.cc | 154 +++++++ .../simpleperf_proto_parser.h | 50 +++ .../simpleperf_proto_tokenizer.cc | 240 +++++++++++ .../simpleperf_proto_tokenizer.h | 70 +++ .../simpleperf_proto_tracker.h | 97 +++++ .../stdlib/stacks/cpu_profiling.sql | 1 + src/trace_processor/storage/stats.h | 9 +- src/trace_processor/trace_processor_impl.cc | 5 + src/trace_processor/trace_reader_registry.cc | 1 + src/trace_processor/util/trace_type.cc | 7 + src/trace_processor/util/trace_type.h | 1 + .../diff_tests/include_index.py | 2 + .../parser/simpleperf_proto/tests.py | 406 ++++++++++++++++++ tools/diff_test_trace_processor.py | 6 + 26 files changed, 1423 insertions(+), 5 deletions(-) create mode 100644 protos/third_party/simpleperf/cmd_report_sample.proto create mode 100644 src/trace_processor/importers/simpleperf_proto/BUILD.gn create mode 100644 src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc create mode 100644 src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h create mode 100644 src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc create mode 100644 src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h create mode 100644 src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h create mode 100644 test/trace_processor/diff_tests/parser/simpleperf_proto/tests.py diff --git a/Android.bp b/Android.bp index 277c02a095d..2e8a57e990a 100644 --- a/Android.bp +++ b/Android.bp @@ -2715,6 +2715,7 @@ cc_test { ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":perfetto_src_trace_processor_importers_proto_proto_importer_module", ":perfetto_src_trace_processor_importers_proto_winscope_full", + ":perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":perfetto_src_trace_processor_importers_syscalls_full", ":perfetto_src_trace_processor_importers_systrace_full", ":perfetto_src_trace_processor_importers_systrace_systrace_line", @@ -12097,6 +12098,7 @@ genrule { filegroup { name: "perfetto_protos_third_party_simpleperf_zero", srcs: [ + "protos/third_party/simpleperf/cmd_report_sample.proto", "protos/third_party/simpleperf/record_file.proto", ], } @@ -12113,6 +12115,7 @@ genrule { ], cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(locations :perfetto_protos_third_party_simpleperf_zero)", out: [ + "external/perfetto/protos/third_party/simpleperf/cmd_report_sample.pbzero.cc", "external/perfetto/protos/third_party/simpleperf/record_file.pbzero.cc", ], } @@ -12129,6 +12132,7 @@ genrule { ], cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(locations :perfetto_protos_third_party_simpleperf_zero)", out: [ + "external/perfetto/protos/third_party/simpleperf/cmd_report_sample.pbzero.h", "external/perfetto/protos/third_party/simpleperf/record_file.pbzero.h", ], export_include_dirs: [ @@ -14518,6 +14522,15 @@ filegroup { ], } +// GN: //src/trace_processor/importers/simpleperf_proto:simpleperf_proto +filegroup { + name: "perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", + srcs: [ + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc", + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc", + ], +} + // GN: //src/trace_processor/importers/syscalls:full filegroup { name: "perfetto_src_trace_processor_importers_syscalls_full", @@ -17500,6 +17513,7 @@ cc_test { ":perfetto_src_trace_processor_importers_proto_unittests", ":perfetto_src_trace_processor_importers_proto_winscope_full", ":perfetto_src_trace_processor_importers_proto_winscope_unittests", + ":perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":perfetto_src_trace_processor_importers_syscalls_full", ":perfetto_src_trace_processor_importers_syscalls_unittests", ":perfetto_src_trace_processor_importers_systrace_full", @@ -18342,6 +18356,7 @@ cc_library_static { ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":perfetto_src_trace_processor_importers_proto_proto_importer_module", ":perfetto_src_trace_processor_importers_proto_winscope_full", + ":perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":perfetto_src_trace_processor_importers_syscalls_full", ":perfetto_src_trace_processor_importers_systrace_full", ":perfetto_src_trace_processor_importers_systrace_systrace_line", @@ -18676,6 +18691,7 @@ cc_binary { ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":perfetto_src_trace_processor_importers_proto_proto_importer_module", ":perfetto_src_trace_processor_importers_proto_winscope_full", + ":perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":perfetto_src_trace_processor_importers_syscalls_full", ":perfetto_src_trace_processor_importers_systrace_full", ":perfetto_src_trace_processor_importers_systrace_systrace_line", @@ -19128,6 +19144,7 @@ cc_binary_host { ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":perfetto_src_trace_processor_importers_proto_proto_importer_module", ":perfetto_src_trace_processor_importers_proto_winscope_full", + ":perfetto_src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":perfetto_src_trace_processor_importers_syscalls_full", ":perfetto_src_trace_processor_importers_systrace_full", ":perfetto_src_trace_processor_importers_systrace_systrace_line", diff --git a/BUILD b/BUILD index 70cdc8863be..deb41400e77 100644 --- a/BUILD +++ b/BUILD @@ -374,6 +374,7 @@ perfetto_cc_library( ":src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":src_trace_processor_importers_proto_proto_importer_module", ":src_trace_processor_importers_proto_winscope_full", + ":src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":src_trace_processor_importers_syscalls_full", ":src_trace_processor_importers_systrace_full", ":src_trace_processor_importers_systrace_systrace_line", @@ -2447,6 +2448,18 @@ perfetto_filegroup( ], ) +# GN target: //src/trace_processor/importers/simpleperf_proto:simpleperf_proto +perfetto_filegroup( + name = "src_trace_processor_importers_simpleperf_proto_simpleperf_proto", + srcs = [ + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc", + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h", + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc", + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h", + "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h", + ], +) + # GN target: //src/trace_processor/importers/syscalls:full perfetto_filegroup( name = "src_trace_processor_importers_syscalls_full", @@ -7223,6 +7236,7 @@ perfetto_cc_protozero_library( perfetto_proto_library( name = "protos_third_party_simpleperf_protos", srcs = [ + "protos/third_party/simpleperf/cmd_report_sample.proto", "protos/third_party/simpleperf/record_file.proto", ], visibility = [ @@ -7531,6 +7545,7 @@ perfetto_cc_library( ":src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":src_trace_processor_importers_proto_proto_importer_module", ":src_trace_processor_importers_proto_winscope_full", + ":src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":src_trace_processor_importers_syscalls_full", ":src_trace_processor_importers_systrace_full", ":src_trace_processor_importers_systrace_systrace_line", @@ -7742,6 +7757,7 @@ perfetto_cc_binary( ":src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":src_trace_processor_importers_proto_proto_importer_module", ":src_trace_processor_importers_proto_winscope_full", + ":src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":src_trace_processor_importers_syscalls_full", ":src_trace_processor_importers_systrace_full", ":src_trace_processor_importers_systrace_systrace_line", @@ -7945,6 +7961,7 @@ perfetto_cc_binary( ":src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", ":src_trace_processor_importers_proto_proto_importer_module", ":src_trace_processor_importers_proto_winscope_full", + ":src_trace_processor_importers_simpleperf_proto_simpleperf_proto", ":src_trace_processor_importers_syscalls_full", ":src_trace_processor_importers_systrace_full", ":src_trace_processor_importers_systrace_systrace_line", diff --git a/docs/getting-started/other-formats.md b/docs/getting-started/other-formats.md index cfe047eb1c6..abc9ff4fb93 100644 --- a/docs/getting-started/other-formats.md +++ b/docs/getting-started/other-formats.md @@ -411,6 +411,80 @@ stacks, timestamps, process/thread identifiers, CPU number, and event names. ![](/docs/images/perf-profile-in-ui.png) +## Simpleperf proto format + +**Description:** Simpleperf is Android's profiling tool built on top of the +Linux perf framework. The "Simpleperf proto format" refers to the binary +protobuf format generated by the `simpleperf report-sample --protobuf` command. +This format contains CPU samples with call stacks, process/thread information, +file mappings, and symbol tables in a compact binary representation. Android +Studio's CPU profiler uses this format internally when displaying simpleperf +profiles. + +**Common Scenarios:** This format is used for: + +- Profiling Android applications and system services using simpleperf +- Analyzing CPU performance on Android devices +- Capturing stack samples with symbol information for both native and managed + code +- Working with profiles collected by Android Studio's CPU profiler (which + converts simpleperf data to this proto format) + +**Perfetto Support:** + +- **Perfetto UI & Trace Processor:** Perfetto's Trace Processor can directly + parse simpleperf's protobuf format. + - The importer processes **CPU samples with call stacks**, file mappings, and + symbol tables + - Samples are imported into `cpu_profile_stack_sample` table with full call + stack information + - Call stacks are stored in standard profiling tables + (`stack_profile_callsite`, `stack_profile_frame`, `stack_profile_mapping`) + - Thread and process information is extracted and stored in the process/thread + tables + - This allows simpleperf profiles to be visualized as flamegraphs in the + Perfetto UI and queried using SQL +- **Limitations:** + - Context switch records in simpleperf format are not yet imported + - Event type metadata is stored but not yet used for filtering or + categorization + +**How to Generate:** + +1. **Record a profile with simpleperf:** First, capture profiling data using + `simpleperf record`. + + ```bash + # Example: Profile an Android app with call graphs + adb shell simpleperf record -p -g --duration 10 + adb pull /data/local/tmp/perf.data simpleperf.data + ``` + + Refer to `simpleperf record --help` for detailed command options. + +2. **Convert to proto format:** Use `simpleperf report-sample` to convert the + raw recording to protobuf format: + + ```bash + # Convert to proto format with call chains + simpleperf report-sample --protobuf --show-callchain \ + -i simpleperf.data -o simpleperf.proto + + # Optionally provide symbol directories for better symbolization + simpleperf report-sample --protobuf --show-callchain \ + -i simpleperf.data -o simpleperf.proto \ + --symdir /path/to/symbols + ``` + + The `--show-callchain` flag is required to include call stack information in + the output. + +3. **Open in ui.perfetto.dev** + + Navigate to [ui.perfetto.dev](https://ui.perfetto.dev) and upload the + `simpleperf.proto` file. The trace will be imported and you can view + flamegraphs of the CPU samples by selecting time ranges in the UI. + ## Linux ftrace textual format **Description:** The Linux ftrace textual format is the raw, human-readable diff --git a/protos/third_party/simpleperf/BUILD.gn b/protos/third_party/simpleperf/BUILD.gn index da934beab5c..298984f2b12 100644 --- a/protos/third_party/simpleperf/BUILD.gn +++ b/protos/third_party/simpleperf/BUILD.gn @@ -15,5 +15,14 @@ import("../../../gn/proto_library.gni") perfetto_proto_library("@TYPE@") { - sources = [ "record_file.proto" ] + proto_generators = [ + "zero", + "cpp", + ] + sources = [ + "cmd_report_sample.proto", + "record_file.proto", + ] + generate_descriptor = "simpleperf.descriptor" + descriptor_root_source = "cmd_report_sample.proto" } diff --git a/protos/third_party/simpleperf/cmd_report_sample.proto b/protos/third_party/simpleperf/cmd_report_sample.proto new file mode 100644 index 00000000000..bbc213ee710 --- /dev/null +++ b/protos/third_party/simpleperf/cmd_report_sample.proto @@ -0,0 +1,160 @@ + +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Source of truth: http://ac/system/extras/simpleperf/cmd_report_sample.proto + +// The file format generated by cmd_report_sample.proto is as below: +// char magic[10] = "SIMPLEPERF"; +// LittleEndian16(version) = 1; +// LittleEndian32(record_size_0) +// message Record(record_0) (having record_size_0 bytes) +// LittleEndian32(record_size_1) +// message Record(record_1) (having record_size_1 bytes) +// ... +// LittleEndian32(record_size_N) +// message Record(record_N) (having record_size_N bytes) +// LittleEndian32(0) + +syntax = "proto2"; +option optimize_for = LITE_RUNTIME; +option java_package = "com.android.tools.profiler.proto"; +option java_outer_classname = "SimpleperfReport"; + +// This is in perfetto.third_party to avoid clashing with potential other +// copies of this proto. +package perfetto.third_party.simpleperf.proto; + +message Sample { + // Monotonic clock time in nanoseconds. On kernel < 4.1, it's perf clock + // instead. + optional uint64 time = 1; + optional int32 thread_id = 2; + message CallChainEntry { + // virtual address of the instruction in elf file + optional uint64 vaddr_in_file = 1; + // index of the elf file containing the instruction + optional uint32 file_id = 2; + // symbol_id refers to the name of the function containing the instruction. + // If the function name is found, it is a valid index in the symbol table + // of File with 'id' field being file_id, otherwise it is -1. + optional int32 symbol_id = 3; + enum ExecutionType { + // methods belong to native libraries, AOT compiled JVM code and ART + // methods not used near JVM methods + NATIVE_METHOD = 0; + INTERPRETED_JVM_METHOD = 1; + JIT_JVM_METHOD = 2; + // ART methods used near JVM methods. It's shown only when + // --show-art-frames is used. + ART_METHOD = 3; + } + optional ExecutionType execution_type = 4; + } + repeated CallChainEntry callchain = 3; + // Simpleperf generates one sample whenever a specified amount of events + // happen while running a monitored thread. So each sample belongs to one + // event type. Event type can be cpu-cycles, cpu-clock, sched:sched_switch or + // other types. By using '-e' option, we can ask simpleperf to record samples + // for one or more event types. Each event type generates samples + // independently. But recording more event types will cost more cpu time + // generating samples, which may affect the monitored threads and sample lost + // rate. event_count field shows the count of the events (belong to the + // sample's event type) that have happened since last sample (belong to the + // sample's event type) for the same thread. However, if there are lost + // samples between current sample and previous sample, the event_count is the + // count of events from the last lost sample. + optional uint64 event_count = 4; + // An index in meta_info.event_type, shows which event type current sample + // belongs to. + optional uint32 event_type_id = 5; + message UnwindingResult { + // error code provided by libunwindstack, in + // https://cs.android.com/android/platform/superproject/+/master:system/unwinding/libunwindstack/include/unwindstack/Error.h + optional uint32 raw_error_code = 1; + // error addr provided by libunwindstack + optional uint64 error_addr = 2; + // error code interpreted by simpleperf + enum ErrorCode { + ERROR_NONE = 0; // No error + ERROR_UNKNOWN = + 1; // Error not interpreted by simpleperf, see raw_error_code + ERROR_NOT_ENOUGH_STACK = + 2; // Simpleperf doesn't record enough stack data + ERROR_MEMORY_INVALID = 3; // Memory read failed + ERROR_UNWIND_INFO = 4; // No debug info in binary to support unwinding + ERROR_INVALID_MAP = 5; // Unwind in an invalid map + ERROR_MAX_FRAME_EXCEEDED = + 6; // Stopped at MAX_UNWINDING_FRAMES, which is 512. + ERROR_REPEATED_FRAME = + 7; // The last frame has the same pc/sp as the next. + ERROR_INVALID_ELF = 8; // Unwind in an invalid elf file + } + optional ErrorCode error_code = 3; + } + // Unwinding result is provided for samples without a complete callchain, when + // recorded with + // --keep-failed-unwinding-result or --keep-failed-unwinding-debug-info. + optional UnwindingResult unwinding_result = 6; +} +message LostSituation { + optional uint64 sample_count = 1; + optional uint64 lost_count = 2; +} +message File { + // unique id for each file, starting from 0, and add 1 each time. + optional uint32 id = 1; + // file path, like /system/lib/libc.so. + optional string path = 2; + // symbol table of the file. + repeated string symbol = 3; + // mangled symbol table of the file. + repeated string mangled_symbol = 4; +} +message Thread { + optional uint32 thread_id = 1; + optional uint32 process_id = 2; + optional string thread_name = 3; +} +message MetaInfo { + repeated string event_type = 1; + optional string app_package_name = 2; + optional string app_type = 3; // debuggable, profileable or non_profileable + optional string android_sdk_version = 4; + optional string android_build_type = 5; // user, userdebug or eng + // True if the profile is recorded with --trace-offcpu option. + optional bool trace_offcpu = 6; +} +// Thread context switch info. It is available when MetaInfo.trace_offcpu = +// true. +message ContextSwitch { + // If true, the thread is scheduled on cpu, otherwise it is scheduled off cpu. + optional bool switch_on = 1; + // Monotonic clock time in nanoseconds. On kernel < 4.1, it's perf clock + // instead. + optional uint64 time = 2; + optional uint32 thread_id = 3; +} +message Record { + oneof record_data { + Sample sample = 1; + LostSituation lost = 2; + File file = 3; + Thread thread = 4; + MetaInfo meta_info = 5; + ContextSwitch context_switch = 6; + } +} diff --git a/python/generators/diff_tests/models.py b/python/generators/diff_tests/models.py index c6a1ea21f82..9c19dd0ccd0 100644 --- a/python/generators/diff_tests/models.py +++ b/python/generators/diff_tests/models.py @@ -52,6 +52,7 @@ class Config: chrome_extensions: str test_extensions: str winscope_extensions: str + simpleperf_descriptor: str keep_input: bool print_slowest_tests: bool diff --git a/python/generators/diff_tests/runner.py b/python/generators/diff_tests/runner.py index cff0e421d96..a43200339a3 100644 --- a/python/generators/diff_tests/runner.py +++ b/python/generators/diff_tests/runner.py @@ -142,12 +142,15 @@ def run(self) -> TestResults: def _run_test(self, test: TestCase, trace_descriptor_path: str) -> Tuple[str, str, TestResult]: + # Simpleperf is not an extension of Perfetto's trace proto, but a separate + # format. Only pass it for simpleperf-specific tests. extension_descriptor_paths = [ self.config.chrome_extensions, self.config.test_extensions, self.config.winscope_extensions ] gen_trace_file = generate_trace_file(test, trace_descriptor_path, - extension_descriptor_paths) + extension_descriptor_paths, + self.config.simpleperf_descriptor) if gen_trace_file: trace_path = os.path.realpath(gen_trace_file.name) diff --git a/python/generators/diff_tests/testing.py b/python/generators/diff_tests/testing.py index a8d21e55dc1..13a563ac396 100644 --- a/python/generators/diff_tests/testing.py +++ b/python/generators/diff_tests/testing.py @@ -83,6 +83,12 @@ class BinaryProto: post_processing: Callable = text_format.MessageToString +@dataclass +class SimpleperfProto: + """Represents a simpleperf_proto binary file with inline generation.""" + records: List[str] # List of textproto strings for Record messages + + @dataclass class PprofTextproto: """Represents a pprof file in textproto format.""" @@ -165,6 +171,9 @@ def is_trace_systrace(self): def is_trace_rawtext(self): return isinstance(self.trace, RawText) + def is_trace_simpleperf_proto(self): + return isinstance(self.trace, SimpleperfProto) + def is_query_file(self): return isinstance(self.query, Path) diff --git a/python/generators/diff_tests/trace_generator.py b/python/generators/diff_tests/trace_generator.py index d29636524d9..9b3ebff3606 100644 --- a/python/generators/diff_tests/trace_generator.py +++ b/python/generators/diff_tests/trace_generator.py @@ -14,13 +14,15 @@ # limitations under the License. import os +import struct import subprocess import tempfile from typing import Any, IO, List, Optional from google.protobuf import text_format -from python.generators.diff_tests.testing import (DataPath, Path, TextProto, +from python.generators.diff_tests.testing import (DataPath, Path, + SimpleperfProto, TextProto, TraceInjector) from python.generators.diff_tests.utils import ProtoManager @@ -66,9 +68,41 @@ def serialize_python_trace(self, root_dir: str, python_trace_path: str, env['PYTHONPATH'] = os.path.join(root_dir, 'test') subprocess.check_call(python_cmd, env=env, stdout=out_stream) + def serialize_simpleperf_proto_trace(self, simpleperf_trace: SimpleperfProto, + out_stream: IO[bytes]): + # Write simpleperf_proto header + # Magic: "SIMPLEPERF" (10 bytes, null-padded) + magic = b"SIMPLEPERF" + out_stream.write(magic) + + # Version: LittleEndian16 = 1 + out_stream.write(struct.pack(' Optional[Any]: + extension_descriptor_paths: List[str], + simpleperf_descriptor: str) -> Optional[Any]: # We can't use delete=True here. When using that on Windows, the # resulting file is opened in exclusive mode (in turn that's a subtle # side-effect of the underlying CreateFile(FILE_ATTRIBUTE_TEMPORARY)) @@ -98,6 +132,15 @@ def generate_trace_file(test_case: Any, trace_descriptor_path: str, gen_trace_file.write(proto.SerializeToString()) gen_trace_file.flush() + elif test_case.blueprint.is_trace_simpleperf_proto(): + gen_trace_file = tempfile.NamedTemporaryFile(delete=False) + # Simpleperf is a separate format, so use a dedicated generator with + # the simpleperf descriptor instead of the general Perfetto trace extensions. + simpleperf_generator = TraceGenerator(trace_descriptor_path, + [simpleperf_descriptor]) + simpleperf_generator.serialize_simpleperf_proto_trace( + test_case.blueprint.trace, gen_trace_file) + else: gen_trace_file = tempfile.NamedTemporaryFile(delete=False) with open(gen_trace_file.name, 'w') as trace_file: diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn index 5ac5aef5c0e..deab1b561f6 100644 --- a/src/trace_processor/BUILD.gn +++ b/src/trace_processor/BUILD.gn @@ -188,6 +188,7 @@ if (enable_perfetto_trace_processor_sqlite) { "importers/pprof", "importers/proto:full", "importers/proto:minimal", + "importers/simpleperf_proto", "importers/systrace:full", "metrics", "perfetto_sql/engine", @@ -267,6 +268,7 @@ if (enable_perfetto_trace_processor_sqlite) { "../../protos/perfetto/trace_processor:stack_descriptor", "../../protos/perfetto/trace_summary:descriptor", "../../protos/third_party/pprof:descriptor", + "../../protos/third_party/simpleperf:descriptor", ] if (enable_perfetto_llvm_symbolizer) { data_deps += [ "../profiling/symbolizer:llvm_symbolizer_wrapper" ] diff --git a/src/trace_processor/forwarding_trace_parser.cc b/src/trace_processor/forwarding_trace_parser.cc index 873e93d2ce2..efb66fa347b 100644 --- a/src/trace_processor/forwarding_trace_parser.cc +++ b/src/trace_processor/forwarding_trace_parser.cc @@ -68,6 +68,7 @@ std::optional GetMinimumSortingMode( case kPerfDataTraceType: case kPerfTextTraceType: case kPprofTraceType: + case kSimpleperfProtoTraceType: case kSystraceTraceType: case kTarTraceType: case kUnknownTraceType: diff --git a/src/trace_processor/importers/simpleperf_proto/BUILD.gn b/src/trace_processor/importers/simpleperf_proto/BUILD.gn new file mode 100644 index 00000000000..870a68dc200 --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (C) 2024 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +source_set("simpleperf_proto") { + sources = [ + "simpleperf_proto_parser.cc", + "simpleperf_proto_parser.h", + "simpleperf_proto_tokenizer.cc", + "simpleperf_proto_tokenizer.h", + "simpleperf_proto_tracker.h", + ] + deps = [ + "../../../../gn:default_deps", + "../../../../include/perfetto/ext/base:base", + "../../../../include/perfetto/protozero:protozero", + "../../../../protos/third_party/simpleperf:zero", + "../../importers/common:common", + "../../sorter", + "../../storage", + "../../tables:tables_python", + "../../types", + "../../util:trace_blob_view_reader", + ] +} diff --git a/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc new file mode 100644 index 00000000000..31d4e53e4aa --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.cc @@ -0,0 +1,154 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h" + +#include +#include +#include +#include + +#include "perfetto/ext/base/string_view.h" +#include "src/trace_processor/importers/common/mapping_tracker.h" +#include "src/trace_processor/importers/common/process_tracker.h" +#include "src/trace_processor/importers/common/stack_profile_tracker.h" +#include "src/trace_processor/importers/common/virtual_memory_mapping.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h" +#include "src/trace_processor/storage/stats.h" +#include "src/trace_processor/storage/trace_storage.h" + +#include "protos/third_party/simpleperf/cmd_report_sample.pbzero.h" +#include "src/trace_processor/tables/profiler_tables_py.h" + +namespace perfetto::trace_processor::simpleperf_proto_importer { + +SimpleperfProtoParser::SimpleperfProtoParser(TraceProcessorContext* context, + SimpleperfProtoTracker* tracker) + : context_(context), tracker_(tracker) {} + +SimpleperfProtoParser::~SimpleperfProtoParser() = default; + +void SimpleperfProtoParser::Parse(int64_t ts, + const SimpleperfProtoEvent& event) { + using namespace perfetto::third_party::simpleperf::proto::pbzero; + Record::Decoder record(event.record_data.data(), event.record_data.size()); + + if (record.has_sample()) { + Sample::Decoder sample(record.sample()); + + auto tid = static_cast(sample.thread_id()); + UniqueTid utid = context_->process_tracker->GetOrCreateThread(tid); + + // Simpleperf provides callchain in leaf-to-root order, but Perfetto uses + // depth 0 = root convention. Reverse the entries to build root-to-leaf. + struct CallChainData { + uint64_t vaddr; + uint32_t file_id; + int32_t symbol_id; + }; + std::vector entries; + for (auto it = sample.callchain(); it; ++it) { + using CallChainEntry = perfetto::third_party::simpleperf::proto::pbzero:: + Sample::CallChainEntry; + CallChainEntry::Decoder entry(*it); + entries.push_back( + {entry.vaddr_in_file(), entry.file_id(), entry.symbol_id()}); + } + + // Build callchain from root to leaf (depth 0 = root) + std::optional callsite_id; + uint32_t depth = 0; + + for (auto rit = entries.rbegin(); rit != entries.rend(); ++rit) { + uint64_t vaddr = rit->vaddr; + uint32_t file_id = rit->file_id; + int32_t symbol_id = rit->symbol_id; + + // Resolve symbol name from symbol table + std::optional symbol_name_id = + tracker_->GetSymbol(file_id, symbol_id); + + // Get mapping for this file + DummyMemoryMapping* mapping = tracker_->GetMapping(file_id); + if (!mapping) { + // Drop sample if file_id not found + context_->storage->IncrementStats( + stats::simpleperf_missing_file_mapping); + return; + } + + // Intern frame with virtual address and symbol name + // Use StringId::Null() for missing symbols to get SQL NULL + StringId name_id = symbol_name_id.value_or(StringId::Null()); + base::StringView symbol_view = context_->storage->GetString(name_id); + FrameId frame_id = mapping->InternFrame(vaddr, symbol_view); + + // Intern callsite (building from root to leaf, depth 0 = root) + callsite_id = context_->stack_profile_tracker->InternCallsite( + callsite_id, frame_id, depth); + depth++; + } + + // Insert into cpu_profile_stack_sample table with the leaf callsite + // (the last callsite created, which has the highest depth) + if (callsite_id.has_value()) { + tables::CpuProfileStackSampleTable::Row row; + row.ts = ts; + row.callsite_id = *callsite_id; + row.utid = utid; + row.process_priority = 0; // Default priority + context_->storage->mutable_cpu_profile_stack_sample_table()->Insert(row); + } + return; + } + + if (record.has_thread()) { + Thread::Decoder thread(record.thread()); + uint32_t tid = thread.thread_id(); + uint32_t pid = thread.process_id(); + + if (tid != 0 && pid != 0) { + UniqueTid utid = context_->process_tracker->UpdateThread(tid, pid); + + if (thread.has_thread_name()) { + base::StringView thread_name_view(thread.thread_name().data, + thread.thread_name().size); + StringId name_id = context_->storage->InternString(thread_name_view); + context_->process_tracker->UpdateThreadName(utid, name_id, + ThreadNamePriority::kOther); + } + } + return; + } + + if (record.has_context_switch()) { + // TODO(lalitm): Parse ContextSwitch record and insert into sched_slice + // table. This contains: + // - switch_on: bool indicating if thread is scheduled on (true) or off + // (false) + // - time: timestamp in nanoseconds (monotonic clock, or perf clock on + // kernel < 4.1) + // - thread_id: TID of the thread being switched + // Implementation should: + // 1. Track switch_on/switch_off pairs to create sched_slice entries + // 2. Match thread_id to utid using process_tracker + // 3. Determine CPU from previous state or metadata + // 4. Insert into sched_slice table with proper ts, dur, cpu, and utid + return; + } +} + +} // namespace perfetto::trace_processor::simpleperf_proto_importer diff --git a/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h new file mode 100644 index 00000000000..df9705ad473 --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_PARSER_H_ +#define SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_PARSER_H_ + +#include + +#include "perfetto/trace_processor/trace_blob_view.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h" +#include "src/trace_processor/sorter/trace_sorter.h" +#include "src/trace_processor/types/trace_processor_context.h" + +namespace perfetto::trace_processor::simpleperf_proto_importer { + +struct SimpleperfProtoEvent { + int64_t ts = 0; + TraceBlobView record_data; +}; + +class SimpleperfProtoParser + : public TraceSorter::Sink { + public: + SimpleperfProtoParser(TraceProcessorContext* context, + SimpleperfProtoTracker* tracker); + ~SimpleperfProtoParser() override; + + void Parse(int64_t ts, const SimpleperfProtoEvent& event); + + private: + TraceProcessorContext* const context_; + SimpleperfProtoTracker* const tracker_; +}; + +} // namespace perfetto::trace_processor::simpleperf_proto_importer + +#endif // SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_PARSER_H_ diff --git a/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc new file mode 100644 index 00000000000..27bb4b21155 --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.cc @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h" + +#include +#include +#include +#include +#include +#include + +#include "perfetto/base/status.h" +#include "perfetto/ext/base/status_macros.h" +#include "perfetto/ext/base/string_view.h" +#include "perfetto/protozero/field.h" +#include "perfetto/trace_processor/trace_blob_view.h" +#include "src/trace_processor/importers/common/mapping_tracker.h" +#include "src/trace_processor/importers/common/virtual_memory_mapping.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h" +#include "src/trace_processor/sorter/trace_sorter.h" +#include "src/trace_processor/storage/trace_storage.h" +#include "src/trace_processor/types/trace_processor_context.h" + +#include "protos/third_party/simpleperf/cmd_report_sample.pbzero.h" + +namespace perfetto::trace_processor::simpleperf_proto_importer { + +namespace { +constexpr char kSimpleperfMagic[] = "SIMPLEPERF"; +constexpr size_t kSimpleperfMagicSize = 10; +constexpr size_t kVersionSize = 2; +constexpr size_t kRecordSizeSize = 4; +} // namespace + +SimpleperfProtoTokenizer::SimpleperfProtoTokenizer( + TraceProcessorContext* context) + : context_(context), + stream_(context->sorter->CreateStream( + std::make_unique(context, &tracker_))) {} + +SimpleperfProtoTokenizer::~SimpleperfProtoTokenizer() = default; + +base::Status SimpleperfProtoTokenizer::Parse(TraceBlobView blob) { + reader_.PushBack(std::move(blob)); + + for (;;) { + switch (state_) { + case State::kExpectingMagic: + RETURN_IF_ERROR(ParseMagic()); + break; + + case State::kExpectingVersion: + RETURN_IF_ERROR(ParseVersion()); + break; + + case State::kExpectingRecordSize: + RETURN_IF_ERROR(ParseRecordSize()); + break; + + case State::kExpectingRecord: + RETURN_IF_ERROR(ParseRecord()); + break; + + case State::kFinished: + return base::OkStatus(); + } + } +} + +base::Status SimpleperfProtoTokenizer::NotifyEndOfFile() { + if (state_ != State::kFinished) { + return base::ErrStatus("Unexpected end of simpleperf_proto file"); + } + return base::OkStatus(); +} + +base::Status SimpleperfProtoTokenizer::ParseMagic() { + auto iter = reader_.GetIterator(); + auto magic_data = iter.MaybeRead(kSimpleperfMagicSize); + if (!magic_data) { + return base::ErrStatus("Need more data"); + } + + if (std::memcmp(magic_data->data(), kSimpleperfMagic, kSimpleperfMagicSize) != + 0) { + return base::ErrStatus("Invalid simpleperf magic header"); + } + + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingVersion; + return base::OkStatus(); +} + +base::Status SimpleperfProtoTokenizer::ParseVersion() { + auto iter = reader_.GetIterator(); + auto version_data = iter.MaybeRead(kVersionSize); + if (!version_data) { + return base::ErrStatus("Need more data"); + } + + uint16_t version = *reinterpret_cast(version_data->data()); + if (version != 1) { + return base::ErrStatus("Unsupported simpleperf version: %d", version); + } + + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingRecordSize; + return base::OkStatus(); +} + +base::Status SimpleperfProtoTokenizer::ParseRecordSize() { + auto iter = reader_.GetIterator(); + auto size_data = iter.MaybeRead(kRecordSizeSize); + if (!size_data) { + return base::ErrStatus("Need more data"); + } + + current_record_size_ = *reinterpret_cast(size_data->data()); + + reader_.PopFrontUntil(iter.file_offset()); + if (current_record_size_ == 0) { + // End of records marker + state_ = State::kFinished; + return base::OkStatus(); + } + + state_ = State::kExpectingRecord; + return base::OkStatus(); +} + +base::Status SimpleperfProtoTokenizer::ParseRecord() { + auto iter = reader_.GetIterator(); + auto record_data = iter.MaybeRead(current_record_size_); + if (!record_data) { + return base::ErrStatus("Need more data"); + } + + using namespace perfetto::third_party::simpleperf::proto::pbzero; + Record::Decoder record(record_data->data(), record_data->size()); + + // Process metadata records directly in tokenizer (not sent to sorter) + if (record.has_file()) { + File::Decoder file(record.file()); + uint32_t file_id = file.id(); + + // Create mapping for this file + DummyMemoryMapping* mapping = nullptr; + if (file.has_path()) { + std::string path_str(file.path().data, file.path().size); + mapping = &context_->mapping_tracker->CreateDummyMapping(path_str); + } else { + mapping = &context_->mapping_tracker->CreateDummyMapping(""); + } + tracker_.AddFileMapping(file_id, mapping); + + // Store symbol table for this file + std::vector symbols; + for (auto it = file.symbol(); it; ++it) { + protozero::ConstChars symbol_chars = *it; + base::StringView symbol_view(symbol_chars.data, symbol_chars.size); + symbols.push_back(context_->storage->InternString(symbol_view)); + } + tracker_.AddSymbolTable(file_id, std::move(symbols)); + + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingRecordSize; + return base::OkStatus(); + } + + if (record.has_meta_info()) { + MetaInfo::Decoder meta(record.meta_info()); + + // Store event types + for (auto it = meta.event_type(); it; ++it) { + protozero::ConstChars event_type_chars = *it; + base::StringView event_type_view(event_type_chars.data, + event_type_chars.size); + tracker_.AddEventType(context_->storage->InternString(event_type_view)); + } + + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingRecordSize; + return base::OkStatus(); + } + + if (record.has_lost()) { + // TODO(lalitm): Process LostSituation record. This contains: + // - sample_count: Total number of samples collected + // - lost_count: Number of samples lost due to buffer overflow + // Should emit a track event or stat to indicate data loss occurred. + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingRecordSize; + return base::OkStatus(); + } + + // Process timestamped records and Thread records (push to sorter) + int64_t ts = 0; + if (record.has_sample()) { + Sample::Decoder sample(record.sample()); + if (sample.has_time()) { + ts = static_cast(sample.time()); + last_seen_timestamp_ = ts; + } + } else if (record.has_context_switch()) { + ContextSwitch::Decoder cs(record.context_switch()); + if (cs.has_time()) { + ts = static_cast(cs.time()); + last_seen_timestamp_ = ts; + } + } else if (record.has_thread()) { + // Thread records use the timestamp of the most recent Sample/ContextSwitch + ts = last_seen_timestamp_; + } + + // Create event with the record data and push to sorter + SimpleperfProtoEvent event; + event.ts = ts; + event.record_data = std::move(*record_data); + stream_->Push(ts, std::move(event)); + + reader_.PopFrontUntil(iter.file_offset()); + state_ = State::kExpectingRecordSize; + return base::OkStatus(); +} + +} // namespace perfetto::trace_processor::simpleperf_proto_importer diff --git a/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h new file mode 100644 index 00000000000..096329fe72d --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TOKENIZER_H_ +#define SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TOKENIZER_H_ + +#include +#include + +#include "perfetto/base/status.h" +#include "perfetto/trace_processor/trace_blob_view.h" +#include "src/trace_processor/importers/common/chunked_trace_reader.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_parser.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h" +#include "src/trace_processor/sorter/trace_sorter.h" +#include "src/trace_processor/types/trace_processor_context.h" +#include "src/trace_processor/util/trace_blob_view_reader.h" + +namespace perfetto::trace_processor::simpleperf_proto_importer { + +class SimpleperfProtoTokenizer : public ChunkedTraceReader { + public: + explicit SimpleperfProtoTokenizer(TraceProcessorContext*); + ~SimpleperfProtoTokenizer() override; + + // ChunkedTraceReader implementation. + base::Status Parse(TraceBlobView) override; + base::Status NotifyEndOfFile() override; + + private: + enum class State : uint8_t { + kExpectingMagic, + kExpectingVersion, + kExpectingRecordSize, + kExpectingRecord, + kFinished + }; + + base::Status ParseMagic(); + base::Status ParseVersion(); + base::Status ParseRecordSize(); + base::Status ParseRecord(); + + TraceProcessorContext* const context_; + util::TraceBlobViewReader reader_; + State state_ = State::kExpectingMagic; + uint32_t current_record_size_ = 0; + int64_t last_seen_timestamp_ = 0; + std::unique_ptr> stream_; + + // Tracker for simpleperf metadata (symbols, mappings, event types) + SimpleperfProtoTracker tracker_; +}; + +} // namespace perfetto::trace_processor::simpleperf_proto_importer + +#endif // SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TOKENIZER_H_ diff --git a/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h new file mode 100644 index 00000000000..9b720cf4a19 --- /dev/null +++ b/src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tracker.h @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TRACKER_H_ +#define SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TRACKER_H_ + +#include +#include +#include +#include +#include + +#include "perfetto/ext/base/flat_hash_map.h" +#include "src/trace_processor/importers/common/virtual_memory_mapping.h" +#include "src/trace_processor/storage/trace_storage.h" + +namespace perfetto::trace_processor::simpleperf_proto_importer { + +// Tracker for simpleperf metadata that needs to be shared between tokenizer +// and parser. Lives in the tokenizer and is passed to the parser via events. +class SimpleperfProtoTracker { + public: + SimpleperfProtoTracker() = default; + ~SimpleperfProtoTracker() = default; + + // Store symbol table for a file + void AddSymbolTable(uint32_t file_id, std::vector symbols) { + symbol_tables_[file_id] = std::move(symbols); + } + + // Store mapping for a file + void AddFileMapping(uint32_t file_id, DummyMemoryMapping* mapping) { + file_mappings_[file_id] = mapping; + } + + // Store event types + void AddEventType(StringId event_type) { event_types_.push_back(event_type); } + + // Lookup symbol by file_id and symbol_id + std::optional GetSymbol(uint32_t file_id, int32_t symbol_id) const { + if (symbol_id < 0) { + return std::nullopt; + } + const auto* symbols = symbol_tables_.Find(file_id); + if (!symbols) { + return std::nullopt; + } + if (static_cast(symbol_id) >= symbols->size()) { + return std::nullopt; + } + return (*symbols)[static_cast(symbol_id)]; + } + + // Lookup mapping by file_id + DummyMemoryMapping* GetMapping(uint32_t file_id) const { + auto* mapping = file_mappings_.Find(file_id); + if (!mapping) { + return nullptr; + } + return *mapping; + } + + // Lookup event type by event_type_id + std::optional GetEventType(uint32_t event_type_id) const { + if (event_type_id >= event_types_.size()) { + return std::nullopt; + } + return event_types_[event_type_id]; + } + + private: + // Map from file_id to symbol table (list of symbol names) + base::FlatHashMap> symbol_tables_; + + // Map from file_id to DummyMemoryMapping pointer + base::FlatHashMap file_mappings_; + + // List of event types indexed by event_type_id + std::vector event_types_; +}; + +} // namespace perfetto::trace_processor::simpleperf_proto_importer + +#endif // SRC_TRACE_PROCESSOR_IMPORTERS_SIMPLEPERF_PROTO_SIMPLEPERF_PROTO_TRACKER_H_ diff --git a/src/trace_processor/perfetto_sql/stdlib/stacks/cpu_profiling.sql b/src/trace_processor/perfetto_sql/stdlib/stacks/cpu_profiling.sql index 92b4ad165a6..eea2a1302ff 100644 --- a/src/trace_processor/perfetto_sql/stdlib/stacks/cpu_profiling.sql +++ b/src/trace_processor/perfetto_sql/stdlib/stacks/cpu_profiling.sql @@ -20,6 +20,7 @@ INCLUDE PERFETTO MODULE callstacks.stack_profile; -- -- Currently, this table is backed by the following data sources: -- * Linux perf +-- * Simpleperf proto format -- * macOS instruments -- * Chrome CPU profiling -- * Legacy V8 CPU profiling diff --git a/src/trace_processor/storage/stats.h b/src/trace_processor/storage/stats.h index 50b9eab53e8..1f205fac80d 100644 --- a/src/trace_processor/storage/stats.h +++ b/src/trace_processor/storage/stats.h @@ -572,7 +572,14 @@ namespace perfetto::trace_processor::stats { F(perf_text_importer_sample_no_frames, kSingle, kError, kTrace, \ "A perf sample was encountered that has no frames. This can happen " \ "if the kernel is unable to unwind the stack while sampling. Check " \ - "Linux kernel documentation for causes of this and potential fixes.") + "Linux kernel documentation for causes of this and potential fixes."), \ + F(simpleperf_missing_file_mapping, kSingle, kDataLoss, kTrace, \ + "One or more simpleperf samples were dropped because their callchain " \ + "entries referenced a file_id that has no corresponding File record in " \ + "the simpleperf proto. This typically happens when the simpleperf data " \ + "is incomplete or truncated, or due to a bug in simpleperf. Try " \ + "re-recording the profile and ensure the file is not truncated. If " \ + "this occurs consistently, please report it to the simpleperf team.") // clang-format on enum Type { diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc index e2247ee304d..6bfd30cb18c 100644 --- a/src/trace_processor/trace_processor_impl.cc +++ b/src/trace_processor/trace_processor_impl.cc @@ -71,6 +71,7 @@ #include "src/trace_processor/importers/pprof/pprof_trace_reader.h" #include "src/trace_processor/importers/proto/additional_modules.h" #include "src/trace_processor/importers/proto/heap_graph_tracker.h" +#include "src/trace_processor/importers/simpleperf_proto/simpleperf_proto_tokenizer.h" #include "src/trace_processor/importers/systrace/systrace_trace_parser.h" #include "src/trace_processor/iterator_impl.h" #include "src/trace_processor/metrics/all_chrome_metrics.descriptor.h" @@ -519,6 +520,10 @@ TraceProcessorImpl::TraceProcessorImpl(const Config& cfg) ->reader_registry ->RegisterTraceReader( kPerfTextTraceType); + context() + ->reader_registry->RegisterTraceReader< + simpleperf_proto_importer::SimpleperfProtoTokenizer>( + kSimpleperfProtoTraceType); context()->reader_registry->RegisterTraceReader( kTarTraceType); diff --git a/src/trace_processor/trace_reader_registry.cc b/src/trace_processor/trace_reader_registry.cc index 72049c3ab33..b81083e515b 100644 --- a/src/trace_processor/trace_reader_registry.cc +++ b/src/trace_processor/trace_reader_registry.cc @@ -56,6 +56,7 @@ bool RequiresZlibSupport(TraceType type) { case kArtMethodTraceType: case kArtHprofTraceType: case kPerfTextTraceType: + case kSimpleperfProtoTraceType: case kTarTraceType: return false; } diff --git a/src/trace_processor/util/trace_type.cc b/src/trace_processor/util/trace_type.cc index 7ce49d31535..045fb48433a 100644 --- a/src/trace_processor/util/trace_type.cc +++ b/src/trace_processor/util/trace_type.cc @@ -46,6 +46,8 @@ constexpr char kArtHprofStreamingMagic[] = {'J', 'A', 'V', 'A', ' ', 'P', constexpr char kTarPosixMagic[] = {'u', 's', 't', 'a', 'r', '\0'}; constexpr char kTarGnuMagic[] = {'u', 's', 't', 'a', 'r', ' ', ' ', '\0'}; constexpr size_t kTarMagicOffset = 257; +constexpr char kSimpleperfMagic[] = {'S', 'I', 'M', 'P', 'L', + 'E', 'P', 'E', 'R', 'F'}; constexpr uint8_t kTracePacketTag = protozero::proto_utils::MakeTagLengthDelimited( @@ -212,6 +214,8 @@ const char* TraceTypeToString(TraceType trace_type) { return "art_hprof"; case kPerfTextTraceType: return "perf_text"; + case kSimpleperfProtoTraceType: + return "simpleperf_proto"; case kUnknownTraceType: return "unknown"; case kTarTraceType: @@ -240,6 +244,9 @@ TraceType GuessTraceType(const uint8_t* data, size_t size) { if (MatchesMagic(data, size, kPerfMagic)) { return kPerfDataTraceType; } + if (MatchesMagic(data, size, kSimpleperfMagic)) { + return kSimpleperfProtoTraceType; + } if (MatchesMagic(data, size, kZipMagic)) { return kZipFile; diff --git a/src/trace_processor/util/trace_type.h b/src/trace_processor/util/trace_type.h index eb31e84c27b..fd2773dab47 100644 --- a/src/trace_processor/util/trace_type.h +++ b/src/trace_processor/util/trace_type.h @@ -43,6 +43,7 @@ enum TraceType { kArtMethodTraceType, kArtHprofTraceType, kPerfTextTraceType, + kSimpleperfProtoTraceType, kTarTraceType, }; diff --git a/test/trace_processor/diff_tests/include_index.py b/test/trace_processor/diff_tests/include_index.py index db85229a905..fd6f6eb6e79 100644 --- a/test/trace_processor/diff_tests/include_index.py +++ b/test/trace_processor/diff_tests/include_index.py @@ -109,6 +109,7 @@ from diff_tests.parser.profiling.tests_llvm_symbolizer import ProfilingLlvmSymbolizer from diff_tests.parser.sched.tests import SchedParser from diff_tests.parser.simpleperf.tests import Simpleperf +from diff_tests.parser.simpleperf_proto.tests import SimpleperfProtoParser from diff_tests.parser.smoke.tests import Smoke from diff_tests.parser.smoke.tests_compute_metrics import SmokeComputeMetrics from diff_tests.parser.smoke.tests_json import SmokeJson @@ -221,6 +222,7 @@ def fetch_all_diff_tests( ProfilingLlvmSymbolizer, SchedParser, Simpleperf, + SimpleperfProtoParser, StdlibSched, Smoke, SmokeComputeMetrics, diff --git a/test/trace_processor/diff_tests/parser/simpleperf_proto/tests.py b/test/trace_processor/diff_tests/parser/simpleperf_proto/tests.py new file mode 100644 index 00000000000..8eb57314419 --- /dev/null +++ b/test/trace_processor/diff_tests/parser/simpleperf_proto/tests.py @@ -0,0 +1,406 @@ +#!/usr/bin/env python3 +# Copyright (C) 2024 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from python.generators.diff_tests.testing import Csv, SimpleperfProto +from python.generators.diff_tests.testing import DiffTestBlueprint +from python.generators.diff_tests.testing import TestSuite + + +class SimpleperfProtoParser(TestSuite): + """Test simpleperf_proto format parsing.""" + + def test_empty_file(self): + """Test parsing file with just magic header and no records.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[]), + query=""" + SELECT COUNT(*) as count + FROM trace_bounds + """, + out=Csv(''' + "count" + 1 + ''')) + + def test_thread_record(self): + """Test parsing Thread record.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + sample { + time: 1000000000 + thread_id: 1234 + event_count: 1 + } + """, """ + thread { + thread_id: 1234 + process_id: 5678 + thread_name: "MyThread" + } + """ + ]), + query=""" + SELECT tid, upid, name + FROM thread + WHERE tid = 1234 + """, + out=Csv(''' + "tid","upid","name" + 1234,1,"MyThread" + ''')) + + def test_file_record(self): + """Test parsing File record creates mapping.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + } + """ + ]), + query=""" + SELECT name + FROM stack_profile_mapping + WHERE name = '/system/lib64/libc.so' + """, + out=Csv(''' + "name" + "/system/lib64/libc.so" + ''')) + + def test_sample_with_callchain(self): + """Test parsing Sample record with callchain.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "malloc" + symbol: "free" + symbol: "memcpy" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + event_count: 100 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 1 + } + } + """ + ]), + query=""" + SELECT + s.ts, + s.utid, + spf1.name AS sample_frame, + spf2.name AS parent_frame + FROM cpu_profile_stack_sample s + JOIN stack_profile_callsite spc1 ON s.callsite_id = spc1.id + JOIN stack_profile_frame spf1 ON spc1.frame_id = spf1.id + LEFT JOIN stack_profile_callsite spc2 ON spc1.parent_id = spc2.id + LEFT JOIN stack_profile_frame spf2 ON spc2.frame_id = spf2.id + """, + out=Csv(''' + "ts","utid","sample_frame","parent_frame" + 1000000000,1,"malloc","free" + ''')) + + def test_multiple_samples_same_thread(self): + """Test multiple samples from the same thread.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "malloc" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + event_count: 100 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """, """ + sample { + time: 2000000000 + thread_id: 1234 + event_count: 100 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """ + ]), + query=""" + SELECT COUNT(*) AS sample_count, COUNT(DISTINCT utid) AS unique_threads + FROM cpu_profile_stack_sample + """, + out=Csv(''' + "sample_count","unique_threads" + 2,1 + ''')) + + def test_cpu_profiling_basic_aggregation(self): + """Test basic aggregation of CPU profiling samples.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "main" + symbol: "foo" + symbol: "bar" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x3000 + file_id: 1 + symbol_id: 2 + } + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 1 + } + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """, """ + sample { + time: 2000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 1 + } + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """ + ]), + query=""" + SELECT spf.name, COUNT(*) as count + FROM cpu_profile_stack_sample s + JOIN stack_profile_callsite spc ON s.callsite_id = spc.id + JOIN stack_profile_frame spf ON spc.frame_id = spf.id + LEFT JOIN stack_profile_callsite child ON child.parent_id = spc.id + WHERE child.id IS NULL + GROUP BY spf.name + ORDER BY spf.name + """, + out=Csv(''' + "name","count" + "bar",1 + ''')) + + def test_missing_symbol_handling(self): + """Test handling of callchain entries with invalid symbol_id.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "malloc" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: -1 + } + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 0 + } + } + """ + ]), + query=""" + SELECT + spf.name, + CASE WHEN spf.name IS NULL THEN 1 ELSE 0 END AS is_null + FROM cpu_profile_stack_sample s + JOIN stack_profile_callsite spc ON s.callsite_id = spc.id + JOIN stack_profile_frame spf ON spc.frame_id = spf.id + ORDER BY spc.depth + """, + out=Csv(''' + "name","is_null" + "[NULL]",1 + ''')) + + def test_multiple_files_and_threads(self): + """Test samples across multiple files and threads.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "malloc" + } + """, """ + file { + id: 2 + path: "/system/lib64/libm.so" + symbol: "sqrt" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """, """ + thread { + thread_id: 5678 + process_id: 9999 + thread_name: "WorkerThread" + } + """, """ + sample { + time: 2000000000 + thread_id: 5678 + callchain { + vaddr_in_file: 0x2000 + file_id: 2 + symbol_id: 0 + } + } + """ + ]), + query=""" + SELECT + t.name AS thread_name, + spf.name AS function_name, + spm.name AS mapping_name + FROM cpu_profile_stack_sample s + JOIN thread t USING (utid) + JOIN stack_profile_callsite spc ON s.callsite_id = spc.id + JOIN stack_profile_frame spf ON spc.frame_id = spf.id + JOIN stack_profile_mapping spm ON spf.mapping = spm.id + ORDER BY s.ts + """, + out=Csv(''' + "thread_name","function_name","mapping_name" + "[NULL]","malloc","/system/lib64/libc.so" + "WorkerThread","sqrt","/system/lib64/libm.so" + ''')) + + def test_cpu_profiling_summary_tree(self): + """Test CPU profiling summary tree.""" + return DiffTestBlueprint( + trace=SimpleperfProto(records=[ + """ + file { + id: 1 + path: "/system/lib64/libc.so" + symbol: "main" + symbol: "work" + } + """, """ + sample { + time: 1000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 1 + } + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """, """ + sample { + time: 2000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x2000 + file_id: 1 + symbol_id: 1 + } + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """, """ + sample { + time: 3000000000 + thread_id: 1234 + callchain { + vaddr_in_file: 0x1000 + file_id: 1 + symbol_id: 0 + } + } + """ + ]), + query=""" + INCLUDE PERFETTO MODULE stacks.cpu_profiling; + SELECT name, self_count, cumulative_count + FROM cpu_profiling_summary_tree + ORDER BY id + """, + out=Csv(''' + "name","self_count","cumulative_count" + "main",1,3 + "work",2,2 + ''')) diff --git a/tools/diff_test_trace_processor.py b/tools/diff_test_trace_processor.py index fc9c8a8097d..e164c0c0a1f 100755 --- a/tools/diff_test_trace_processor.py +++ b/tools/diff_test_trace_processor.py @@ -41,6 +41,7 @@ def main(): parser.add_argument('--chrome-track-event-descriptor', type=str, default=None) parser.add_argument('--test-extensions', type=str, default=None) parser.add_argument('--winscope-extensions', type=str, default=None) + parser.add_argument('--simpleperf-descriptor', type=str, default=None) parser.add_argument('--perf-file', type=str) parser.add_argument( '--override-sql-package', type=str, action='append', default=[]) @@ -77,6 +78,10 @@ def main(): if args.winscope_extensions is None: args.winscope_extensions = os.path.join(protos_path, 'perfetto', 'trace', 'android', 'winscope.descriptor') + if args.simpleperf_descriptor is None: + args.simpleperf_descriptor = os.path.join(protos_path, 'third_party', + 'simpleperf', + 'simpleperf.descriptor') if args.summary_descriptor is None: args.summary_descriptor = os.path.join(protos_path, 'perfetto', 'trace_summary', @@ -95,6 +100,7 @@ def main(): chrome_extensions=args.chrome_track_event_descriptor, test_extensions=args.test_extensions, winscope_extensions=args.winscope_extensions, + simpleperf_descriptor=args.simpleperf_descriptor, keep_input=args.keep_input, print_slowest_tests=args.print_slowest_tests) test_runner = DiffTestsRunner(config) From b5a3a4b38331ca4b3362a664451799b437fcc5f5 Mon Sep 17 00:00:00 2001 From: Kirill Timofeev Date: Tue, 7 Oct 2025 12:56:54 +0100 Subject: [PATCH 019/370] Support clone operation for 'write_into_file' sessions. (#2871) This PR enables the cloning of `write_into_file` sessions that have already written their data to disk before the clone is requested. This PR doesn't change the existing behavior for the Traceur: the clone operation doesn't trigger the write for the `write_into_file` session. The tracing session with the very long `file_write_period_ms` will, as before, write the file only once, at the end of the tracing session. This PR relies on the `TraceBuffer::CloneReadOnly` to have correct behavior (see c74edc8f40710244d1b42d542af78bdac8dca512), so the new code in this PR is guarded by the `buffer_clone_preserve_read_iter` flag, just like the `CloneReadOnly` changes. Bug: b/382209797 --- include/perfetto/ext/tracing/core/consumer.h | 1 + .../ext/tracing/core/tracing_service.h | 5 + protos/perfetto/ipc/consumer_port.proto | 9 + src/perfetto_cmd/perfetto_cmd.cc | 16 +- src/perfetto_cmd/perfetto_cmd.h | 1 + src/tracing/internal/tracing_muxer_impl.cc | 6 +- .../ipc/consumer/consumer_ipc_client_impl.cc | 20 +- .../ipc/service/consumer_ipc_service.cc | 4 + src/tracing/service/tracing_service_impl.cc | 56 ++- src/tracing/service/tracing_service_impl.h | 4 +- .../service/tracing_service_impl_unittest.cc | 461 +++++++++++++++++- src/tracing/test/mock_consumer.cc | 2 +- test/cmdline_integrationtest.cc | 82 ++++ 13 files changed, 647 insertions(+), 20 deletions(-) diff --git a/include/perfetto/ext/tracing/core/consumer.h b/include/perfetto/ext/tracing/core/consumer.h index b00ca52f3e4..72fc1f43d12 100644 --- a/include/perfetto/ext/tracing/core/consumer.h +++ b/include/perfetto/ext/tracing/core/consumer.h @@ -86,6 +86,7 @@ class PERFETTO_EXPORT_COMPONENT Consumer { bool success; std::string error; base::Uuid uuid; // UUID of the cloned session. + bool was_write_into_file; }; virtual void OnSessionCloned(const OnSessionClonedArgs&); }; diff --git a/include/perfetto/ext/tracing/core/tracing_service.h b/include/perfetto/ext/tracing/core/tracing_service.h index 10990562a5b..58488de3657 100644 --- a/include/perfetto/ext/tracing/core/tracing_service.h +++ b/include/perfetto/ext/tracing/core/tracing_service.h @@ -226,6 +226,11 @@ class PERFETTO_EXPORT_COMPONENT ConsumerEndpoint { // If not zero, this is stored in the trace as the configured delay (in // milliseconds) of the trigger that caused the clone. uint64_t clone_trigger_delay_ms = 0; + + // If valid, and the session that should be cloned is 'write_into_file' + // session, traced writes the cloned session content to this file + // descriptor, instead of writing it in the cloned session buffers. + base::ScopedFile output_file_fd; }; virtual void CloneSession(CloneSessionArgs) = 0; diff --git a/protos/perfetto/ipc/consumer_port.proto b/protos/perfetto/ipc/consumer_port.proto index 4b4cfce95b2..c2e026d24ec 100644 --- a/protos/perfetto/ipc/consumer_port.proto +++ b/protos/perfetto/ipc/consumer_port.proto @@ -322,6 +322,10 @@ message CloneSessionRequest { // If set, this is stored in the trace as the configured delay of the trigger // that caused the clone. optional uint64 clone_trigger_delay_ms = 9; + // Consumer may also send a file descriptor with this rpc message. If the + // descriptor is valid, and the session that should be cloned is + // 'write_into_file' session, traced writes the cloned session content to that + // file descriptor, instead of writing it in the cloned session buffers. } message CloneSessionResponse { @@ -333,4 +337,9 @@ message CloneSessionResponse { // The UUID of the cloned session. optional int64 uuid_msb = 3; optional int64 uuid_lsb = 4; + + // TracingService sets this when the cloned session was write_into_file=true. + // The consumer cannot know upfront if a session is WIF or not. + // Introduced in v53. + optional bool was_write_into_file = 5; } diff --git a/src/perfetto_cmd/perfetto_cmd.cc b/src/perfetto_cmd/perfetto_cmd.cc index fbec93eef02..a31667592df 100644 --- a/src/perfetto_cmd/perfetto_cmd.cc +++ b/src/perfetto_cmd/perfetto_cmd.cc @@ -1039,6 +1039,15 @@ void PerfettoCmd::OnConnect() { args.clone_trigger_boot_time_ns = snapshot_trigger_info_->boot_time_ns; args.clone_trigger_delay_ms = snapshot_trigger_info_->trigger_delay_ms; } + + if (trace_out_stream_) { + // We always send the file descriptor to the traced, because perfetto_cmd + // doesn't know if the session to clone is 'write_into_file' session. + // traced decides weither it writes the cloned buffers to this file + // descriptor or send them to the perfetto_cmd. + args.output_file_fd = base::ScopedFile(dup(fileno(*trace_out_stream_))); + } + consumer_endpoint_->CloneSession(std::move(args)); return; } @@ -1168,9 +1177,8 @@ void PerfettoCmd::ReadbackTraceDataAndQuit(const std::string& error) { // and we don't want to log anything after that. LogUploadEvent(PerfettoStatsdAtom::kOnTracingDisabled); - if (trace_config_->write_into_file()) { - // If write_into_file == true, at this point the passed file contains - // already all the packets. + if (trace_config_->write_into_file() || cloned_session_was_write_into_file_) { + // At this point the passed file already contains all the packets. return FinalizeTraceAndExit(); } @@ -1353,6 +1361,8 @@ void PerfettoCmd::OnSessionCloned(const OnSessionClonedArgs& args) { LogUploadEvent(PerfettoStatsdAtom::kCmdOnTriggerSessionClone, snapshot_trigger_info_->trigger_name); } + + cloned_session_was_write_into_file_ = args.was_write_into_file; ReadbackTraceDataAndQuit(full_error); } diff --git a/src/perfetto_cmd/perfetto_cmd.h b/src/perfetto_cmd/perfetto_cmd.h index 38c3b5efcba..511a4cea438 100644 --- a/src/perfetto_cmd/perfetto_cmd.h +++ b/src/perfetto_cmd/perfetto_cmd.h @@ -183,6 +183,7 @@ class PerfettoCmd : public Consumer { std::string clone_name_; bool clone_for_bugreport_ = false; std::function on_session_cloned_; + bool cloned_session_was_write_into_file_ = false; // How long we expect to trace for or 0 if the trace is indefinite. uint32_t expected_duration_ms_ = 0; diff --git a/src/tracing/internal/tracing_muxer_impl.cc b/src/tracing/internal/tracing_muxer_impl.cc index 03445a7181d..70fbf073804 100644 --- a/src/tracing/internal/tracing_muxer_impl.cc +++ b/src/tracing/internal/tracing_muxer_impl.cc @@ -464,7 +464,7 @@ void TracingMuxerImpl::ConsumerImpl::OnConnect() { muxer_->QueryServiceState(session_id_, std::move(callback)); } if (session_to_clone_) { - service_->CloneSession(*session_to_clone_); + service_->CloneSession(std::move(*session_to_clone_)); session_to_clone_ = std::nullopt; } @@ -1989,14 +1989,14 @@ void TracingMuxerImpl::CloneTracingSession( // Multiple concurrent cloning isn't supported. PERFETTO_DCHECK(!consumer->clone_trace_callback_); consumer->clone_trace_callback_ = std::move(callback); - ConsumerEndpoint::CloneSessionArgs consumer_args{}; + ConsumerEndpoint::CloneSessionArgs consumer_args; consumer_args.unique_session_name = args.unique_session_name; if (!consumer->connected_) { consumer->session_to_clone_ = std::move(consumer_args); return; } consumer->session_to_clone_ = std::nullopt; - consumer->service_->CloneSession(consumer_args); + consumer->service_->CloneSession(std::move(consumer_args)); } void TracingMuxerImpl::ChangeTracingSessionConfig( diff --git a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc index 79334dcd887..7b89bbc5388 100644 --- a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc +++ b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc @@ -470,6 +470,16 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { return; } +#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) + if (args.output_file_fd) { + consumer_->OnSessionCloned( + {false, + "Passing FDs into CloneSession is not supported on Windows", + {}}); + return; + } +#endif + protos::gen::CloneSessionRequest req; if (args.tsid) { req.set_session_id(args.tsid); @@ -507,13 +517,17 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { // If the IPC fails, we are talking to an older version of the service // that didn't support CloneSession at all. weak_this->consumer_->OnSessionCloned( - {false, "CloneSession IPC not supported", {}}); + {false, "CloneSession IPC not supported", {}, false}); } else { base::Uuid uuid(response->uuid_lsb(), response->uuid_msb()); weak_this->consumer_->OnSessionCloned( - {response->success(), response->error(), uuid}); + {response->success(), response->error(), uuid, + response->was_write_into_file()}); } }); - consumer_port_.CloneSession(req, std::move(async_response)); + // |args.output_file_fd| will be closed when this function returns, but it's + // fine because the IPC layer dup()'s it when sending the IPC. + consumer_port_.CloneSession(req, std::move(async_response), + *args.output_file_fd); } } // namespace perfetto diff --git a/src/tracing/ipc/service/consumer_ipc_service.cc b/src/tracing/ipc/service/consumer_ipc_service.cc index f45b637face..a54efbe479a 100644 --- a/src/tracing/ipc/service/consumer_ipc_service.cc +++ b/src/tracing/ipc/service/consumer_ipc_service.cc @@ -355,6 +355,9 @@ void ConsumerIPCService::CloneSession( if (req.has_clone_trigger_delay_ms()) { args.clone_trigger_delay_ms = req.clone_trigger_delay_ms(); } + // The client (perfetto_cmd) always sends the file descriptor, but the traced + // uses it only if the session to clone is 'write_into_file' session. + args.output_file_fd = ipc::Service::TakeReceivedFD(); remote_consumer->service_endpoint->CloneSession(std::move(args)); } @@ -517,6 +520,7 @@ void ConsumerIPCService::RemoteConsumer::OnSessionCloned( resp->set_error(args.error); resp->set_uuid_msb(args.uuid.msb()); resp->set_uuid_lsb(args.uuid.lsb()); + resp->set_was_write_into_file(args.was_write_into_file); std::move(clone_session_response).Resolve(std::move(resp)); } diff --git a/src/tracing/service/tracing_service_impl.cc b/src/tracing/service/tracing_service_impl.cc index 1fdcd233467..ae758da6812 100644 --- a/src/tracing/service/tracing_service_impl.cc +++ b/src/tracing/service/tracing_service_impl.cc @@ -53,6 +53,7 @@ #include "perfetto/ext/base/android_utils.h" #include "perfetto/ext/base/clock_snapshots.h" #include "perfetto/ext/base/file_utils.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/metatrace.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/string_view.h" @@ -2879,7 +2880,7 @@ void TracingServiceImpl::FreeBuffers(TracingSessionID tsid, [weak_consumer = clone_op.weak_consumer] { if (weak_consumer) { weak_consumer->consumer_->OnSessionCloned( - {false, "Original session ended", {}}); + {false, "Original session ended", {}, false}); } }); } @@ -4140,6 +4141,38 @@ base::Status TracingServiceImpl::FlushAndCloneSession( return PERFETTO_SVC_ERR("Not allowed to clone a session from another UID"); } + // The new logic we use to clone 'write_into_file' session relies on the + // 'buffer_clone_preserve_read_iter' flag being true; see b/448604718. + // + // The old logic ignored |session->write_into_file| when doing clone. + // Therefore, if the 'buffer_clone_preserve_read_iter' flag is false, we + // ignore the file to make the new logic behave like the old logic. + bool clone_session_write_into_file = + base::flags::buffer_clone_preserve_read_iter && session->write_into_file; + + if (clone_session_write_into_file) { + if (!args.output_file_fd) { + return PERFETTO_SVC_ERR( + "Failed to clone 'write_into_file' session: a file descriptor is " + "required to copy existing file"); + } + base::FlushFile(*session->write_into_file); + base::Status status = + base::CopyFileContents(*session->write_into_file, *args.output_file_fd); + if (!status.ok()) { + return PERFETTO_SVC_ERR( + "Failed to clone 'write_into_file' session: failed to copy existing " + "file: %s", + status.c_message()); + } + } else { + // The client always sends a FD because when it asks to CloneSession, + // it doesn't know if the session being cloned is WIF or not. If it's + // not we should just ignore the file, the client will readback via IPC + // as usual in that case. + args.output_file_fd.reset(); + } + // If any of the buffers are marked as clear_before_clone, reset them before // issuing the Flush(kCloneReason). size_t buf_idx = 0; @@ -4192,6 +4225,9 @@ base::Status TracingServiceImpl::FlushAndCloneSession( args.clone_trigger_producer_name, args.clone_trigger_trusted_producer_uid, args.clone_trigger_delay_ms}; } + if (args.output_file_fd) { + clone_op.output_file_fd = std::move(args.output_file_fd); + } // Issue separate flush requests for separate buffer groups. The buffer marked // as transfer_on_clone will be flushed and cloned separately: even if they're @@ -4278,6 +4314,7 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, result = PERFETTO_SVC_ERR("Buffer allocation failed"); } + bool was_write_into_file = false; if (result.ok()) { UpdateMemoryGuardrail(); @@ -4290,17 +4327,19 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, final_flush_outcome); if (clone_op.weak_consumer) { + was_write_into_file = static_cast(clone_op.output_file_fd); result = FinishCloneSession( &*clone_op.weak_consumer, tsid, std::move(clone_op.buffers), std::move(clone_op.buffer_cloned_timestamps), clone_op.skip_trace_filter, !clone_op.flush_failed, - clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns); + clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns, + std::move(clone_op.output_file_fd)); } } // if (result.ok()) if (clone_op.weak_consumer) { clone_op.weak_consumer->consumer_->OnSessionCloned( - {result.ok(), result.message(), uuid}); + {result.ok(), result.message(), uuid, was_write_into_file}); } src->pending_clones.erase(it); @@ -4355,7 +4394,8 @@ base::Status TracingServiceImpl::FinishCloneSession( bool final_flush_outcome, std::optional clone_trigger, base::Uuid* new_uuid, - int64_t clone_started_timestamp_ns) { + int64_t clone_started_timestamp_ns, + base::ScopedFile output_file_fd) { PERFETTO_DLOG("CloneSession(%" PRIu64 ", skip_trace_filter=%d) started, consumer uid: %d", src_tsid, skip_trace_filter, static_cast(consumer->uid_)); @@ -4462,6 +4502,12 @@ base::Status TracingServiceImpl::FinishCloneSession( cloned_session->final_flush_outcome = final_flush_outcome ? TraceStats::FINAL_FLUSH_SUCCEEDED : TraceStats::FINAL_FLUSH_FAILED; + if (output_file_fd) { + cloned_session->write_into_file = std::move(output_file_fd); + cloned_session->write_period_ms = 0; + ReadBuffersIntoFile(cloned_session->id); + } + return base::OkStatus(); } @@ -4827,7 +4873,7 @@ void TracingServiceImpl::ConsumerEndpointImpl::CloneSession( base::Status result = service_->FlushAndCloneSession(this, std::move(args)); if (!result.ok()) { - consumer_->OnSessionCloned({false, result.message(), {}}); + consumer_->OnSessionCloned({false, result.message(), {}, false}); } } diff --git a/src/tracing/service/tracing_service_impl.h b/src/tracing/service/tracing_service_impl.h index 2f8076de655..fe4e9c5a942 100644 --- a/src/tracing/service/tracing_service_impl.h +++ b/src/tracing/service/tracing_service_impl.h @@ -508,6 +508,7 @@ class TracingServiceImpl : public TracingService { bool skip_trace_filter = false; std::optional clone_trigger; int64_t clone_started_timestamp_ns = 0; + base::ScopedFile output_file_fd; }; // Holds the state of a tracing session. A tracing session is uniquely bound @@ -871,7 +872,8 @@ class TracingServiceImpl : public TracingService { bool final_flush_outcome, std::optional clone_trigger, base::Uuid*, - int64_t clone_started_timestamp_ns); + int64_t clone_started_timestamp_ns, + base::ScopedFile output_file_fd); void OnFlushDoneForClone(TracingSessionID src_tsid, PendingCloneID clone_id, const std::set& buf_ids, diff --git a/src/tracing/service/tracing_service_impl_unittest.cc b/src/tracing/service/tracing_service_impl_unittest.cc index 2618b636933..1d94fe7a7f3 100644 --- a/src/tracing/service/tracing_service_impl_unittest.cc +++ b/src/tracing/service/tracing_service_impl_unittest.cc @@ -33,6 +33,7 @@ #include "perfetto/base/proc_utils.h" #include "perfetto/base/time.h" #include "perfetto/ext/base/file_utils.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/sys_types.h" @@ -142,6 +143,13 @@ MATCHER_P(HasTriggerMode, mode, "") { return HasTriggerModeInternal(arg, mode); } +MATCHER_P(HasLifecycleField, field, "") { + return ExplainMatchResult( + Contains(Property(&protos::gen::TracePacket::service_event, + Property(field, Eq(true)))), + arg, result_listener); +} + MATCHER_P(LowerCase, m, "Lower case " + testing::DescribeMatcher(m, negation)) { @@ -206,6 +214,27 @@ std::vector GetReceivedTriggers( return triggers; } +std::vector GetForTestingStrings( + const std::vector& trace) { + std::vector strings; + for (const protos::gen::TracePacket& packet : trace) { + if (packet.has_for_testing()) { + strings.push_back(packet.for_testing().str()); + } + } + return strings; +} + +bool ParseNotEmptyTraceFromFile(base::TempFile& trace_file, + protos::gen::Trace& out) { + std::string trace_str; + if (!base::ReadFile(trace_file.path(), &trace_str)) + return false; + if (trace_str.empty()) + return false; + return out.ParseFromString(trace_str); +} + class MockClock : public tracing_service::Clock { public: ~MockClock() override = default; @@ -2250,6 +2279,374 @@ TEST_F(TracingServiceImplTest, WriteIntoFileWithPath) { Property(&protos::gen::TestEvent::str, Eq("payload"))))); } +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionBeforeWrite) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + auto write_into_file_session_file = base::TempFile::Create(); + auto cloned_session_file = base::TempFile::Create(); + + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(100000); // 100s + + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + // Don't flush, keep data in the producer buffer. + + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // Assert that clone doesn't trigger 'write_into_file' session to write it + // buffers to file. + ASSERT_EQ(base::GetFileSize(write_into_file_session_file.path()).value_or(-1), + 0ul); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + // Verify the content of the cloned session output file. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1")); + } + + // Write more data to the 'write_into_file' session after the clone. + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #2"); + } + writer->Flush(); + writer.reset(); + + consumer->DisableTracing(); + producer->WaitForDataSourceStop("data_source"); + consumer->WaitForTracingDisabled(); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } +} + +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionAfterWrite) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + auto write_into_file_session_file = base::TempFile::Create(); + auto cloned_session_file = base::TempFile::Create(); + + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(100000); // 100s + + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + writer->Flush(); + + // Advance timer, traced should write the data to the 'write_into_file' + // session output file. + AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); + + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #2"); + } + writer->Flush(); + + // At this moment we have only 'payload #1' written into file. + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1")); + } + + // Now do the clone, cloned session should contains data both from the + // 'write_into_file' session output file and the session buffers. + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + // Verify the content of the cloned session output file. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } + clone_consumer->FreeBuffers(); + + writer.reset(); + consumer->DisableTracing(); + producer->WaitForDataSourceStop("data_source"); + consumer->WaitForTracingDisabled(); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } +} + +// In this test we check that all the lifecycle events that we expect to have in +// the regular clone session are also present in the cloned 'write_into_file' +// session. This is test is needed, because we have a slightly different code +// path when we clone the 'write_into_file' session. +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionLifecycleEvents) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + using TracingServiceEvent = protos::gen::TracingServiceEvent; + std::unique_ptr producer; + std::unique_ptr consumer; + std::unique_ptr clone_consumer; + std::unique_ptr writer; + + base::TempFile write_into_file_session_file = base::TempFile::Create(); + base::TempFile cloned_session_file = base::TempFile::Create(); + + auto create_trace_config_fn = []() { + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + return trace_config; + }; + + auto clone_session_fn = [&](base::ScopedFile clone_fd = base::ScopedFile()) { + static int i = 0; + auto checkpoint_name = "on_clone_done_" + std::to_string(i++); + auto clone_done = task_runner.CreateCheckpoint(checkpoint_name); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = std::move(clone_fd); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint(checkpoint_name); + }; + + auto shutdown_producer_and_consumers_fn = [&]() { + writer.reset(); + clone_consumer->FreeBuffers(); + consumer->FreeBuffers(); + producer->WaitForDataSourceStop("data_source"); + clone_consumer.reset(); + consumer.reset(); + producer.reset(); + }; + + auto assert_packets_fn = + [&](const std::vector& packets) { + EXPECT_THAT(GetForTestingStrings(packets), ElementsAre("payload")); + EXPECT_THAT(packets, Contains(Property( + &protos::gen::TracePacket::has_trace_config, + Eq(true)))); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::tracing_started)); + EXPECT_THAT( + packets, + HasLifecycleField(&TracingServiceEvent::all_data_sources_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::clone_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::flush_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::has_buffer_cloned)); + EXPECT_THAT( + packets, + Contains(Property( + &protos::gen::TracePacket::trace_stats, + Property(&protos::gen::TraceStats::final_flush_outcome, + Eq(protos::gen::TraceStats::FINAL_FLUSH_SUCCEEDED))))); + }; + + // Clone the regular session. + { + producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + TraceConfig trace_config = create_trace_config_fn(); + consumer->EnableTracing(trace_config); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + writer = producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + + clone_session_fn(); + + const auto& packets = clone_consumer->ReadBuffers(); + assert_packets_fn(packets); + + shutdown_producer_and_consumers_fn(); + } + + // Clone the 'write_into_file' session. + { + producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer_1"); + producer->RegisterDataSource("data_source"); + + consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + TraceConfig trace_config = create_trace_config_fn(); + trace_config.set_write_into_file(true); + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + writer = producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + + clone_session_fn(base::ScopedFile(dup(cloned_session_file.fd()))); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + { + // Verify the content of the cloned session output file. + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + assert_packets_fn(trace.packet()); + } + + shutdown_producer_and_consumers_fn(); + { + // Just in case, also verify that 'write_into_file' session write the + // payload to the file when stopped. + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), ElementsAre("payload")); + } + } +} + TEST_F(TracingServiceImplTest, WriteIntoFileFilterMultipleChunks) { static const size_t kNumTestPackets = 5; static const size_t kPayloadSize = 500 * 1024UL; @@ -5677,7 +6074,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args; args.unique_session_name = "my_unique_session_name"; - consumer2->endpoint()->CloneSession(args); + consumer2->endpoint()->CloneSession(std::move(args)); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -5722,7 +6119,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_f; args_f.unique_session_name = "my_unique_session_name"; - consumer3->endpoint()->CloneSession(args_f); + consumer3->endpoint()->CloneSession(std::move(args_f)); task_runner.RunUntilCheckpoint("clone_failed"); // But it should be possible to clone that by id. @@ -5734,7 +6131,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_s; args_s.tsid = GetLastTracingSessionId(consumer3.get()); - consumer3->endpoint()->CloneSession(args_s); + consumer3->endpoint()->CloneSession(std::move(args_s)); task_runner.RunUntilCheckpoint("clone_success"); } } @@ -5833,7 +6230,7 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { args.clone_trigger_trusted_producer_uid = kCloneTriggerProducerUid; args.clone_trigger_boot_time_ns = kCloneTriggerTimestamp; args.clone_trigger_delay_ms = kCloneTriggerDelayMs; - consumer2->endpoint()->CloneSession(args); + consumer2->endpoint()->CloneSession(std::move(args)); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -5884,6 +6281,62 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { &protos::gen::TracePacket::has_clone_snapshot_trigger, Eq(true))))); } +TEST_F(TracingServiceImplTest, CloneWithFileDescriptorNoWriteIntoFile) { + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + + consumer->EnableTracing(trace_config); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + writer->Flush(); + + base::TempFile cloned_session_file = base::TempFile::Create(); + + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // Assert traced doesn't write buffers to the file descriptor if session to + // clone is not the 'write_into_file' session. + EXPECT_EQ(base::GetFileSize(cloned_session_file.path()).value_or(-1), 0ul); + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_THAT(GetForTestingStrings(clone_consumer_buffers), + ElementsAre("payload")); + + auto consumer_buffers = consumer->ReadBuffers(); + EXPECT_THAT(GetForTestingStrings(consumer_buffers), ElementsAre("payload")); +} + TEST_F(TracingServiceImplTest, InvalidBufferSizes) { std::unique_ptr consumer = CreateMockConsumer(); consumer->Connect(svc.get()); diff --git a/src/tracing/test/mock_consumer.cc b/src/tracing/test/mock_consumer.cc index 3446de6bfac..4399a9bfb31 100644 --- a/src/tracing/test/mock_consumer.cc +++ b/src/tracing/test/mock_consumer.cc @@ -80,7 +80,7 @@ void MockConsumer::FreeBuffers() { void MockConsumer::CloneSession(TracingSessionID tsid) { ConsumerEndpoint::CloneSessionArgs args; args.tsid = tsid; - service_endpoint_->CloneSession(args); + service_endpoint_->CloneSession(std::move(args)); } void MockConsumer::WaitForTracingDisabledWithError( diff --git a/test/cmdline_integrationtest.cc b/test/cmdline_integrationtest.cc index 4a03c559ba3..cce59d2aa0d 100644 --- a/test/cmdline_integrationtest.cc +++ b/test/cmdline_integrationtest.cc @@ -20,6 +20,7 @@ #include "perfetto/base/build_config.h" #include "perfetto/base/logging.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/utils.h" @@ -1130,6 +1131,87 @@ TEST_F(PerfettoCmdlineTest, CloneByName) { ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); } +TEST_F(PerfettoCmdlineTest, CloneWriteIntoFileSession) { + protos::gen::TraceConfig trace_config = + CreateTraceConfigForTest(kTestMessageCount, kTestMessageSize); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(10); + trace_config.set_unique_session_name("my_session_name"); + + const std::string write_into_file_path = RandomTraceFileName(); + ScopedFileRemove remove_on_test_exit(write_into_file_path); + auto perfetto_proc = ExecPerfetto( + { + "-o", + write_into_file_path, + "-c", + "-", + }, + trace_config.SerializeAsString()); + + const std::string cloned_file_path = RandomTraceFileName(); + ScopedFileRemove remove_on_test_exit_1(cloned_file_path); + auto clone_proc = ExecPerfetto( + {"--out", cloned_file_path, "--clone-by-name", "my_session_name"}); + + StartServiceIfRequiredNoNewExecsAfterThis(); + + auto* fake_producer = test_helper().ConnectFakeProducer(); + EXPECT_TRUE(fake_producer); + + std::thread background_trace([&perfetto_proc]() { + std::string stderr_str; + EXPECT_EQ(0, perfetto_proc.Run(&stderr_str)) << stderr_str; + }); + + test_helper().WaitForProducerEnabled(); + auto on_data_written = task_runner_.CreateCheckpoint("data_written"); + fake_producer->ProduceEventBatch(test_helper().WrapTask(on_data_written)); + task_runner_.RunUntilCheckpoint("data_written"); + + // Wait until all the data for the 'write_into_file' session is written into + // file. + bool write_into_file_data_ready = false; + for (int i = 0; i < 100; i++) { + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + protos::gen::Trace trace; + if (!ParseNotEmptyTraceFromFile(write_into_file_path, trace)) { + continue; + } + ssize_t test_packets_count = + std::count_if(trace.packet().begin(), trace.packet().end(), + [](const protos::gen::TracePacket& tp) { + return tp.has_for_testing(); + }); + if (test_packets_count == kTestMessageCount) { + write_into_file_data_ready = true; + break; + } + } + ASSERT_TRUE(write_into_file_data_ready); + + // Now we clone the session. + std::string stderr_str; + EXPECT_EQ(0, clone_proc.Run(&stderr_str)) << stderr_str; + + perfetto_proc.SendSigterm(); + background_trace.join(); + // And now we assert that both original 'write_into_file' and the cloned + // session have the same events. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(write_into_file_path, trace)); + ExpectTraceContainsTestMessages(trace, kTestMessageCount); + ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); + } + { + protos::gen::Trace cloned_trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_file_path, cloned_trace)); + ExpectTraceContainsTestMessages(cloned_trace, kTestMessageCount); + ExpectTraceContainsTestMessagesWithSize(cloned_trace, kTestMessageSize); + } +} + // Regression test for b/279753347: --save-for-bugreport would create an empty // file if no session with bugreport_score was active. TEST_F(PerfettoCmdlineTest, UnavailableBugreportLeavesNoEmptyFiles) { From 3f60505581e6a0cb81614b15eb049bea680996d2 Mon Sep 17 00:00:00 2001 From: gignat-dev Date: Tue, 7 Oct 2025 14:25:55 +0000 Subject: [PATCH 020/370] Android Java SDK: Allow user-specified IDs for named tracks (#3083) This change modifies the Perfetto Java SDK to enable users to provide their own identifiers when using/creating named tracks. Previously, named track IDs were generated internally using a static auto-incrementing counter, offering no control to the API user. The following changes are included: - Removed the static AtomicLong sNamedTrackId from PerfettoTrackEventExtra. - Modified the NamedTrack constructor in PerfettoTrackEventExtra to accept a user-provided long id. - Updated PerfettoTrackEventBuilder methods (usingNamedTrack, usingProcessNamedTrack, usingThreadNamedTrack) to accept a long id parameter and propagate it to the NamedTrack constructor. This allows for more flexible track management. Test: bazelisk test //:src_android_sdk_java_test_perfetto_trace_instrumentation_test --- .../dev/perfetto/sdk/PerfettoTrackEventBuilder.java | 12 ++++++------ .../dev/perfetto/sdk/PerfettoTrackEventExtra.java | 8 ++++---- .../dev/perfetto/sdk/test/PerfettoTraceTest.java | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventBuilder.java b/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventBuilder.java index b6d65ef95df..fe09b4e4d01 100644 --- a/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventBuilder.java +++ b/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventBuilder.java @@ -386,7 +386,7 @@ public PerfettoTrackEventBuilder setTerminatingFlow(long id) { } /** Adds the events to a named track instead of the thread track where the event occurred. */ - public PerfettoTrackEventBuilder usingNamedTrack(long parentUuid, String name) { + public PerfettoTrackEventBuilder usingNamedTrack(long id, String name, long parentUuid) { if (!mIsCategoryEnabled) { return this; } @@ -396,7 +396,7 @@ public PerfettoTrackEventBuilder usingNamedTrack(long parentUuid, String name) { NamedTrack track = mObjectsCache.mNamedTrackCache.get(name.hashCode()); if (track == null || !track.getName().equals(name)) { - track = new NamedTrack(name, parentUuid, mNativeMemoryCleaner); + track = new NamedTrack(id, name, parentUuid, mNativeMemoryCleaner); mObjectsCache.mNamedTrackCache.put(name.hashCode(), track); } addPerfettoPointerToExtra(track); @@ -407,22 +407,22 @@ public PerfettoTrackEventBuilder usingNamedTrack(long parentUuid, String name) { * Adds the events to a process scoped named track instead of the thread track where the event * occurred. */ - public PerfettoTrackEventBuilder usingProcessNamedTrack(String name) { + public PerfettoTrackEventBuilder usingProcessNamedTrack(long id, String name) { if (!mIsCategoryEnabled) { return this; } - return usingNamedTrack(PerfettoTrace.getProcessTrackUuid(), name); + return usingNamedTrack(id, name, PerfettoTrace.getProcessTrackUuid()); } /** * Adds the events to a thread scoped named track instead of the thread track where the event * occurred. */ - public PerfettoTrackEventBuilder usingThreadNamedTrack(long tid, String name) { + public PerfettoTrackEventBuilder usingThreadNamedTrack(long id, String name, long tid) { if (!mIsCategoryEnabled) { return this; } - return usingNamedTrack(PerfettoTrace.getThreadTrackUuid(tid), name); + return usingNamedTrack(id, name, PerfettoTrace.getThreadTrackUuid(tid)); } /** Adds the events to a counter track instead. This is required for setting counter values. */ diff --git a/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventExtra.java b/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventExtra.java index 1e14be30f47..6b2dc879da1 100644 --- a/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventExtra.java +++ b/src/android_sdk/java/main/dev/perfetto/sdk/PerfettoTrackEventExtra.java @@ -26,8 +26,6 @@ * @hide */ final class PerfettoTrackEventExtra { - private static final AtomicLong sNamedTrackId = new AtomicLong(); - private final long mPtr; PerfettoTrackEventExtra(PerfettoNativeMemoryCleaner memoryCleaner) { @@ -120,11 +118,13 @@ static final class NamedTrack implements PerfettoPointer { private final long mPtr; private final long mExtraPtr; private final String mName; + private final long mId; - NamedTrack(String name, long parentUuid, PerfettoNativeMemoryCleaner memoryCleaner) { - mPtr = native_init(sNamedTrackId.incrementAndGet(), name, parentUuid); + NamedTrack(long id, String name, long parentUuid, PerfettoNativeMemoryCleaner memoryCleaner) { + mPtr = native_init(id, name, parentUuid); mExtraPtr = native_get_extra_ptr(mPtr); mName = name; + mId = id; memoryCleaner.registerNativeAllocation(this, mPtr, native_delete()); } diff --git a/src/android_sdk/java/test/dev/perfetto/sdk/test/PerfettoTraceTest.java b/src/android_sdk/java/test/dev/perfetto/sdk/test/PerfettoTraceTest.java index 146ad9005d9..c5a78f72386 100644 --- a/src/android_sdk/java/test/dev/perfetto/sdk/test/PerfettoTraceTest.java +++ b/src/android_sdk/java/test/dev/perfetto/sdk/test/PerfettoTraceTest.java @@ -211,11 +211,11 @@ public void testNamedTrack() throws Exception { PerfettoTrace.Session session = new PerfettoTrace.Session(true, traceConfig.toByteArray()); PerfettoTrace.begin(FOO_CATEGORY, "event") - .usingNamedTrack(PerfettoTrace.getProcessTrackUuid(), FOO) + .usingNamedTrack(123, FOO, PerfettoTrace.getProcessTrackUuid()) .emit(); PerfettoTrace.end(FOO_CATEGORY) - .usingNamedTrack(PerfettoTrace.getThreadTrackUuid(Process.myTid()), "bar") + .usingNamedTrack(456, "bar", PerfettoTrace.getThreadTrackUuid(Process.myTid())) .emit(); Trace trace = Trace.parseFrom(session.close()); @@ -254,9 +254,9 @@ public void testProcessThreadNamedTrack() throws Exception { PerfettoTrace.Session session = new PerfettoTrace.Session(true, traceConfig.toByteArray()); - PerfettoTrace.begin(FOO_CATEGORY, "event").usingProcessNamedTrack(FOO).emit(); + PerfettoTrace.begin(FOO_CATEGORY, "event").usingProcessNamedTrack(123, FOO).emit(); - PerfettoTrace.end(FOO_CATEGORY).usingThreadNamedTrack(Process.myTid(), "bar").emit(); + PerfettoTrace.end(FOO_CATEGORY).usingThreadNamedTrack(456, "bar", Process.myTid()).emit(); Trace trace = Trace.parseFrom(session.close()); From 298e9ac03d0eb6b109f613bd3363996bc98fdc99 Mon Sep 17 00:00:00 2001 From: Priyanka <57577698+PriyankaSPX@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:46:52 +0100 Subject: [PATCH 021/370] tp: Use recursive solution for SF layer traversal. (#3196) Bug: 312910010 Test: tools/ninja -C out/linux_clang_debug perfetto_unittests && out/linux_clang_debug/perfetto_unittests --gtest_filter=Sf* Test: tools/diff_test_trace_processor.py out/linux_clang_debug/trace_processor_shell --name-filter="PerfettoTable:winscope|SurfaceFlinger" --- .../surfaceflinger_layers_extractor.cc | 92 +++++++++---------- ...urfaceflinger_layers_extractor_unittest.cc | 4 +- 2 files changed, 44 insertions(+), 52 deletions(-) diff --git a/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor.cc b/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor.cc index 71c1e54e6cc..34a9a7ca444 100644 --- a/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor.cc +++ b/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor.cc @@ -17,17 +17,15 @@ #include "src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor.h" #include -#include #include #include "src/trace_processor/importers/proto/winscope/surfaceflinger_layers_utils.h" namespace perfetto::trace_processor::winscope::surfaceflinger_layers { namespace { -enum ProcessingStage { VisitChildren, Add }; -// When z-order is the same, we sort such that the layer with the layer id -// is drawn on top. +// Sorts in ascending order. When z-order is the same, we sort such that the +// layer with the greater layer id is drawn on top. void SortByZThenLayerId( std::vector& layer_ids, const std::unordered_map& layers_by_id) { @@ -35,68 +33,62 @@ void SortByZThenLayerId( [&layers_by_id](int32_t a, int32_t b) { const auto& layer_a = layers_by_id.at(a); const auto& layer_b = layers_by_id.at(b); - return std::make_tuple(layer_a.z(), layer_a.id()) > + return std::make_tuple(layer_a.z(), layer_a.id()) < std::make_tuple(layer_b.z(), layer_b.id()); }); } -// We work with layer ids to enable sorting and copying, as LayerDecoder can -// only be moved. -std::vector ExtractLayersByZOrder( - std::vector& root_layer_ids, +// Extract layers bottom-to-top according to layer drawing order from +// /frameworks/native/services/surfaceflinger/FrontEnd/readme.md. +void ExtractBottomToTop( + int32_t node_id, std::unordered_map>& child_ids_by_z_parent, - std::unordered_map& layers_by_id) { - SortByZThenLayerId(root_layer_ids, layers_by_id); - - std::vector layer_ids_top_to_bottom; - - std::vector> processing_queue; - for (auto it = root_layer_ids.rbegin(); it != root_layer_ids.rend(); ++it) { - processing_queue.emplace_back(*it, ProcessingStage::VisitChildren); + std::unordered_map& layers_by_id, + std::vector& layer_ids_bottom_to_top) { + std::vector child_ids; + auto pos = child_ids_by_z_parent.find(node_id); + if (pos != child_ids_by_z_parent.end()) { + child_ids = pos->second; + SortByZThenLayerId(child_ids, layers_by_id); } - while (!processing_queue.empty()) { - const auto curr = processing_queue.back(); - processing_queue.pop_back(); + for (auto it = child_ids.begin(); it != child_ids.end(); ++it) { + const LayerDecoder& child_layer = layers_by_id.at(*it); + if (child_layer.z() < 0) { + ExtractBottomToTop(*it, child_ids_by_z_parent, layers_by_id, + layer_ids_bottom_to_top); + } + } - int32_t curr_layer_id = curr.first; - const LayerDecoder& curr_layer = layers_by_id.at(curr_layer_id); + layer_ids_bottom_to_top.emplace_back(node_id); - std::vector curr_child_ids; - auto pos = child_ids_by_z_parent.find(curr_layer_id); - if (pos != child_ids_by_z_parent.end()) { - curr_child_ids = pos->second; - SortByZThenLayerId(curr_child_ids, layers_by_id); + for (auto it = child_ids.begin(); it != child_ids.end(); ++it) { + const LayerDecoder& child_layer = layers_by_id.at(*it); + if (child_layer.z() >= 0) { + ExtractBottomToTop(*it, child_ids_by_z_parent, layers_by_id, + layer_ids_bottom_to_top); } + } +} - int32_t current_z = curr_layer.z(); +// We work with layer ids to enable sorting and copying, as LayerDecoder can +// only be moved. +std::vector ExtractLayersByZOrder( + std::vector& root_layer_ids, + std::unordered_map>& child_ids_by_z_parent, + std::unordered_map& layers_by_id) { + SortByZThenLayerId(root_layer_ids, layers_by_id); - if (curr.second == ProcessingStage::VisitChildren) { - processing_queue.emplace_back(curr_layer_id, ProcessingStage::Add); + std::vector layer_ids_bottom_to_top; - for (auto it = curr_child_ids.rbegin(); it != curr_child_ids.rend(); - ++it) { - const LayerDecoder& child_layer = layers_by_id.at(*it); - if (child_layer.z() >= current_z) { - processing_queue.emplace_back(*it, ProcessingStage::VisitChildren); - } - } - } else { - layer_ids_top_to_bottom.emplace_back(curr_layer_id); - - for (auto it = curr_child_ids.rbegin(); it != curr_child_ids.rend(); - ++it) { - const LayerDecoder& child_layer = layers_by_id.at(*it); - if (child_layer.z() < current_z) { - processing_queue.emplace_back(*it, ProcessingStage::VisitChildren); - } - } - } + for (auto it = root_layer_ids.begin(); it != root_layer_ids.end(); it++) { + ExtractBottomToTop(*it, child_ids_by_z_parent, layers_by_id, + layer_ids_bottom_to_top); } + std::reverse(layer_ids_bottom_to_top.begin(), layer_ids_bottom_to_top.end()); std::vector layers_top_to_bottom; - layers_top_to_bottom.reserve(layer_ids_top_to_bottom.size()); - for (int32_t id : layer_ids_top_to_bottom) { + for (int32_t id : layer_ids_bottom_to_top) { layers_top_to_bottom.emplace_back(std::move(layers_by_id.at(id))); } return layers_top_to_bottom; diff --git a/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor_unittest.cc b/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor_unittest.cc index 7fd97eb770a..9cc5f152e6f 100644 --- a/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor_unittest.cc +++ b/src/trace_processor/importers/proto/winscope/surfaceflinger_layers_extractor_unittest.cc @@ -100,7 +100,7 @@ TEST(SfLayersExtractLayersTopToBottom, HandlesRelativeLayers) { .AddLayer(Layer().SetZ(1)) .AddLayer(Layer().SetZ(0).SetZOrderRelativeOf(1)) .Build(); - CheckExtractionTopToBottom(snapshot, {3, 2, 1, 4}); + CheckExtractionTopToBottom(snapshot, {3, 2, 4, 1}); } TEST(SfLayersExtractLayersTopToBottom, HandlesNegativeZValues) { @@ -109,7 +109,7 @@ TEST(SfLayersExtractLayersTopToBottom, HandlesNegativeZValues) { .AddLayer(Layer().SetZ(0).SetParent(1)) .AddLayer(Layer().SetZ(-5)) .Build(); - CheckExtractionTopToBottom(snapshot, {1, 2, 3}); + CheckExtractionTopToBottom(snapshot, {2, 1, 3}); } TEST(SfLayersExtractLayersTopToBottom, LayerIdFallback) { From fb5031f479c9ef8410b23fc98961232c6781df6c Mon Sep 17 00:00:00 2001 From: "copybara-service[bot]" <56741989+copybara-service[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:17:44 +0000 Subject: [PATCH 022/370] Copybara import from Chromium: proto and stdlib changes Copybara import from Chromium: proto and stdlib changes - 48d5d495d6a8c5478f7b86632ec3b6e5ff381541 Sync feature protos. by Googler COPYBARA_IMPORT=Project import generated by Copybara. GitOrigin-RevId: 48d5d495d6a8c5478f7b86632ec3b6e5ff381541 --- .../optimization_guide/actions_data.proto | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/protos/third_party/chromium/optimization_guide/actions_data.proto b/protos/third_party/chromium/optimization_guide/actions_data.proto index 71f93d4395b..f2712b4e897 100644 --- a/protos/third_party/chromium/optimization_guide/actions_data.proto +++ b/protos/third_party/chromium/optimization_guide/actions_data.proto @@ -360,8 +360,25 @@ message Action { } } +// Container for any type of metadata that is associated with a task. +// Next ID: 2 +message TaskMetadata { + SecurityMetadata security = 1 [features = { field_presence: EXPLICIT }]; +} + +// Metadata related to action security. +// Next ID: 2 +message SecurityMetadata { + // If the server predicted that new mainframe origins may be navigated to as a + // result of the current task turn, those are given here. + // + // These origins, if any, are added to the set of all writeable origins kept + // by the Chrome browser process. + repeated string added_writable_mainframe_origins = 1; +} + // A single set of actions to be taken by Chrome. The response is ActionsResult. -// Next ID: 4 +// Next ID: 5 message Actions { // The actions to be taken by Chrome. repeated Action actions = 1; @@ -376,6 +393,9 @@ message Actions { // We may want more sophisticated control over which observations are // collected in the future. bool skip_async_observation_collection = 3 [features = { field_presence: EXPLICIT }]; + + // Metadata that is associated with a task. + TaskMetadata task_metadata = 4 [features = { field_presence: EXPLICIT }]; } // Information about a chrome window. From 8ccd2e2b296b06f2c7b29ddf3bdeaa4ed84012e7 Mon Sep 17 00:00:00 2001 From: gignat-dev Date: Tue, 7 Oct 2025 18:13:24 +0000 Subject: [PATCH 023/370] stdlib: Enhance thread creation spam analysis functions (#3199) - Renamed `_android_thread_creation_spam` to `_android_thread_creation_spam_per_thread`. - Corrected the duration parameter name from `min_thread_dur` to `max_thread_dur` to accurately reflect that it filters for threads lasting *at most* the given duration. - Fixed the window function partition in `_android_thread_creation_spam_per_thread` to use the standardized thread name prefix, ensuring bursts of similarly named threads are counted together. - Changed output column from `pid` to `upid`. - Added a new function `_android_thread_creation_spam_per_process` to analyze creation bursts aggregated at the process level only. - Updated tests to match function signature changes and added tests for the new `_android_thread_creation_spam_per_process` function. Test: tools/diff_test_trace_processor.py out/linux_clang_release/trace_processor_shell --name-filter '.\*thread_creation_spam.\*' --- .../perfetto_sql/stdlib/android/thread.sql | 71 ++++++++++++--- .../diff_tests/stdlib/android/tests.py | 86 +++++++++++++------ 2 files changed, 117 insertions(+), 40 deletions(-) diff --git a/src/trace_processor/perfetto_sql/stdlib/android/thread.sql b/src/trace_processor/perfetto_sql/stdlib/android/thread.sql index 34b0cb0b25d..3e07165287d 100644 --- a/src/trace_processor/perfetto_sql/stdlib/android/thread.sql +++ b/src/trace_processor/perfetto_sql/stdlib/android/thread.sql @@ -47,11 +47,11 @@ SELECT ) END; --- Per process stats of threads created in a process -CREATE PERFETTO FUNCTION _android_thread_creation_spam( - -- Minimum duration between creating and destroying a thread before their the +-- Per stats of threads created in a process +CREATE PERFETTO FUNCTION _android_thread_creation_spam_per_thread( + -- Maximum duration between creating and destroying a thread before their the -- thread creation event is considered. If NULL, considers all thread creations. - min_thread_dur DOUBLE, + max_thread_dur DOUBLE, -- Sliding window duration for counting the thread creations. Each window -- starts at the first thread creation per . sliding_window_dur DOUBLE @@ -59,8 +59,8 @@ CREATE PERFETTO FUNCTION _android_thread_creation_spam( RETURNS TABLE ( -- Process name creating threads. process_name STRING, - -- Process pid creating threads. - pid LONG, + -- Unique process pid creating threads. + upid JOINID(process.id), -- String prefix of thread names created. thread_name_prefix STRING, -- Max number of threads created within a time window. @@ -69,25 +69,24 @@ RETURNS TABLE ( WITH x AS ( SELECT - pid, upid, - android_standardize_thread_name(thread.name) AS thread_name_prefix, process.name AS process_name, - count(thread.start_ts) OVER (PARTITION BY upid, thread.name ORDER BY thread.start_ts RANGE BETWEEN CURRENT ROW AND cast_int!($sliding_window_dur) FOLLOWING) AS count + android_standardize_thread_name(thread.name) AS thread_name_prefix, + count(thread.start_ts) OVER (PARTITION BY upid, android_standardize_thread_name(thread.name) ORDER BY thread.start_ts RANGE BETWEEN CURRENT ROW AND cast_int!($sliding_window_dur) FOLLOWING) AS count FROM thread JOIN process USING (upid) WHERE ( - $min_thread_dur AND ( + $max_thread_dur AND ( thread.end_ts - thread.start_ts - ) <= $min_thread_dur + ) <= $max_thread_dur ) - OR $min_thread_dur IS NULL + OR $max_thread_dur IS NULL ) SELECT process_name, - pid, + upid, thread_name_prefix, max(count) AS max_count_per_sec FROM x @@ -98,3 +97,49 @@ HAVING max_count_per_sec > 0 ORDER BY count DESC; + +-- Per process stats of threads created in a process +CREATE PERFETTO FUNCTION _android_thread_creation_spam_per_process( + -- Maximum duration between creating and destroying a thread before their + -- thread creation event is considered. If NULL, considers all thread creations. + max_thread_dur DOUBLE, + -- Sliding window duration for counting the thread creations. Each window + -- starts at the first thread creation per . + sliding_window_dur DOUBLE +) +RETURNS TABLE ( + -- Process name creating threads. + process_name STRING, + -- Unique process pid creating threads. + upid JOINID(process.id), + -- Max number of threads created within a time window. + max_count_per_sec LONG +) AS +WITH + x AS ( + SELECT + upid, + process.name AS process_name, + count(thread.start_ts) OVER (PARTITION BY upid ORDER BY thread.start_ts RANGE BETWEEN CURRENT ROW AND cast_int!($sliding_window_dur) FOLLOWING) AS count + FROM thread + JOIN process + USING (upid) + WHERE + ( + $max_thread_dur AND ( + thread.end_ts - thread.start_ts + ) <= $max_thread_dur + ) + OR $max_thread_dur IS NULL + ) +SELECT + process_name, + upid, + max(count) AS max_count_per_sec +FROM x +GROUP BY + upid +HAVING + max_count_per_sec > 0 +ORDER BY + count DESC; diff --git a/test/trace_processor/diff_tests/stdlib/android/tests.py b/test/trace_processor/diff_tests/stdlib/android/tests.py index 5cb6ee01fc3..5096f3c5611 100644 --- a/test/trace_processor/diff_tests/stdlib/android/tests.py +++ b/test/trace_processor/diff_tests/stdlib/android/tests.py @@ -446,39 +446,71 @@ def test_monitor_contention_graph(self): fg:android.os.MessageQueue.next (0x0) """)) - def test_thread_creation_spam(self): + def test_thread_creation_spam_per_thread(self): return DiffTestBlueprint( trace=DataPath('android_monitor_contention_trace.atr'), query=""" INCLUDE PERFETTO MODULE android.thread; - SELECT * FROM _android_thread_creation_spam(1e9, 1e9); + SELECT * FROM _android_thread_creation_spam_per_thread(1e9, 1e9); """, out=Csv(""" - "process_name","pid","thread_name_prefix","max_count_per_sec" - "com.android.providers.media.module",3487,"SharedPreferenc",3 - "com.android.providers.media.module",3487,"MediaCodec_loop",2 - "/apex/com.android.adbd/bin/adbd",527,"shell",1 - "media.swcodec",563,"id.hevc.decoder",1 - "system_server",642,"Thread",1 - "sh",3474,"sh",1 - "sh",3476,"sh",1 - "sh",3478,"sh",1 - "am",3480,"am",1 - "cmd",3482,"binder",1 - "cmd",3482,"cmd",1 - "com.android.providers.media.module",3487,"CodecLooper",1 - "sh",3517,"sh",1 - "sgdisk",3521,"sgdisk",1 - "blkid",3523,"blkid",1 - "binder:243_4",3524,"binder",1 - "fsck_msdos",3525,"fsck_msdos",1 - "binder:243_4",3526,"binder",1 - "sh",3532,"sh",1 - "cut",3534,"cut",1 - "sh",3536,"sh",1 - "sh",3544,"sh",1 - "sh",3546,"sh",1 - "sh",3564,"sh",1 + "process_name","upid","thread_name_prefix","max_count_per_sec" + "/apex/com.android.adbd/bin/adbd",230,"shell",3 + "com.android.providers.media.module",303,"SharedPreferenc",3 + "cmd",302,"binder",2 + "com.android.providers.media.module",303,"MediaCodec_loop",2 + "media.swcodec",244,"id.hevc.decoder",1 + "system_server",250,"Thread",1 + "sh",298,"sh",1 + "sh",299,"sh",1 + "sh",300,"sh",1 + "am",301,"am",1 + "cmd",302,"cmd",1 + "com.android.providers.media.module",303,"CodecLooper",1 + "sh",304,"sh",1 + "sgdisk",305,"sgdisk",1 + "blkid",306,"blkid",1 + "binder:243_4",307,"binder",1 + "fsck_msdos",308,"fsck_msdos",1 + "binder:243_4",309,"binder",1 + "sh",310,"sh",1 + "cut",311,"cut",1 + "sh",312,"sh",1 + "sh",313,"sh",1 + "sh",314,"sh",1 + "sh",316,"sh",1 + """)) + + def test_thread_creation_spam_per_process(self): + return DiffTestBlueprint( + trace=DataPath('android_monitor_contention_trace.atr'), + query=""" + INCLUDE PERFETTO MODULE android.thread; + SELECT * FROM _android_thread_creation_spam_per_process(1e9, 1e9); + """, + out=Csv(""" + "process_name","upid","max_count_per_sec" + "com.android.providers.media.module",303,6 + "cmd",302,3 + "/apex/com.android.adbd/bin/adbd",230,3 + "sh",316,1 + "sh",314,1 + "sh",313,1 + "sh",312,1 + "cut",311,1 + "sh",310,1 + "binder:243_4",309,1 + "fsck_msdos",308,1 + "binder:243_4",307,1 + "blkid",306,1 + "sgdisk",305,1 + "sh",304,1 + "am",301,1 + "sh",300,1 + "sh",299,1 + "sh",298,1 + "system_server",250,1 + "media.swcodec",244,1 """)) def test_f2fs_counter_stats(self): From 7aac77d7e74b1ab961273dba1ff1a9be392b900d Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 10:25:04 +0100 Subject: [PATCH 024/370] ui: remove tooltip for trace name for copying (#3207) This was removed in https://github.com/google/perfetto/pull/2979 --- ui/src/frontend/sidebar.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/src/frontend/sidebar.ts b/ui/src/frontend/sidebar.ts index afcaa6652a4..dca9f676829 100644 --- a/ui/src/frontend/sidebar.ts +++ b/ui/src/frontend/sidebar.ts @@ -588,7 +588,6 @@ function registerTraceMenuItems(trace: TraceImpl) { action: () => { // Do nothing (we need to supply an action to override the href). }, - tooltip: 'Click to copy the URL', cssClass: 'pf-sidebar__trace-file-name', }); trace.sidebar.addMenuItem({ From 880cbc5a88a6e5ab8e005d5ef2f58873b02228ea Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 11:02:13 +0100 Subject: [PATCH 025/370] ui: allow 2x enlarging of counter tracks (#3206) Fixes: https://github.com/google/perfetto/issues/3204 --- ui/src/components/tracks/base_counter_track.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ui/src/components/tracks/base_counter_track.ts b/ui/src/components/tracks/base_counter_track.ts index 8418e71d32e..2f19319b3e1 100644 --- a/ui/src/components/tracks/base_counter_track.ts +++ b/ui/src/components/tracks/base_counter_track.ts @@ -147,14 +147,15 @@ interface CounterTooltipState { tsEnd?: time; } -type ChartHeightSize = 1 | 4 | 8 | 16 | 32; +type ChartHeightSize = 1 | 2 | 4 | 8 | 16 | 32; const CHART_HEIGHT_LABELS: [string, ChartHeightSize][] = [ ['Small (1x)', 1], - ['Medium (4x)', 4], - ['Large (8x)', 8], - ['XLarge (16x)', 16], - ['XXLarge (32x)', 32], + ['Medium (2x)', 2], + ['Large (4x)', 4], + ['XLarge (8x)', 8], + ['XXLarge (16x)', 16], + ['XXXLarge (32x)', 32], ]; export interface CounterOptions { @@ -223,6 +224,7 @@ type YRangeRounding = z.infer; const chartHeightSizeSchema = z.union([ z.literal(1), + z.literal(2), z.literal(4), z.literal(8), z.literal(16), From 59879d60bd8eaa897cfa3e8d33708b6d272cb2d6 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 11:52:24 +0100 Subject: [PATCH 026/370] ui: roll canary (#3211) --- ui/release/channels.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/release/channels.json b/ui/release/channels.json index 693f5864637..d6f8d56763a 100644 --- a/ui/release/channels.json +++ b/ui/release/channels.json @@ -6,7 +6,7 @@ }, { "name": "canary", - "rev": "796f66d2b088b07e5caeab88655f18fe56cbdae3" + "rev": "446c15b2facf931a20cd6232c6f6cd9c5a7f989b" }, { "name": "autopush", From fd4ade59058ba1d7fdb501f7bee0642cf7073afa Mon Sep 17 00:00:00 2001 From: devianb Date: Wed, 8 Oct 2025 17:55:38 +0530 Subject: [PATCH 027/370] Revert "Add CUJ counters to stdlib. (#1992)" (#3212) This reverts commit 759bb60237d8060f376f3eb662ae0c57024493a9. Reason: 450204550 --- Android.bp | 1 - BUILD | 1 - .../sql/android/jank/internal/counters.sql | 83 +++++++++++-- .../perfetto_sql/stdlib/android/cujs/BUILD.gn | 5 +- .../android/cujs/sysui_cuj_counters.sql | 110 ------------------ 5 files changed, 73 insertions(+), 127 deletions(-) delete mode 100644 src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql diff --git a/Android.bp b/Android.bp index 2e8a57e990a..aa7fdfa2960 100644 --- a/Android.bp +++ b/Android.bp @@ -15136,7 +15136,6 @@ genrule { "src/trace_processor/perfetto_sql/stdlib/android/cpu/cluster_type.sql", "src/trace_processor/perfetto_sql/stdlib/android/cpu/cpu_per_uid.sql", "src/trace_processor/perfetto_sql/stdlib/android/critical_blocking_calls.sql", - "src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql", "src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cujs.sql", "src/trace_processor/perfetto_sql/stdlib/android/desktop_mode.sql", "src/trace_processor/perfetto_sql/stdlib/android/device.sql", diff --git a/BUILD b/BUILD index deb41400e77..c202d900be2 100644 --- a/BUILD +++ b/BUILD @@ -3013,7 +3013,6 @@ perfetto_filegroup( perfetto_filegroup( name = "src_trace_processor_perfetto_sql_stdlib_android_cujs_cujs", srcs = [ - "src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql", "src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cujs.sql", ], ) diff --git a/src/trace_processor/metrics/sql/android/jank/internal/counters.sql b/src/trace_processor/metrics/sql/android/jank/internal/counters.sql index 5040ec44d44..ad4243af5ee 100644 --- a/src/trace_processor/metrics/sql/android/jank/internal/counters.sql +++ b/src/trace_processor/metrics/sql/android/jank/internal/counters.sql @@ -12,8 +12,69 @@ -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -INCLUDE PERFETTO MODULE android.cujs.sysui_cuj_counters; -INCLUDE PERFETTO MODULE android.cujs.sysui_cujs; + +DROP TABLE IF EXISTS android_jank_cuj_counter; +CREATE PERFETTO TABLE android_jank_cuj_counter AS +WITH cuj_counter_track AS ( + SELECT DISTINCT + upid, + track.id AS track_id, + -- extract the CUJ name inside <> + STR_SPLIT(STR_SPLIT(track.name, '>#', 0), '<', 1) AS cuj_name, + -- take the name of the counter after # + STR_SPLIT(track.name, '#', 1) AS counter_name + FROM process_counter_track track + JOIN android_jank_cuj USING (upid) + WHERE track.name GLOB 'J<*>#*' +) +SELECT + ts, + upid, + cuj_name, + counter_name, + CAST(value AS INTEGER) AS value +FROM counter +JOIN cuj_counter_track ON counter.track_id = cuj_counter_track.track_id; + +CREATE OR REPLACE PERFETTO FUNCTION android_jank_cuj_counter_value(cuj_name STRING, + counter_name STRING, + ts_min INT, + ts_max INT) +RETURNS INT AS +SELECT value +FROM android_jank_cuj_counter +WHERE + cuj_name = $cuj_name + AND counter_name = $counter_name + AND ts >= $ts_min + AND ($ts_max IS NULL OR ts <= $ts_max) +ORDER BY ts ASC LIMIT 1; + +DROP TABLE IF EXISTS cuj_marker_missed_callback; +CREATE PERFETTO TABLE cuj_marker_missed_callback AS +SELECT + marker_track.name AS cuj_slice_name, + marker.ts, + marker.name AS marker_name +FROM slice marker +JOIN track marker_track on marker_track.id = marker.track_id +WHERE marker.name GLOB '*FT#Missed*'; + +CREATE OR REPLACE PERFETTO FUNCTION android_missed_vsyncs_for_callback( + cuj_slice_name STRING, + ts_min INT, + ts_max INT, + callback_missed STRING +) +RETURNS INT AS +SELECT IFNULL(SUM(marker_name GLOB $callback_missed), 0) +FROM cuj_marker_missed_callback +WHERE + cuj_slice_name = $cuj_slice_name + AND ts >= $ts_min + AND ($ts_max IS NULL OR ts <= $ts_max) +ORDER BY ts ASC +LIMIT 1; DROP TABLE IF EXISTS android_jank_cuj_counter_metrics; CREATE PERFETTO TABLE android_jank_cuj_counter_metrics AS @@ -35,20 +96,20 @@ WITH cujs_ordered AS ( ELSE MAX(ts, ts_end - 4000000) END AS ts_earliest_allowed_counter, LEAD(ts_end) OVER (PARTITION BY cuj_name ORDER BY ts_end ASC) AS ts_end_next_cuj - FROM android_sysui_jank_cujs + FROM android_jank_cuj ) SELECT cuj_id, cuj_name, upid, state, - _android_jank_cuj_counter_value(cuj_name, 'totalFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS total_frames, - _android_jank_cuj_counter_value(cuj_name, 'missedFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_frames, - _android_jank_cuj_counter_value(cuj_name, 'missedAppFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_app_frames, - _android_jank_cuj_counter_value(cuj_name, 'missedSfFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_sf_frames, - _android_jank_cuj_counter_value(cuj_name, 'maxSuccessiveMissedFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_frames_max_successive, + android_jank_cuj_counter_value(cuj_name, 'totalFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS total_frames, + android_jank_cuj_counter_value(cuj_name, 'missedFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_frames, + android_jank_cuj_counter_value(cuj_name, 'missedAppFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_app_frames, + android_jank_cuj_counter_value(cuj_name, 'missedSfFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_sf_frames, + android_jank_cuj_counter_value(cuj_name, 'maxSuccessiveMissedFrames', ts_earliest_allowed_counter, ts_end_next_cuj) AS missed_frames_max_successive, -- convert ms to nanos to align with the unit for `dur` in the other tables - _android_jank_cuj_counter_value(cuj_name, 'maxFrameTimeMillis', ts_earliest_allowed_counter, ts_end_next_cuj) * 1000000 AS frame_dur_max, - _android_cuj_missed_vsyncs_for_callback(cuj_slice_name, ts_earliest_allowed_counter, ts_end_next_cuj, '*SF*') AS sf_callback_missed_frames, - _android_cuj_missed_vsyncs_for_callback(cuj_slice_name, ts_earliest_allowed_counter, ts_end_next_cuj, '*HWUI*') AS hwui_callback_missed_frames + android_jank_cuj_counter_value(cuj_name, 'maxFrameTimeMillis', ts_earliest_allowed_counter, ts_end_next_cuj) * 1000000 AS frame_dur_max, + android_missed_vsyncs_for_callback(cuj_slice_name, ts_earliest_allowed_counter, ts_end_next_cuj, '*SF*') AS sf_callback_missed_frames, + android_missed_vsyncs_for_callback(cuj_slice_name, ts_earliest_allowed_counter, ts_end_next_cuj, '*HWUI*') AS hwui_callback_missed_frames FROM cujs_ordered cuj; diff --git a/src/trace_processor/perfetto_sql/stdlib/android/cujs/BUILD.gn b/src/trace_processor/perfetto_sql/stdlib/android/cujs/BUILD.gn index e7fc588eb16..97c28ab9176 100644 --- a/src/trace_processor/perfetto_sql/stdlib/android/cujs/BUILD.gn +++ b/src/trace_processor/perfetto_sql/stdlib/android/cujs/BUILD.gn @@ -15,8 +15,5 @@ import("../../../../../../gn/perfetto_sql.gni") perfetto_sql_source_set("cujs") { - sources = [ - "sysui_cuj_counters.sql", - "sysui_cujs.sql", - ] + sources = [ "sysui_cujs.sql" ] } diff --git a/src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql b/src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql deleted file mode 100644 index 6a5ac30594f..00000000000 --- a/src/trace_processor/perfetto_sql/stdlib/android/cujs/sysui_cuj_counters.sql +++ /dev/null @@ -1,110 +0,0 @@ --- --- Copyright 2025 The Android Open Source Project --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- https://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. - --- This module captures the various counter values associated with Jank CUJs. These counters can be --- missedFrames, missedSFFrames, missedCallbacks etc. These tables are beneficial while querying --- for jank related metrics. -INCLUDE PERFETTO MODULE android.cujs.sysui_cujs; - --- A missed callback in a perfetto trace means the ftrace was unable to capture callback events --- for an operation. For eg. a SFMissedCallback indicates that events related to surfaceflinger --- operations, such as vsync synchronization, transaction/presentation callbacks were not captured. --- This view captures all such missed callback slices. -CREATE PERFETTO VIEW _marker_missed_callback AS -SELECT - marker_track.name AS cuj_slice_name, - marker.ts, - marker.name AS marker_name -FROM slice AS marker -JOIN track AS marker_track - ON marker_track.id = marker.track_id -WHERE - marker.name GLOB '*FT#Missed*'; - --- Extract count of a given missed callback for a specific CUJ. -CREATE PERFETTO FUNCTION _android_cuj_missed_vsyncs_for_callback( - -- name of the cuj slice. - cuj_slice_name STRING, - -- Min timestamp after which the missed callback value should be considered. - ts_min TIMESTAMP, - -- Max timestamp before which the missed callback value should be considered. - ts_max TIMESTAMP, - -- missed callback. - callback_missed STRING -) -RETURNS LONG AS -SELECT - coalesce(sum(marker_name GLOB $callback_missed), 0) -FROM _marker_missed_callback -WHERE - cuj_slice_name = $cuj_slice_name - AND ts >= $ts_min - AND ( - $ts_max IS NULL OR ts <= $ts_max - ) -ORDER BY - ts ASC -LIMIT 1; - --- Extract all counters for Jank CUJ tracks. -CREATE PERFETTO VIEW _android_jank_cuj_counter AS -WITH - cuj_counter_track AS ( - SELECT DISTINCT - upid, - track.id AS track_id, - -- extract the CUJ name inside <> - str_split(str_split(track.name, '>#', 0), '<', 1) AS cuj_name, - -- take the name of the counter after # - str_split(track.name, '#', 1) AS counter_name - FROM process_counter_track AS track - JOIN android_sysui_jank_cujs - USING (upid) - WHERE - track.name GLOB 'J<*>#*' - ) -SELECT - ts, - upid, - cuj_name, - counter_name, - CAST(value AS INTEGER) AS value -FROM counter -JOIN cuj_counter_track - ON counter.track_id = cuj_counter_track.track_id; - --- Returns the counter value for the given CUJ name and counter name. -CREATE PERFETTO FUNCTION _android_jank_cuj_counter_value( - cuj_name STRING, - counter_name STRING, - -- Min timestamp after which the CUJ counter value should be considered. - ts_min TIMESTAMP, - -- Max timestamp before which the CUJ counter value should be considered. - ts_max TIMESTAMP -) -RETURNS LONG AS -SELECT - value -FROM _android_jank_cuj_counter -WHERE - cuj_name = $cuj_name - AND counter_name = $counter_name - AND ts >= $ts_min - AND ( - $ts_max IS NULL OR ts <= $ts_max - ) -ORDER BY - ts ASC -LIMIT 1; From 31c1e34d77d1b87b9671f588780894bb1f4b5f1d Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 14:05:57 +0100 Subject: [PATCH 028/370] ui: add support for --no-depscheck to run-integrationtests (#3213) --- ui/run-integrationtests | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/run-integrationtests b/ui/run-integrationtests index 525e71b03cc..94a3a441f21 100755 --- a/ui/run-integrationtests +++ b/ui/run-integrationtests @@ -31,8 +31,8 @@ def main(): '--rebaseline', '-r', action='store_true', help='Rebaseline screenshots') parser.add_argument('--out', help='out directory') parser.add_argument('--no-build', action='store_true') - parser.add_argument( - '--workers', help='Number of playwright workers to use') + parser.add_argument('--no-depscheck', action='store_true') + parser.add_argument('--workers', help='Number of playwright workers to use') parser.add_argument('filters', nargs='*') args = parser.parse_args() @@ -58,6 +58,8 @@ def main(): dev_server_args += ['--out', out_rel_path] if args.no_build: dev_server_args += ['--no-build'] + if args.no_depscheck: + dev_server_args += ['--no-depscheck'] env['DEV_SERVER_ARGS'] = ' '.join(dev_server_args) os.chdir(UI_DIR) os.execve(cmd[0], cmd, env) From 5cb9b2b87b582c59df19225fffe2013e0f8c942b Mon Sep 17 00:00:00 2001 From: Daniele Di Proietto Date: Wed, 8 Oct 2025 14:10:07 +0100 Subject: [PATCH 029/370] shared_lib: Move track_event into its own directory (#3208) --- Android.bp | 44 ++++++++++----- BUILD | 30 ++++++++--- gn/perfetto_unittests.gni | 2 +- src/shared_lib/BUILD.gn | 28 ++-------- src/shared_lib/test/BUILD.gn | 1 + src/shared_lib/track_event/BUILD.gn | 53 +++++++++++++++++++ .../{ => track_event}/intern_map.cc | 2 +- src/shared_lib/{ => track_event}/intern_map.h | 6 +-- .../{ => track_event}/intern_map_unittest.cc | 2 +- .../{ => track_event}/track_event.cc | 2 +- 10 files changed, 120 insertions(+), 50 deletions(-) create mode 100644 src/shared_lib/track_event/BUILD.gn rename src/shared_lib/{ => track_event}/intern_map.cc (96%) rename src/shared_lib/{ => track_event}/intern_map.h (97%) rename src/shared_lib/{ => track_event}/intern_map_unittest.cc (97%) rename src/shared_lib/{ => track_event}/track_event.cc (99%) diff --git a/Android.bp b/Android.bp index aa7fdfa2960..1291646a213 100644 --- a/Android.bp +++ b/Android.bp @@ -871,8 +871,10 @@ cc_library { ":perfetto_src_protozero_filtering_message_filter", ":perfetto_src_protozero_filtering_string_filter", ":perfetto_src_protozero_protozero", - ":perfetto_src_shared_lib_intern_map", + ":perfetto_src_shared_lib_for_testing", ":perfetto_src_shared_lib_shared_lib", + ":perfetto_src_shared_lib_track_event_intern_map", + ":perfetto_src_shared_lib_track_event_track_event", ":perfetto_src_tracing_client_api_without_backends", ":perfetto_src_tracing_common", ":perfetto_src_tracing_core_core", @@ -2672,11 +2674,13 @@ cc_test { ":perfetto_src_protozero_proto_ring_buffer", ":perfetto_src_protozero_protozero", ":perfetto_src_protozero_text_to_proto_text_to_proto", - ":perfetto_src_shared_lib_intern_map", + ":perfetto_src_shared_lib_for_testing", ":perfetto_src_shared_lib_shared_lib", ":perfetto_src_shared_lib_test_integrationtests", ":perfetto_src_shared_lib_test_protos_protos", ":perfetto_src_shared_lib_test_utils", + ":perfetto_src_shared_lib_track_event_intern_map", + ":perfetto_src_shared_lib_track_event_track_event", ":perfetto_src_trace_processor_containers_containers", ":perfetto_src_trace_processor_dataframe_dataframe", ":perfetto_src_trace_processor_dataframe_impl_impl", @@ -13724,12 +13728,9 @@ filegroup { ], } -// GN: //src/shared_lib:intern_map +// GN: //src/shared_lib:for_testing filegroup { - name: "perfetto_src_shared_lib_intern_map", - srcs: [ - "src/shared_lib/intern_map.cc", - ], + name: "perfetto_src_shared_lib_for_testing", } // GN: //src/shared_lib:shared_lib @@ -13743,7 +13744,6 @@ filegroup { "src/shared_lib/stream_writer.cc", "src/shared_lib/thread_utils.cc", "src/shared_lib/tracing_session.cc", - "src/shared_lib/track_event.cc", ], } @@ -13768,11 +13768,27 @@ filegroup { ], } -// GN: //src/shared_lib:unittests +// GN: //src/shared_lib/track_event:intern_map +filegroup { + name: "perfetto_src_shared_lib_track_event_intern_map", + srcs: [ + "src/shared_lib/track_event/intern_map.cc", + ], +} + +// GN: //src/shared_lib/track_event:track_event +filegroup { + name: "perfetto_src_shared_lib_track_event_track_event", + srcs: [ + "src/shared_lib/track_event/track_event.cc", + ], +} + +// GN: //src/shared_lib/track_event:unittests filegroup { - name: "perfetto_src_shared_lib_unittests", + name: "perfetto_src_shared_lib_track_event_unittests", srcs: [ - "src/shared_lib/intern_map_unittest.cc", + "src/shared_lib/track_event/intern_map_unittest.cc", ], } @@ -17455,10 +17471,12 @@ cc_test { ":perfetto_src_protozero_testing_messages_zero_gen", ":perfetto_src_protozero_text_to_proto_text_to_proto", ":perfetto_src_protozero_unittests", - ":perfetto_src_shared_lib_intern_map", + ":perfetto_src_shared_lib_for_testing", ":perfetto_src_shared_lib_shared_lib", ":perfetto_src_shared_lib_test_utils", - ":perfetto_src_shared_lib_unittests", + ":perfetto_src_shared_lib_track_event_intern_map", + ":perfetto_src_shared_lib_track_event_track_event", + ":perfetto_src_shared_lib_track_event_unittests", ":perfetto_src_trace_config_utils_pb_to_txt", ":perfetto_src_trace_config_utils_txt_to_pb", ":perfetto_src_trace_config_utils_unittests", diff --git a/BUILD b/BUILD index c202d900be2..5a4bab225de 100644 --- a/BUILD +++ b/BUILD @@ -167,8 +167,10 @@ perfetto_cc_library( ":src_protozero_filtering_bytecode_parser", ":src_protozero_filtering_message_filter", ":src_protozero_filtering_string_filter", - ":src_shared_lib_intern_map", + ":src_shared_lib_for_testing", ":src_shared_lib_shared_lib", + ":src_shared_lib_track_event_intern_map", + ":src_shared_lib_track_event_track_event", ":src_tracing_client_api_without_backends", ":src_tracing_common", ":src_tracing_core_core", @@ -1610,12 +1612,28 @@ perfetto_filegroup( ], ) -# GN target: //src/shared_lib:intern_map +# GN target: //src/shared_lib/track_event:intern_map perfetto_filegroup( - name = "src_shared_lib_intern_map", + name = "src_shared_lib_track_event_intern_map", srcs = [ - "src/shared_lib/intern_map.cc", - "src/shared_lib/intern_map.h", + "src/shared_lib/track_event/intern_map.cc", + "src/shared_lib/track_event/intern_map.h", + ], +) + +# GN target: //src/shared_lib/track_event:track_event +perfetto_filegroup( + name = "src_shared_lib_track_event_track_event", + srcs = [ + "src/shared_lib/track_event/track_event.cc", + ], +) + +# GN target: //src/shared_lib:for_testing +perfetto_filegroup( + name = "src_shared_lib_for_testing", + srcs = [ + "src/shared_lib/reset_for_testing.h", ], ) @@ -1627,12 +1645,10 @@ perfetto_filegroup( "src/shared_lib/heap_buffer.cc", "src/shared_lib/pb_decoder.cc", "src/shared_lib/producer.cc", - "src/shared_lib/reset_for_testing.h", "src/shared_lib/stream_writer.cc", "src/shared_lib/stream_writer.h", "src/shared_lib/thread_utils.cc", "src/shared_lib/tracing_session.cc", - "src/shared_lib/track_event.cc", ], ) diff --git a/gn/perfetto_unittests.gni b/gn/perfetto_unittests.gni index f2bdb3ec262..5f21b060963 100644 --- a/gn/perfetto_unittests.gni +++ b/gn/perfetto_unittests.gni @@ -20,7 +20,7 @@ perfetto_unittests_targets = [ "src/base:unittests", "src/base/threading:unittests", "src/protozero:unittests", - "src/shared_lib:unittests", + "src/shared_lib/track_event:unittests", "src/tracing/core:unittests", "src/tracing/service:unittests", "src/tracing:unittests", diff --git a/src/shared_lib/BUILD.gn b/src/shared_lib/BUILD.gn index ee0aa497d09..6086f289001 100644 --- a/src/shared_lib/BUILD.gn +++ b/src/shared_lib/BUILD.gn @@ -12,40 +12,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -import("../../gn/test.gni") - -source_set("intern_map") { +source_set("for_testing") { deps = [ "../../gn:default_deps", "../../include/perfetto/public", - "../base", - ] - sources = [ - "intern_map.cc", - "intern_map.h", ] + sources = [ "reset_for_testing.h" ] + defines = [ "PERFETTO_SHLIB_SDK_IMPLEMENTATION" ] } source_set("shared_lib") { deps = [ - ":intern_map", + ":for_testing", "../../gn:default_deps", "../../include/perfetto/protozero", "../../include/perfetto/public", "../base", "../tracing:client_api", + "track_event", ] sources = [ "data_source.cc", "heap_buffer.cc", "pb_decoder.cc", "producer.cc", - "reset_for_testing.h", "stream_writer.cc", "stream_writer.h", "thread_utils.cc", "tracing_session.cc", - "track_event.cc", ] defines = [ "PERFETTO_SHLIB_SDK_IMPLEMENTATION" ] } @@ -57,15 +51,3 @@ shared_library("libperfetto_c") { ] public_deps = [ "../../include/perfetto/public" ] } - -perfetto_unittest_source_set("unittests") { - testonly = true - deps = [ - ":intern_map", - "../../gn:default_deps", - "../../gn:gtest_and_gmock", - "../base", - "../base:test_support", - ] - sources = [ "intern_map_unittest.cc" ] -} diff --git a/src/shared_lib/test/BUILD.gn b/src/shared_lib/test/BUILD.gn index cfaf8cc9d78..41d088576dc 100644 --- a/src/shared_lib/test/BUILD.gn +++ b/src/shared_lib/test/BUILD.gn @@ -49,6 +49,7 @@ if (enable_perfetto_integration_tests) { testonly = true deps = [ ":utils", + "..:for_testing", "..:shared_lib", "../../../gn:default_deps", "../../../gn:gtest_and_gmock", diff --git a/src/shared_lib/track_event/BUILD.gn b/src/shared_lib/track_event/BUILD.gn new file mode 100644 index 00000000000..e90441abf6f --- /dev/null +++ b/src/shared_lib/track_event/BUILD.gn @@ -0,0 +1,53 @@ +# Copyright (C) 2025 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("../../../gn/test.gni") + +source_set("intern_map") { + deps = [ + "../../../gn:default_deps", + "../../../include/perfetto/public", + "../../base", + ] + sources = [ + "intern_map.cc", + "intern_map.h", + ] +} + +source_set("track_event") { + deps = [ + ":intern_map", + "..:for_testing", + "../../../gn:default_deps", + "../../../include/perfetto/protozero", + "../../../include/perfetto/public", + "../../base", + "../../tracing:client_api", + ] + sources = [ "track_event.cc" ] + defines = [ "PERFETTO_SHLIB_SDK_IMPLEMENTATION" ] +} + +perfetto_unittest_source_set("unittests") { + testonly = true + deps = [ + ":intern_map", + "../../../gn:default_deps", + "../../../gn:gtest_and_gmock", + "../../base", + "../../base:test_support", + ] + sources = [ "intern_map_unittest.cc" ] +} diff --git a/src/shared_lib/intern_map.cc b/src/shared_lib/track_event/intern_map.cc similarity index 96% rename from src/shared_lib/intern_map.cc rename to src/shared_lib/track_event/intern_map.cc index a7702871453..b08941d8b2b 100644 --- a/src/shared_lib/intern_map.cc +++ b/src/shared_lib/track_event/intern_map.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "src/shared_lib/intern_map.h" +#include "src/shared_lib/track_event/intern_map.h" namespace perfetto { InternMap::InternMap() = default; diff --git a/src/shared_lib/intern_map.h b/src/shared_lib/track_event/intern_map.h similarity index 97% rename from src/shared_lib/intern_map.h rename to src/shared_lib/track_event/intern_map.h index f5ac5b29a3f..956ea3c6e04 100644 --- a/src/shared_lib/intern_map.h +++ b/src/shared_lib/track_event/intern_map.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef SRC_SHARED_LIB_INTERN_MAP_H_ -#define SRC_SHARED_LIB_INTERN_MAP_H_ +#ifndef SRC_SHARED_LIB_TRACK_EVENT_INTERN_MAP_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_INTERN_MAP_H_ #include "perfetto/ext/base/flat_hash_map.h" #include "perfetto/public/fnv1a.h" @@ -157,4 +157,4 @@ class InternMap { } // namespace perfetto -#endif // SRC_SHARED_LIB_INTERN_MAP_H_ +#endif // SRC_SHARED_LIB_TRACK_EVENT_INTERN_MAP_H_ diff --git a/src/shared_lib/intern_map_unittest.cc b/src/shared_lib/track_event/intern_map_unittest.cc similarity index 97% rename from src/shared_lib/intern_map_unittest.cc rename to src/shared_lib/track_event/intern_map_unittest.cc index 837c96055cf..f6e8f053d56 100644 --- a/src/shared_lib/intern_map_unittest.cc +++ b/src/shared_lib/track_event/intern_map_unittest.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "src/shared_lib/intern_map.h" +#include "src/shared_lib/track_event/intern_map.h" #include "test/gtest_and_gmock.h" diff --git a/src/shared_lib/track_event.cc b/src/shared_lib/track_event/track_event.cc similarity index 99% rename from src/shared_lib/track_event.cc rename to src/shared_lib/track_event/track_event.cc index 3bba7b927f9..08e06c5d525 100644 --- a/src/shared_lib/track_event.cc +++ b/src/shared_lib/track_event/track_event.cc @@ -52,8 +52,8 @@ #include "protos/perfetto/trace/track_event/process_descriptor.pbzero.h" #include "protos/perfetto/trace/track_event/thread_descriptor.pbzero.h" #include "protos/perfetto/trace/track_event/track_event.pbzero.h" -#include "src/shared_lib/intern_map.h" #include "src/shared_lib/reset_for_testing.h" +#include "src/shared_lib/track_event/intern_map.h" struct PerfettoTeCategoryImpl* perfetto_te_any_categories; From c654813f9499fd42191afb838bb1ce01fef05805 Mon Sep 17 00:00:00 2001 From: Alex Attar Date: Wed, 8 Oct 2025 10:05:32 -0400 Subject: [PATCH 030/370] trace_processor: Rename anonymized ETW threads to 'Anonymized Process' (#3154) In ETW traces, threads from external processes are anonymized for privacy by assigning them a thread ID of -1. This ID was displayed directly in the UI, which could be confusing. This change updates the ETW parser to explicitly name these threads "Anonymized Process". This improves trace readability by making it clear that these entries correspond to anonymized external processes. --- .../importers/etw/etw_parser.cc | 18 +++++++++++++++--- src/trace_processor/importers/etw/etw_parser.h | 2 ++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/trace_processor/importers/etw/etw_parser.cc b/src/trace_processor/importers/etw/etw_parser.cc index 74e007df40d..6213be7bfbe 100644 --- a/src/trace_processor/importers/etw/etw_parser.cc +++ b/src/trace_processor/importers/etw/etw_parser.cc @@ -44,6 +44,8 @@ namespace { using protozero::ConstBytes; +constexpr uint32_t kAnonymizedThreadId = uint32_t(-1); + constexpr uint8_t kEtwThreadStateWaiting = 5; constexpr uint8_t kEtwWaitReasonPageIn = 2; constexpr uint8_t kEtwWaitReasonWrExecutive = 7; @@ -60,7 +62,10 @@ bool IsIoWait(uint8_t reason) { } // namespace -EtwParser::EtwParser(TraceProcessorContext* context) : context_(context) {} +EtwParser::EtwParser(TraceProcessorContext* context) + : context_(context), + anonymized_process_string_id_( + context->storage->InternString("Anonymized Process")) {} base::Status EtwParser::ParseEtwEvent(uint32_t cpu, int64_t ts, @@ -92,9 +97,16 @@ void EtwParser::ParseCswitch(int64_t timestamp, uint32_t cpu, ConstBytes blob) { // thread_id might be erased for privacy/security concerns, in this case, use // a dummy id since 0 means idle. uint32_t old_thread_id = - cs.has_old_thread_id() ? cs.old_thread_id() : uint32_t(-1); + cs.has_old_thread_id() ? cs.old_thread_id() : kAnonymizedThreadId; uint32_t new_thread_id = - cs.has_new_thread_id() ? cs.new_thread_id() : uint32_t(-1); + cs.has_new_thread_id() ? cs.new_thread_id() : kAnonymizedThreadId; + + if (old_thread_id == kAnonymizedThreadId || + new_thread_id == kAnonymizedThreadId) { + context_->process_tracker->UpdateThreadName( + context_->process_tracker->GetOrCreateThread(kAnonymizedThreadId), + anonymized_process_string_id_, ThreadNamePriority::kEtwTrace); + } // Extract the wait reason. If not present in the trace, default to 0 // (Executive). diff --git a/src/trace_processor/importers/etw/etw_parser.h b/src/trace_processor/importers/etw/etw_parser.h index 451bec95105..42ca2346350 100644 --- a/src/trace_processor/importers/etw/etw_parser.h +++ b/src/trace_processor/importers/etw/etw_parser.h @@ -52,6 +52,8 @@ class EtwParser { TraceProcessorContext* context_; + StringId anonymized_process_string_id_; + SchedEventState sched_event_state_; }; From 11a3d5fb3890853111293ec0991ebff03b28a4f6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 8 Oct 2025 17:08:11 +0100 Subject: [PATCH 031/370] Revert "Support clone operation for 'write_into_file' sessions. (#2871)" (#3216) This reverts commit b5a3a4b38331ca4b3362a664451799b437fcc5f5. Needs accompanying selinux changes (traced to be able to receive additional fds from perfetto_cmd) to roll into Android. Reverting to unblock the roll until that patch is ready & reviewed. --- include/perfetto/ext/tracing/core/consumer.h | 1 - .../ext/tracing/core/tracing_service.h | 5 - protos/perfetto/ipc/consumer_port.proto | 9 - src/perfetto_cmd/perfetto_cmd.cc | 16 +- src/perfetto_cmd/perfetto_cmd.h | 1 - src/tracing/internal/tracing_muxer_impl.cc | 6 +- .../ipc/consumer/consumer_ipc_client_impl.cc | 20 +- .../ipc/service/consumer_ipc_service.cc | 4 - src/tracing/service/tracing_service_impl.cc | 56 +-- src/tracing/service/tracing_service_impl.h | 4 +- .../service/tracing_service_impl_unittest.cc | 461 +----------------- src/tracing/test/mock_consumer.cc | 2 +- test/cmdline_integrationtest.cc | 82 ---- 13 files changed, 20 insertions(+), 647 deletions(-) diff --git a/include/perfetto/ext/tracing/core/consumer.h b/include/perfetto/ext/tracing/core/consumer.h index 72fc1f43d12..b00ca52f3e4 100644 --- a/include/perfetto/ext/tracing/core/consumer.h +++ b/include/perfetto/ext/tracing/core/consumer.h @@ -86,7 +86,6 @@ class PERFETTO_EXPORT_COMPONENT Consumer { bool success; std::string error; base::Uuid uuid; // UUID of the cloned session. - bool was_write_into_file; }; virtual void OnSessionCloned(const OnSessionClonedArgs&); }; diff --git a/include/perfetto/ext/tracing/core/tracing_service.h b/include/perfetto/ext/tracing/core/tracing_service.h index 58488de3657..10990562a5b 100644 --- a/include/perfetto/ext/tracing/core/tracing_service.h +++ b/include/perfetto/ext/tracing/core/tracing_service.h @@ -226,11 +226,6 @@ class PERFETTO_EXPORT_COMPONENT ConsumerEndpoint { // If not zero, this is stored in the trace as the configured delay (in // milliseconds) of the trigger that caused the clone. uint64_t clone_trigger_delay_ms = 0; - - // If valid, and the session that should be cloned is 'write_into_file' - // session, traced writes the cloned session content to this file - // descriptor, instead of writing it in the cloned session buffers. - base::ScopedFile output_file_fd; }; virtual void CloneSession(CloneSessionArgs) = 0; diff --git a/protos/perfetto/ipc/consumer_port.proto b/protos/perfetto/ipc/consumer_port.proto index c2e026d24ec..4b4cfce95b2 100644 --- a/protos/perfetto/ipc/consumer_port.proto +++ b/protos/perfetto/ipc/consumer_port.proto @@ -322,10 +322,6 @@ message CloneSessionRequest { // If set, this is stored in the trace as the configured delay of the trigger // that caused the clone. optional uint64 clone_trigger_delay_ms = 9; - // Consumer may also send a file descriptor with this rpc message. If the - // descriptor is valid, and the session that should be cloned is - // 'write_into_file' session, traced writes the cloned session content to that - // file descriptor, instead of writing it in the cloned session buffers. } message CloneSessionResponse { @@ -337,9 +333,4 @@ message CloneSessionResponse { // The UUID of the cloned session. optional int64 uuid_msb = 3; optional int64 uuid_lsb = 4; - - // TracingService sets this when the cloned session was write_into_file=true. - // The consumer cannot know upfront if a session is WIF or not. - // Introduced in v53. - optional bool was_write_into_file = 5; } diff --git a/src/perfetto_cmd/perfetto_cmd.cc b/src/perfetto_cmd/perfetto_cmd.cc index a31667592df..fbec93eef02 100644 --- a/src/perfetto_cmd/perfetto_cmd.cc +++ b/src/perfetto_cmd/perfetto_cmd.cc @@ -1039,15 +1039,6 @@ void PerfettoCmd::OnConnect() { args.clone_trigger_boot_time_ns = snapshot_trigger_info_->boot_time_ns; args.clone_trigger_delay_ms = snapshot_trigger_info_->trigger_delay_ms; } - - if (trace_out_stream_) { - // We always send the file descriptor to the traced, because perfetto_cmd - // doesn't know if the session to clone is 'write_into_file' session. - // traced decides weither it writes the cloned buffers to this file - // descriptor or send them to the perfetto_cmd. - args.output_file_fd = base::ScopedFile(dup(fileno(*trace_out_stream_))); - } - consumer_endpoint_->CloneSession(std::move(args)); return; } @@ -1177,8 +1168,9 @@ void PerfettoCmd::ReadbackTraceDataAndQuit(const std::string& error) { // and we don't want to log anything after that. LogUploadEvent(PerfettoStatsdAtom::kOnTracingDisabled); - if (trace_config_->write_into_file() || cloned_session_was_write_into_file_) { - // At this point the passed file already contains all the packets. + if (trace_config_->write_into_file()) { + // If write_into_file == true, at this point the passed file contains + // already all the packets. return FinalizeTraceAndExit(); } @@ -1361,8 +1353,6 @@ void PerfettoCmd::OnSessionCloned(const OnSessionClonedArgs& args) { LogUploadEvent(PerfettoStatsdAtom::kCmdOnTriggerSessionClone, snapshot_trigger_info_->trigger_name); } - - cloned_session_was_write_into_file_ = args.was_write_into_file; ReadbackTraceDataAndQuit(full_error); } diff --git a/src/perfetto_cmd/perfetto_cmd.h b/src/perfetto_cmd/perfetto_cmd.h index 511a4cea438..38c3b5efcba 100644 --- a/src/perfetto_cmd/perfetto_cmd.h +++ b/src/perfetto_cmd/perfetto_cmd.h @@ -183,7 +183,6 @@ class PerfettoCmd : public Consumer { std::string clone_name_; bool clone_for_bugreport_ = false; std::function on_session_cloned_; - bool cloned_session_was_write_into_file_ = false; // How long we expect to trace for or 0 if the trace is indefinite. uint32_t expected_duration_ms_ = 0; diff --git a/src/tracing/internal/tracing_muxer_impl.cc b/src/tracing/internal/tracing_muxer_impl.cc index 70fbf073804..03445a7181d 100644 --- a/src/tracing/internal/tracing_muxer_impl.cc +++ b/src/tracing/internal/tracing_muxer_impl.cc @@ -464,7 +464,7 @@ void TracingMuxerImpl::ConsumerImpl::OnConnect() { muxer_->QueryServiceState(session_id_, std::move(callback)); } if (session_to_clone_) { - service_->CloneSession(std::move(*session_to_clone_)); + service_->CloneSession(*session_to_clone_); session_to_clone_ = std::nullopt; } @@ -1989,14 +1989,14 @@ void TracingMuxerImpl::CloneTracingSession( // Multiple concurrent cloning isn't supported. PERFETTO_DCHECK(!consumer->clone_trace_callback_); consumer->clone_trace_callback_ = std::move(callback); - ConsumerEndpoint::CloneSessionArgs consumer_args; + ConsumerEndpoint::CloneSessionArgs consumer_args{}; consumer_args.unique_session_name = args.unique_session_name; if (!consumer->connected_) { consumer->session_to_clone_ = std::move(consumer_args); return; } consumer->session_to_clone_ = std::nullopt; - consumer->service_->CloneSession(std::move(consumer_args)); + consumer->service_->CloneSession(consumer_args); } void TracingMuxerImpl::ChangeTracingSessionConfig( diff --git a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc index 7b89bbc5388..79334dcd887 100644 --- a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc +++ b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc @@ -470,16 +470,6 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { return; } -#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) - if (args.output_file_fd) { - consumer_->OnSessionCloned( - {false, - "Passing FDs into CloneSession is not supported on Windows", - {}}); - return; - } -#endif - protos::gen::CloneSessionRequest req; if (args.tsid) { req.set_session_id(args.tsid); @@ -517,17 +507,13 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { // If the IPC fails, we are talking to an older version of the service // that didn't support CloneSession at all. weak_this->consumer_->OnSessionCloned( - {false, "CloneSession IPC not supported", {}, false}); + {false, "CloneSession IPC not supported", {}}); } else { base::Uuid uuid(response->uuid_lsb(), response->uuid_msb()); weak_this->consumer_->OnSessionCloned( - {response->success(), response->error(), uuid, - response->was_write_into_file()}); + {response->success(), response->error(), uuid}); } }); - // |args.output_file_fd| will be closed when this function returns, but it's - // fine because the IPC layer dup()'s it when sending the IPC. - consumer_port_.CloneSession(req, std::move(async_response), - *args.output_file_fd); + consumer_port_.CloneSession(req, std::move(async_response)); } } // namespace perfetto diff --git a/src/tracing/ipc/service/consumer_ipc_service.cc b/src/tracing/ipc/service/consumer_ipc_service.cc index a54efbe479a..f45b637face 100644 --- a/src/tracing/ipc/service/consumer_ipc_service.cc +++ b/src/tracing/ipc/service/consumer_ipc_service.cc @@ -355,9 +355,6 @@ void ConsumerIPCService::CloneSession( if (req.has_clone_trigger_delay_ms()) { args.clone_trigger_delay_ms = req.clone_trigger_delay_ms(); } - // The client (perfetto_cmd) always sends the file descriptor, but the traced - // uses it only if the session to clone is 'write_into_file' session. - args.output_file_fd = ipc::Service::TakeReceivedFD(); remote_consumer->service_endpoint->CloneSession(std::move(args)); } @@ -520,7 +517,6 @@ void ConsumerIPCService::RemoteConsumer::OnSessionCloned( resp->set_error(args.error); resp->set_uuid_msb(args.uuid.msb()); resp->set_uuid_lsb(args.uuid.lsb()); - resp->set_was_write_into_file(args.was_write_into_file); std::move(clone_session_response).Resolve(std::move(resp)); } diff --git a/src/tracing/service/tracing_service_impl.cc b/src/tracing/service/tracing_service_impl.cc index ae758da6812..1fdcd233467 100644 --- a/src/tracing/service/tracing_service_impl.cc +++ b/src/tracing/service/tracing_service_impl.cc @@ -53,7 +53,6 @@ #include "perfetto/ext/base/android_utils.h" #include "perfetto/ext/base/clock_snapshots.h" #include "perfetto/ext/base/file_utils.h" -#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/metatrace.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/string_view.h" @@ -2880,7 +2879,7 @@ void TracingServiceImpl::FreeBuffers(TracingSessionID tsid, [weak_consumer = clone_op.weak_consumer] { if (weak_consumer) { weak_consumer->consumer_->OnSessionCloned( - {false, "Original session ended", {}, false}); + {false, "Original session ended", {}}); } }); } @@ -4141,38 +4140,6 @@ base::Status TracingServiceImpl::FlushAndCloneSession( return PERFETTO_SVC_ERR("Not allowed to clone a session from another UID"); } - // The new logic we use to clone 'write_into_file' session relies on the - // 'buffer_clone_preserve_read_iter' flag being true; see b/448604718. - // - // The old logic ignored |session->write_into_file| when doing clone. - // Therefore, if the 'buffer_clone_preserve_read_iter' flag is false, we - // ignore the file to make the new logic behave like the old logic. - bool clone_session_write_into_file = - base::flags::buffer_clone_preserve_read_iter && session->write_into_file; - - if (clone_session_write_into_file) { - if (!args.output_file_fd) { - return PERFETTO_SVC_ERR( - "Failed to clone 'write_into_file' session: a file descriptor is " - "required to copy existing file"); - } - base::FlushFile(*session->write_into_file); - base::Status status = - base::CopyFileContents(*session->write_into_file, *args.output_file_fd); - if (!status.ok()) { - return PERFETTO_SVC_ERR( - "Failed to clone 'write_into_file' session: failed to copy existing " - "file: %s", - status.c_message()); - } - } else { - // The client always sends a FD because when it asks to CloneSession, - // it doesn't know if the session being cloned is WIF or not. If it's - // not we should just ignore the file, the client will readback via IPC - // as usual in that case. - args.output_file_fd.reset(); - } - // If any of the buffers are marked as clear_before_clone, reset them before // issuing the Flush(kCloneReason). size_t buf_idx = 0; @@ -4225,9 +4192,6 @@ base::Status TracingServiceImpl::FlushAndCloneSession( args.clone_trigger_producer_name, args.clone_trigger_trusted_producer_uid, args.clone_trigger_delay_ms}; } - if (args.output_file_fd) { - clone_op.output_file_fd = std::move(args.output_file_fd); - } // Issue separate flush requests for separate buffer groups. The buffer marked // as transfer_on_clone will be flushed and cloned separately: even if they're @@ -4314,7 +4278,6 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, result = PERFETTO_SVC_ERR("Buffer allocation failed"); } - bool was_write_into_file = false; if (result.ok()) { UpdateMemoryGuardrail(); @@ -4327,19 +4290,17 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, final_flush_outcome); if (clone_op.weak_consumer) { - was_write_into_file = static_cast(clone_op.output_file_fd); result = FinishCloneSession( &*clone_op.weak_consumer, tsid, std::move(clone_op.buffers), std::move(clone_op.buffer_cloned_timestamps), clone_op.skip_trace_filter, !clone_op.flush_failed, - clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns, - std::move(clone_op.output_file_fd)); + clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns); } } // if (result.ok()) if (clone_op.weak_consumer) { clone_op.weak_consumer->consumer_->OnSessionCloned( - {result.ok(), result.message(), uuid, was_write_into_file}); + {result.ok(), result.message(), uuid}); } src->pending_clones.erase(it); @@ -4394,8 +4355,7 @@ base::Status TracingServiceImpl::FinishCloneSession( bool final_flush_outcome, std::optional clone_trigger, base::Uuid* new_uuid, - int64_t clone_started_timestamp_ns, - base::ScopedFile output_file_fd) { + int64_t clone_started_timestamp_ns) { PERFETTO_DLOG("CloneSession(%" PRIu64 ", skip_trace_filter=%d) started, consumer uid: %d", src_tsid, skip_trace_filter, static_cast(consumer->uid_)); @@ -4502,12 +4462,6 @@ base::Status TracingServiceImpl::FinishCloneSession( cloned_session->final_flush_outcome = final_flush_outcome ? TraceStats::FINAL_FLUSH_SUCCEEDED : TraceStats::FINAL_FLUSH_FAILED; - if (output_file_fd) { - cloned_session->write_into_file = std::move(output_file_fd); - cloned_session->write_period_ms = 0; - ReadBuffersIntoFile(cloned_session->id); - } - return base::OkStatus(); } @@ -4873,7 +4827,7 @@ void TracingServiceImpl::ConsumerEndpointImpl::CloneSession( base::Status result = service_->FlushAndCloneSession(this, std::move(args)); if (!result.ok()) { - consumer_->OnSessionCloned({false, result.message(), {}, false}); + consumer_->OnSessionCloned({false, result.message(), {}}); } } diff --git a/src/tracing/service/tracing_service_impl.h b/src/tracing/service/tracing_service_impl.h index fe4e9c5a942..2f8076de655 100644 --- a/src/tracing/service/tracing_service_impl.h +++ b/src/tracing/service/tracing_service_impl.h @@ -508,7 +508,6 @@ class TracingServiceImpl : public TracingService { bool skip_trace_filter = false; std::optional clone_trigger; int64_t clone_started_timestamp_ns = 0; - base::ScopedFile output_file_fd; }; // Holds the state of a tracing session. A tracing session is uniquely bound @@ -872,8 +871,7 @@ class TracingServiceImpl : public TracingService { bool final_flush_outcome, std::optional clone_trigger, base::Uuid*, - int64_t clone_started_timestamp_ns, - base::ScopedFile output_file_fd); + int64_t clone_started_timestamp_ns); void OnFlushDoneForClone(TracingSessionID src_tsid, PendingCloneID clone_id, const std::set& buf_ids, diff --git a/src/tracing/service/tracing_service_impl_unittest.cc b/src/tracing/service/tracing_service_impl_unittest.cc index 1d94fe7a7f3..2618b636933 100644 --- a/src/tracing/service/tracing_service_impl_unittest.cc +++ b/src/tracing/service/tracing_service_impl_unittest.cc @@ -33,7 +33,6 @@ #include "perfetto/base/proc_utils.h" #include "perfetto/base/time.h" #include "perfetto/ext/base/file_utils.h" -#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/sys_types.h" @@ -143,13 +142,6 @@ MATCHER_P(HasTriggerMode, mode, "") { return HasTriggerModeInternal(arg, mode); } -MATCHER_P(HasLifecycleField, field, "") { - return ExplainMatchResult( - Contains(Property(&protos::gen::TracePacket::service_event, - Property(field, Eq(true)))), - arg, result_listener); -} - MATCHER_P(LowerCase, m, "Lower case " + testing::DescribeMatcher(m, negation)) { @@ -214,27 +206,6 @@ std::vector GetReceivedTriggers( return triggers; } -std::vector GetForTestingStrings( - const std::vector& trace) { - std::vector strings; - for (const protos::gen::TracePacket& packet : trace) { - if (packet.has_for_testing()) { - strings.push_back(packet.for_testing().str()); - } - } - return strings; -} - -bool ParseNotEmptyTraceFromFile(base::TempFile& trace_file, - protos::gen::Trace& out) { - std::string trace_str; - if (!base::ReadFile(trace_file.path(), &trace_str)) - return false; - if (trace_str.empty()) - return false; - return out.ParseFromString(trace_str); -} - class MockClock : public tracing_service::Clock { public: ~MockClock() override = default; @@ -2279,374 +2250,6 @@ TEST_F(TracingServiceImplTest, WriteIntoFileWithPath) { Property(&protos::gen::TestEvent::str, Eq("payload"))))); } -TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionBeforeWrite) { - if (!base::flags::buffer_clone_preserve_read_iter) { - GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; - } - - auto write_into_file_session_file = base::TempFile::Create(); - auto cloned_session_file = base::TempFile::Create(); - - std::unique_ptr consumer = CreateMockConsumer(); - consumer->Connect(svc.get()); - - std::unique_ptr clone_consumer = CreateMockConsumer(); - clone_consumer->Connect(svc.get()); - - std::unique_ptr producer = CreateMockProducer(); - producer->Connect(svc.get(), "mock_producer"); - producer->RegisterDataSource("data_source"); - - TraceConfig trace_config; - trace_config.add_buffers()->set_size_kb(128); - trace_config.add_data_sources()->mutable_config()->set_name("data_source"); - trace_config.set_write_into_file(true); - trace_config.set_file_write_period_ms(100000); // 100s - - consumer->EnableTracing( - trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); - - producer->WaitForTracingSetup(); - producer->WaitForDataSourceSetup("data_source"); - producer->WaitForDataSourceStart("data_source"); - - std::unique_ptr writer = - producer->CreateTraceWriter("data_source"); - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload #1"); - } - // Don't flush, keep data in the producer buffer. - - auto clone_done = task_runner.CreateCheckpoint("clone_done"); - EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) - .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { - ASSERT_TRUE(args.success); - ASSERT_TRUE(args.error.empty()); - clone_done(); - }); - ConsumerEndpoint::CloneSessionArgs clone_args; - clone_args.tsid = GetLastTracingSessionId(consumer.get()); - clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); - clone_consumer->endpoint()->CloneSession(std::move(clone_args)); - producer->ExpectFlush(writer.get()); - task_runner.RunUntilCheckpoint("clone_done"); - - // Assert that clone doesn't trigger 'write_into_file' session to write it - // buffers to file. - ASSERT_EQ(base::GetFileSize(write_into_file_session_file.path()).value_or(-1), - 0ul); - - // ReadBuffers returns single service event, all the data is already written - // into the file. - auto clone_consumer_buffers = clone_consumer->ReadBuffers(); - EXPECT_EQ(clone_consumer_buffers.size(), 1ul); - EXPECT_THAT( - clone_consumer_buffers, - HasLifecycleField( - &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); - - // Verify the content of the cloned session output file. - { - protos::gen::Trace trace; - ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), - ElementsAre("payload #1")); - } - - // Write more data to the 'write_into_file' session after the clone. - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload #2"); - } - writer->Flush(); - writer.reset(); - - consumer->DisableTracing(); - producer->WaitForDataSourceStop("data_source"); - consumer->WaitForTracingDisabled(); - - { - protos::gen::Trace trace; - ASSERT_TRUE( - ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), - ElementsAre("payload #1", "payload #2")); - } -} - -TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionAfterWrite) { - if (!base::flags::buffer_clone_preserve_read_iter) { - GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; - } - - auto write_into_file_session_file = base::TempFile::Create(); - auto cloned_session_file = base::TempFile::Create(); - - std::unique_ptr consumer = CreateMockConsumer(); - consumer->Connect(svc.get()); - - std::unique_ptr clone_consumer = CreateMockConsumer(); - clone_consumer->Connect(svc.get()); - - std::unique_ptr producer = CreateMockProducer(); - producer->Connect(svc.get(), "mock_producer"); - producer->RegisterDataSource("data_source"); - - TraceConfig trace_config; - trace_config.add_buffers()->set_size_kb(128); - trace_config.add_data_sources()->mutable_config()->set_name("data_source"); - trace_config.set_write_into_file(true); - trace_config.set_file_write_period_ms(100000); // 100s - - consumer->EnableTracing( - trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); - - producer->WaitForTracingSetup(); - producer->WaitForDataSourceSetup("data_source"); - producer->WaitForDataSourceStart("data_source"); - - std::unique_ptr writer = - producer->CreateTraceWriter("data_source"); - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload #1"); - } - writer->Flush(); - - // Advance timer, traced should write the data to the 'write_into_file' - // session output file. - AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); - - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload #2"); - } - writer->Flush(); - - // At this moment we have only 'payload #1' written into file. - { - protos::gen::Trace trace; - ASSERT_TRUE( - ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), - ElementsAre("payload #1")); - } - - // Now do the clone, cloned session should contains data both from the - // 'write_into_file' session output file and the session buffers. - auto clone_done = task_runner.CreateCheckpoint("clone_done"); - EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) - .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { - ASSERT_TRUE(args.success); - ASSERT_TRUE(args.error.empty()); - clone_done(); - }); - ConsumerEndpoint::CloneSessionArgs clone_args; - clone_args.tsid = GetLastTracingSessionId(consumer.get()); - clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); - clone_consumer->endpoint()->CloneSession(std::move(clone_args)); - producer->ExpectFlush(writer.get()); - task_runner.RunUntilCheckpoint("clone_done"); - - // ReadBuffers returns single service event, all the data is already written - // into the file. - auto clone_consumer_buffers = clone_consumer->ReadBuffers(); - EXPECT_EQ(clone_consumer_buffers.size(), 1ul); - EXPECT_THAT( - clone_consumer_buffers, - HasLifecycleField( - &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); - - // Verify the content of the cloned session output file. - { - protos::gen::Trace trace; - ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), - ElementsAre("payload #1", "payload #2")); - } - clone_consumer->FreeBuffers(); - - writer.reset(); - consumer->DisableTracing(); - producer->WaitForDataSourceStop("data_source"); - consumer->WaitForTracingDisabled(); - - { - protos::gen::Trace trace; - ASSERT_TRUE( - ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), - ElementsAre("payload #1", "payload #2")); - } -} - -// In this test we check that all the lifecycle events that we expect to have in -// the regular clone session are also present in the cloned 'write_into_file' -// session. This is test is needed, because we have a slightly different code -// path when we clone the 'write_into_file' session. -TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionLifecycleEvents) { - if (!base::flags::buffer_clone_preserve_read_iter) { - GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; - } - - using TracingServiceEvent = protos::gen::TracingServiceEvent; - std::unique_ptr producer; - std::unique_ptr consumer; - std::unique_ptr clone_consumer; - std::unique_ptr writer; - - base::TempFile write_into_file_session_file = base::TempFile::Create(); - base::TempFile cloned_session_file = base::TempFile::Create(); - - auto create_trace_config_fn = []() { - TraceConfig trace_config; - trace_config.add_buffers()->set_size_kb(128); - trace_config.add_data_sources()->mutable_config()->set_name("data_source"); - return trace_config; - }; - - auto clone_session_fn = [&](base::ScopedFile clone_fd = base::ScopedFile()) { - static int i = 0; - auto checkpoint_name = "on_clone_done_" + std::to_string(i++); - auto clone_done = task_runner.CreateCheckpoint(checkpoint_name); - EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) - .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { - ASSERT_TRUE(args.success); - ASSERT_TRUE(args.error.empty()); - clone_done(); - }); - ConsumerEndpoint::CloneSessionArgs clone_args; - clone_args.tsid = GetLastTracingSessionId(consumer.get()); - clone_args.output_file_fd = std::move(clone_fd); - clone_consumer->endpoint()->CloneSession(std::move(clone_args)); - producer->ExpectFlush(writer.get()); - task_runner.RunUntilCheckpoint(checkpoint_name); - }; - - auto shutdown_producer_and_consumers_fn = [&]() { - writer.reset(); - clone_consumer->FreeBuffers(); - consumer->FreeBuffers(); - producer->WaitForDataSourceStop("data_source"); - clone_consumer.reset(); - consumer.reset(); - producer.reset(); - }; - - auto assert_packets_fn = - [&](const std::vector& packets) { - EXPECT_THAT(GetForTestingStrings(packets), ElementsAre("payload")); - EXPECT_THAT(packets, Contains(Property( - &protos::gen::TracePacket::has_trace_config, - Eq(true)))); - EXPECT_THAT(packets, - HasLifecycleField(&TracingServiceEvent::tracing_started)); - EXPECT_THAT( - packets, - HasLifecycleField(&TracingServiceEvent::all_data_sources_started)); - EXPECT_THAT(packets, - HasLifecycleField(&TracingServiceEvent::clone_started)); - EXPECT_THAT(packets, - HasLifecycleField(&TracingServiceEvent::flush_started)); - EXPECT_THAT(packets, - HasLifecycleField(&TracingServiceEvent::has_buffer_cloned)); - EXPECT_THAT( - packets, - Contains(Property( - &protos::gen::TracePacket::trace_stats, - Property(&protos::gen::TraceStats::final_flush_outcome, - Eq(protos::gen::TraceStats::FINAL_FLUSH_SUCCEEDED))))); - }; - - // Clone the regular session. - { - producer = CreateMockProducer(); - producer->Connect(svc.get(), "mock_producer"); - producer->RegisterDataSource("data_source"); - - consumer = CreateMockConsumer(); - consumer->Connect(svc.get()); - TraceConfig trace_config = create_trace_config_fn(); - consumer->EnableTracing(trace_config); - - producer->WaitForTracingSetup(); - producer->WaitForDataSourceSetup("data_source"); - producer->WaitForDataSourceStart("data_source"); - - clone_consumer = CreateMockConsumer(); - clone_consumer->Connect(svc.get()); - - writer = producer->CreateTraceWriter("data_source"); - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload"); - } - - clone_session_fn(); - - const auto& packets = clone_consumer->ReadBuffers(); - assert_packets_fn(packets); - - shutdown_producer_and_consumers_fn(); - } - - // Clone the 'write_into_file' session. - { - producer = CreateMockProducer(); - producer->Connect(svc.get(), "mock_producer_1"); - producer->RegisterDataSource("data_source"); - - consumer = CreateMockConsumer(); - consumer->Connect(svc.get()); - TraceConfig trace_config = create_trace_config_fn(); - trace_config.set_write_into_file(true); - consumer->EnableTracing( - trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); - - producer->WaitForTracingSetup(); - producer->WaitForDataSourceSetup("data_source"); - producer->WaitForDataSourceStart("data_source"); - - clone_consumer = CreateMockConsumer(); - clone_consumer->Connect(svc.get()); - - writer = producer->CreateTraceWriter("data_source"); - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload"); - } - - clone_session_fn(base::ScopedFile(dup(cloned_session_file.fd()))); - - // ReadBuffers returns single service event, all the data is already written - // into the file. - auto clone_consumer_buffers = clone_consumer->ReadBuffers(); - EXPECT_EQ(clone_consumer_buffers.size(), 1ul); - EXPECT_THAT( - clone_consumer_buffers, - HasLifecycleField( - &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); - - { - // Verify the content of the cloned session output file. - protos::gen::Trace trace; - ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); - assert_packets_fn(trace.packet()); - } - - shutdown_producer_and_consumers_fn(); - { - // Just in case, also verify that 'write_into_file' session write the - // payload to the file when stopped. - protos::gen::Trace trace; - ASSERT_TRUE( - ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); - EXPECT_THAT(GetForTestingStrings(trace.packet()), ElementsAre("payload")); - } - } -} - TEST_F(TracingServiceImplTest, WriteIntoFileFilterMultipleChunks) { static const size_t kNumTestPackets = 5; static const size_t kPayloadSize = 500 * 1024UL; @@ -6074,7 +5677,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args; args.unique_session_name = "my_unique_session_name"; - consumer2->endpoint()->CloneSession(std::move(args)); + consumer2->endpoint()->CloneSession(args); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -6119,7 +5722,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_f; args_f.unique_session_name = "my_unique_session_name"; - consumer3->endpoint()->CloneSession(std::move(args_f)); + consumer3->endpoint()->CloneSession(args_f); task_runner.RunUntilCheckpoint("clone_failed"); // But it should be possible to clone that by id. @@ -6131,7 +5734,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_s; args_s.tsid = GetLastTracingSessionId(consumer3.get()); - consumer3->endpoint()->CloneSession(std::move(args_s)); + consumer3->endpoint()->CloneSession(args_s); task_runner.RunUntilCheckpoint("clone_success"); } } @@ -6230,7 +5833,7 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { args.clone_trigger_trusted_producer_uid = kCloneTriggerProducerUid; args.clone_trigger_boot_time_ns = kCloneTriggerTimestamp; args.clone_trigger_delay_ms = kCloneTriggerDelayMs; - consumer2->endpoint()->CloneSession(std::move(args)); + consumer2->endpoint()->CloneSession(args); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -6281,62 +5884,6 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { &protos::gen::TracePacket::has_clone_snapshot_trigger, Eq(true))))); } -TEST_F(TracingServiceImplTest, CloneWithFileDescriptorNoWriteIntoFile) { - std::unique_ptr consumer = CreateMockConsumer(); - consumer->Connect(svc.get()); - - std::unique_ptr clone_consumer = CreateMockConsumer(); - clone_consumer->Connect(svc.get()); - - std::unique_ptr producer = CreateMockProducer(); - producer->Connect(svc.get(), "mock_producer"); - producer->RegisterDataSource("data_source"); - - TraceConfig trace_config; - trace_config.add_buffers()->set_size_kb(128); - trace_config.add_data_sources()->mutable_config()->set_name("data_source"); - - consumer->EnableTracing(trace_config); - - producer->WaitForTracingSetup(); - producer->WaitForDataSourceSetup("data_source"); - producer->WaitForDataSourceStart("data_source"); - - std::unique_ptr writer = - producer->CreateTraceWriter("data_source"); - { - auto tp = writer->NewTracePacket(); - tp->set_for_testing()->set_str("payload"); - } - writer->Flush(); - - base::TempFile cloned_session_file = base::TempFile::Create(); - - auto clone_done = task_runner.CreateCheckpoint("clone_done"); - EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) - .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { - ASSERT_TRUE(args.success); - ASSERT_TRUE(args.error.empty()); - clone_done(); - }); - ConsumerEndpoint::CloneSessionArgs clone_args; - clone_args.tsid = GetLastTracingSessionId(consumer.get()); - clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); - clone_consumer->endpoint()->CloneSession(std::move(clone_args)); - producer->ExpectFlush(writer.get()); - task_runner.RunUntilCheckpoint("clone_done"); - - // Assert traced doesn't write buffers to the file descriptor if session to - // clone is not the 'write_into_file' session. - EXPECT_EQ(base::GetFileSize(cloned_session_file.path()).value_or(-1), 0ul); - auto clone_consumer_buffers = clone_consumer->ReadBuffers(); - EXPECT_THAT(GetForTestingStrings(clone_consumer_buffers), - ElementsAre("payload")); - - auto consumer_buffers = consumer->ReadBuffers(); - EXPECT_THAT(GetForTestingStrings(consumer_buffers), ElementsAre("payload")); -} - TEST_F(TracingServiceImplTest, InvalidBufferSizes) { std::unique_ptr consumer = CreateMockConsumer(); consumer->Connect(svc.get()); diff --git a/src/tracing/test/mock_consumer.cc b/src/tracing/test/mock_consumer.cc index 4399a9bfb31..3446de6bfac 100644 --- a/src/tracing/test/mock_consumer.cc +++ b/src/tracing/test/mock_consumer.cc @@ -80,7 +80,7 @@ void MockConsumer::FreeBuffers() { void MockConsumer::CloneSession(TracingSessionID tsid) { ConsumerEndpoint::CloneSessionArgs args; args.tsid = tsid; - service_endpoint_->CloneSession(std::move(args)); + service_endpoint_->CloneSession(args); } void MockConsumer::WaitForTracingDisabledWithError( diff --git a/test/cmdline_integrationtest.cc b/test/cmdline_integrationtest.cc index cce59d2aa0d..4a03c559ba3 100644 --- a/test/cmdline_integrationtest.cc +++ b/test/cmdline_integrationtest.cc @@ -20,7 +20,6 @@ #include "perfetto/base/build_config.h" #include "perfetto/base/logging.h" -#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/utils.h" @@ -1131,87 +1130,6 @@ TEST_F(PerfettoCmdlineTest, CloneByName) { ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); } -TEST_F(PerfettoCmdlineTest, CloneWriteIntoFileSession) { - protos::gen::TraceConfig trace_config = - CreateTraceConfigForTest(kTestMessageCount, kTestMessageSize); - trace_config.set_write_into_file(true); - trace_config.set_file_write_period_ms(10); - trace_config.set_unique_session_name("my_session_name"); - - const std::string write_into_file_path = RandomTraceFileName(); - ScopedFileRemove remove_on_test_exit(write_into_file_path); - auto perfetto_proc = ExecPerfetto( - { - "-o", - write_into_file_path, - "-c", - "-", - }, - trace_config.SerializeAsString()); - - const std::string cloned_file_path = RandomTraceFileName(); - ScopedFileRemove remove_on_test_exit_1(cloned_file_path); - auto clone_proc = ExecPerfetto( - {"--out", cloned_file_path, "--clone-by-name", "my_session_name"}); - - StartServiceIfRequiredNoNewExecsAfterThis(); - - auto* fake_producer = test_helper().ConnectFakeProducer(); - EXPECT_TRUE(fake_producer); - - std::thread background_trace([&perfetto_proc]() { - std::string stderr_str; - EXPECT_EQ(0, perfetto_proc.Run(&stderr_str)) << stderr_str; - }); - - test_helper().WaitForProducerEnabled(); - auto on_data_written = task_runner_.CreateCheckpoint("data_written"); - fake_producer->ProduceEventBatch(test_helper().WrapTask(on_data_written)); - task_runner_.RunUntilCheckpoint("data_written"); - - // Wait until all the data for the 'write_into_file' session is written into - // file. - bool write_into_file_data_ready = false; - for (int i = 0; i < 100; i++) { - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - protos::gen::Trace trace; - if (!ParseNotEmptyTraceFromFile(write_into_file_path, trace)) { - continue; - } - ssize_t test_packets_count = - std::count_if(trace.packet().begin(), trace.packet().end(), - [](const protos::gen::TracePacket& tp) { - return tp.has_for_testing(); - }); - if (test_packets_count == kTestMessageCount) { - write_into_file_data_ready = true; - break; - } - } - ASSERT_TRUE(write_into_file_data_ready); - - // Now we clone the session. - std::string stderr_str; - EXPECT_EQ(0, clone_proc.Run(&stderr_str)) << stderr_str; - - perfetto_proc.SendSigterm(); - background_trace.join(); - // And now we assert that both original 'write_into_file' and the cloned - // session have the same events. - { - protos::gen::Trace trace; - ASSERT_TRUE(ParseNotEmptyTraceFromFile(write_into_file_path, trace)); - ExpectTraceContainsTestMessages(trace, kTestMessageCount); - ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); - } - { - protos::gen::Trace cloned_trace; - ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_file_path, cloned_trace)); - ExpectTraceContainsTestMessages(cloned_trace, kTestMessageCount); - ExpectTraceContainsTestMessagesWithSize(cloned_trace, kTestMessageSize); - } -} - // Regression test for b/279753347: --save-for-bugreport would create an empty // file if no session with bugreport_score was active. TEST_F(PerfettoCmdlineTest, UnavailableBugreportLeavesNoEmptyFiles) { From bc0e6c52bdadbdd1af46b3e4537fb8e6461ea093 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Wed, 8 Oct 2025 17:33:50 +0100 Subject: [PATCH 032/370] exp: Noop refactor to make QueryNode::filters optional (#3218) Make filters optional to cleanup boilerplate code. Noop change. --- .../dev.perfetto.ExplorePage/explore_page.ts | 17 +++++------- .../json_handler_unittest.ts | 27 +++++-------------- .../query_builder/node_box.ts | 4 +-- .../query_builder/nodes/aggregation_node.ts | 4 +-- .../nodes/interval_intersect_node.ts | 4 +-- .../nodes/modify_columns_node.ts | 4 +-- .../nodes/sources/slices_source.ts | 4 +-- .../query_builder/nodes/sources/sql_source.ts | 4 +-- .../nodes/sources/table_source.ts | 4 +-- .../query_builder/operations/filter.ts | 10 +++---- .../dev.perfetto.ExplorePage/query_node.ts | 2 +- 11 files changed, 32 insertions(+), 52 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts index 111cf39fad1..156de3cbdc5 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts @@ -77,7 +77,6 @@ export class ExplorePage implements m.ClassComponent { trace, sqlModules, sqlTable: selection.sqlTable, - filters: [], }); onStateUpdate({ ...state, @@ -93,7 +92,6 @@ export class ExplorePage implements m.ClassComponent { prevNodes: [node], groupByColumns: [], aggregations: [], - filters: [], }); node.nextNodes.push(newNode); onStateUpdate({ @@ -108,7 +106,6 @@ export class ExplorePage implements m.ClassComponent { prevNodes: [node], newColumns: [], selectedColumns: [], - filters: [], }); node.nextNodes.push(newNode); onStateUpdate({ @@ -123,7 +120,6 @@ export class ExplorePage implements m.ClassComponent { prevNodes: [node], allNodes: state.rootNodes, intervalNodes: [], - filters: [], }); node.nextNodes.push(newNode); onStateUpdate({ @@ -134,9 +130,7 @@ export class ExplorePage implements m.ClassComponent { handleAddSlicesSource(attrs: ExplorePageAttrs) { const {state, onStateUpdate} = attrs; - const newNode = new SlicesSourceNode({ - filters: [], - }); + const newNode = new SlicesSourceNode({}); onStateUpdate({ ...state, rootNodes: [...state.rootNodes, newNode], @@ -148,7 +142,6 @@ export class ExplorePage implements m.ClassComponent { const {state, onStateUpdate} = attrs; const newNode = new SqlSourceNode({ trace: attrs.trace, - filters: [], }); onStateUpdate({ ...state, @@ -352,9 +345,11 @@ export class ExplorePage implements m.ClassComponent { onImportWithStatement: () => this.handleImportWithStatement(attrs), onExport: () => this.handleExport(state, trace), onRemoveFilter: (node, filter) => { - const filterIndex = node.state.filters.indexOf(filter); - if (filterIndex > -1) { - node.state.filters.splice(filterIndex, 1); + if (node.state.filters) { + const filterIndex = node.state.filters.indexOf(filter); + if (filterIndex > -1) { + node.state.filters.splice(filterIndex, 1); + } } attrs.onStateUpdate({...state}); }, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts index b5381d73162..086413da604 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts @@ -82,7 +82,6 @@ describe('JSON serialization/deserialization', () => { test('serializes and deserializes a simple graph', () => { const sliceNode = new SlicesSourceNode({ slice_name: 'test_slice', - filters: [], }); const initialState: ExplorePageState = { rootNodes: [sliceNode], @@ -103,11 +102,9 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const sliceNode = new SlicesSourceNode({ slice_name: 'test_slice', - filters: [], }); tableNode.nextNodes.push(sliceNode); sliceNode.prevNodes.push(tableNode); @@ -142,7 +139,6 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const sliceTable = sqlModules.getTable('slice')!; @@ -168,7 +164,6 @@ describe('JSON serialization/deserialization', () => { newColumnName: 'total_dur', }, ], - filters: [], }); tableNode.nextNodes.push(aggregationNode); @@ -204,7 +199,6 @@ describe('JSON serialization/deserialization', () => { test('serializes and deserializes sql source node', () => { const sqlNode = new SqlSourceNode({ sql: 'SELECT * FROM slice', - filters: [], trace, }); const initialState: ExplorePageState = { @@ -226,21 +220,18 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const tableNode2 = new TableSourceNode({ sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const intervalIntersectNode = new IntervalIntersectNode({ prevNodes: [tableNode1], intervalNodes: [tableNode1, tableNode2], allNodes: [tableNode1, tableNode2], - filters: [], }); tableNode1.nextNodes.push(intervalIntersectNode); intervalIntersectNode.prevNodes.length = 0; @@ -280,12 +271,10 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const sqlNode = new SqlSourceNode({ sql: `SELECT * FROM \${tableNode.nodeId}`, - filters: [], trace, }); tableNode.nextNodes.push(sqlNode); @@ -356,12 +345,10 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const sliceNode = new SlicesSourceNode({ slice_name: 'test_slice', - filters: [], }); const initialState: ExplorePageState = { @@ -450,14 +437,12 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const nodeB = new TableSourceNode({ sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); nodeA.nextNodes.push(nodeB); @@ -498,11 +483,9 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const sliceNode = new SlicesSourceNode({ slice_name: 'test_slice', - filters: [], }); tableNode.nextNodes.push(sliceNode); sliceNode.prevNodes.push(tableNode); @@ -550,7 +533,6 @@ describe('JSON serialization/deserialization', () => { test('serializes and deserializes custom title', () => { const sliceNode = new SlicesSourceNode({ slice_name: 'test_slice', - filters: [], customTitle: 'My Custom Title', }); const initialState: ExplorePageState = { @@ -572,7 +554,6 @@ describe('JSON serialization/deserialization', () => { sqlTable: sqlModules.getTable('slice'), trace, sqlModules, - filters: [], }); const modifyColumnsNode = new ModifyColumnsNode({ @@ -604,7 +585,11 @@ describe('JSON serialization/deserialization', () => { .nextNodes[0] as ModifyColumnsNode; expect(deserializedNode.state.newColumns.length).toBe(1); expect(deserializedNode.state.newColumns[0].name).toBe('new_col'); - expect(deserializedNode.state.filters.length).toBe(1); - expect(deserializedNode.state.filters[0].column).toBe('new_col'); + const filters = deserializedNode.state.filters; + expect(filters).toBeDefined(); + if (filters) { + expect(filters.length).toBe(1); + expect(filters[0].column).toBe('new_col'); + } }); }); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts index 6c59f9bf6b2..35b94aafea1 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts @@ -119,11 +119,11 @@ function renderAddButton(attrs: NodeBoxAttrs): m.Child { function renderFilters(attrs: NodeBoxAttrs): m.Child { const {node, onRemoveFilter} = attrs; - if (node.state.filters.length === 0) return null; + if (!node.state.filters || node.state.filters.length === 0) return null; return m( '.pf-node-box__filters', - node.state.filters.map((filter) => { + node.state.filters?.map((filter) => { const label = 'value' in filter ? `${filter.column} ${filter.op} ${filter.value}` diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 0acf571311e..98f3547bdd5 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -43,7 +43,7 @@ export interface AggregationSerializedState { isValid?: boolean; isEditing?: boolean; }[]; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -210,7 +210,7 @@ export class AggregationNode implements QueryNode { prevNodes: this.state.prevNodes, groupByColumns: newColumnInfoList(this.state.groupByColumns), aggregations: this.state.aggregations.map((a) => ({...a})), - filters: [], + filters: this.state.filters ? [...this.state.filters] : undefined, customTitle: this.state.customTitle, onchange: this.state.onchange, issues: this.state.issues, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts index 49ad39bd41f..e6cb7ba8efc 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts @@ -29,7 +29,7 @@ import {FilterDefinition} from '../../../../components/widgets/data_grid/common' export interface IntervalIntersectSerializedState { intervalNodes: string[]; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -144,7 +144,7 @@ export class IntervalIntersectNode implements QueryNode { prevNodes: this.state.prevNodes, allNodes: this.state.allNodes, intervalNodes: [...this.state.intervalNodes], - filters: [], + filters: this.state.filters ? [...this.state.filters] : undefined, customTitle: this.state.customTitle, onchange: this.state.onchange, onExecute: this.state.onExecute, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index b258f7d0fa0..0f0236be28e 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -40,7 +40,7 @@ export interface ModifyColumnsSerializedState { prevNodeIds: string[]; newColumns: NewColumn[]; selectedColumns: ColumnInfo[]; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -48,7 +48,7 @@ export interface ModifyColumnsState extends QueryNodeState { prevNodes: QueryNode[]; newColumns: NewColumn[]; selectedColumns: ColumnInfo[]; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts index 412403dc8ea..fb2ef947d52 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts @@ -33,7 +33,7 @@ export interface SlicesSourceSerializedState { thread_name?: string; process_name?: string; track_name?: string; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -69,7 +69,7 @@ export class SlicesSourceNode extends SourceNode { thread_name: this.state.thread_name?.slice(), process_name: this.state.process_name?.slice(), track_name: this.state.track_name?.slice(), - filters: this.state.filters.map((f) => ({...f})), + filters: this.state.filters ? [...this.state.filters] : undefined, customTitle: this.state.customTitle, }; return new SlicesSourceNode(stateCopy); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts index 772f307fba1..7736d262a44 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts @@ -35,7 +35,7 @@ import {FilterDefinition} from '../../../../../components/widgets/data_grid/comm export interface SqlSourceSerializedState { sql?: string; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -77,7 +77,7 @@ export class SqlSourceNode extends SourceNode { clone(): QueryNode { const stateCopy: SqlSourceState = { sql: this.state.sql, - filters: [], + filters: this.state.filters ? [...this.state.filters] : undefined, customTitle: this.state.customTitle, issues: this.state.issues, trace: this.state.trace, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts index 6f4b4baeae0..b4b4914c69d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts @@ -37,7 +37,7 @@ import {SourceNode} from '../../source_node'; export interface TableSourceSerializedState { sqlTable?: string; - filters: FilterDefinition[]; + filters?: FilterDefinition[]; customTitle?: string; } @@ -123,7 +123,7 @@ export class TableSourceNode extends SourceNode { trace: this.state.trace, sqlModules: this.state.sqlModules, sqlTable: this.state.sqlTable, - filters: this.state.filters.map((f) => ({...f})), + filters: this.state.filters?.map((f) => ({...f})), customTitle: this.state.customTitle, onchange: this.state.onchange, }; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/operations/filter.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/operations/filter.ts index 3f1ff52b0d0..f403001e2ff 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/operations/filter.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/operations/filter.ts @@ -39,7 +39,7 @@ export interface UIFilter { */ export interface FilterAttrs { readonly sourceCols: ColumnInfo[]; - readonly filters: ReadonlyArray; + readonly filters?: ReadonlyArray; readonly onFiltersChanged?: ( filters: ReadonlyArray, ) => void; @@ -52,13 +52,13 @@ export class FilterOperation implements m.ClassComponent { private editingFilter?: UIFilter; oncreate({attrs}: m.Vnode) { - this.uiFilters = [...attrs.filters]; + this.uiFilters = [...(attrs.filters ?? [])]; } onbeforeupdate({attrs}: m.Vnode) { // If we are not in editing mode, sync with the parent. if (this.editingFilter === undefined) { - this.uiFilters = [...attrs.filters]; + this.uiFilters = [...(attrs.filters ?? [])]; } } @@ -495,10 +495,10 @@ export const ALL_FILTER_OPS: FilterOp[] = [ ]; export function createFiltersProto( - filters: FilterDefinition[], + filters: FilterDefinition[] | undefined, sourceCols: ColumnInfo[], ): protos.PerfettoSqlStructuredQuery.Filter[] | undefined { - if (filters.length === 0) { + if (filters === undefined || filters.length === 0) { return undefined; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index 1e905a26790..46669daa887 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -45,7 +45,7 @@ export interface QueryNodeState { customTitle?: string; // Operations - filters: FilterDefinition[]; + filters?: FilterDefinition[]; issues?: NodeIssues; From c4eb0d7bfb33a9627d37bd45c3d2c8e4691f410b Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Wed, 8 Oct 2025 17:52:54 +0100 Subject: [PATCH 033/370] tp: android_probes_parser pushes events into TraceSorter (#3215) Refactor the android_probes parser to correctly handle out-of-order events by pushing the data through TraceSorter. Instead of parsing power_rails and android_log packets immediately, the module now breaks them into individual events, wraps each one in a new TracePacket, and pushes them to the sorter's queue. --- .../importers/proto/android_probes_module.cc | 282 +++++++----------- .../importers/proto/android_probes_module.h | 4 - .../importers/proto/android_probes_parser.cc | 166 +++++++++-- .../importers/proto/android_probes_parser.h | 24 +- .../diff_tests/parser/parsing/tests.py | 8 +- 5 files changed, 278 insertions(+), 206 deletions(-) diff --git a/src/trace_processor/importers/proto/android_probes_module.cc b/src/trace_processor/importers/proto/android_probes_module.cc index 3a5cba8a09c..de27747aa9b 100644 --- a/src/trace_processor/importers/proto/android_probes_module.cc +++ b/src/trace_processor/importers/proto/android_probes_module.cc @@ -16,24 +16,19 @@ #include "src/trace_processor/importers/proto/android_probes_module.h" -#include #include #include #include #include "perfetto/base/logging.h" -#include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/string_view.h" #include "perfetto/protozero/field.h" #include "perfetto/protozero/scattered_heap_buffer.h" -#include "perfetto/public/compiler.h" #include "perfetto/trace_processor/ref_counted.h" #include "perfetto/trace_processor/trace_blob.h" -#include "src/trace_processor/importers/common/args_tracker.h" +#include "src/trace_processor/importers/common/clock_tracker.h" +#include "src/trace_processor/importers/common/event_tracker.h" #include "src/trace_processor/importers/common/parser_types.h" -#include "src/trace_processor/importers/common/track_tracker.h" -#include "src/trace_processor/importers/common/tracks.h" -#include "src/trace_processor/importers/common/tracks_common.h" #include "src/trace_processor/importers/proto/android_probes_parser.h" #include "src/trace_processor/importers/proto/android_probes_tracker.h" #include "src/trace_processor/importers/proto/packet_sequence_state_generation.h" @@ -41,10 +36,11 @@ #include "src/trace_processor/sorter/trace_sorter.h" #include "src/trace_processor/storage/stats.h" #include "src/trace_processor/storage/trace_storage.h" -#include "src/trace_processor/types/variadic.h" #include "protos/perfetto/common/android_energy_consumer_descriptor.pbzero.h" +#include "protos/perfetto/common/android_log_constants.pbzero.h" #include "protos/perfetto/config/trace_config.pbzero.h" +#include "protos/perfetto/trace/android/android_log.pbzero.h" #include "protos/perfetto/trace/android/packages_list.pbzero.h" #include "protos/perfetto/trace/power/android_energy_estimation_breakdown.pbzero.h" #include "protos/perfetto/trace/power/android_entity_state_residency.pbzero.h" @@ -52,73 +48,6 @@ #include "protos/perfetto/trace/trace_packet.pbzero.h" namespace perfetto::trace_processor { -namespace { - -const char* MapToFriendlyPowerRailName(base::StringView raw) { - if (raw.EndsWith("M_VDD_CPUCL0")) { - return "cpu.little"; - } else if (raw.EndsWith("M_VDD_CPUCL0_M")) { - return "cpu.little.mem"; - } else if (raw.EndsWith("M_VDD_CPUCL1")) { - return "cpu.mid"; - } else if (raw.EndsWith("M_VDD_CPUCL1_M")) { - return "cpu.mid.mem"; - } else if (raw.EndsWith("M_VDD_CPUCL2")) { - return "cpu.big"; - } else if (raw.EndsWith("M_VDD_INT")) { - return "system.fabric"; - } else if (raw.EndsWith("M_VDD_TPU")) { - return "tpu"; - } else if (raw.EndsWith("VSYS_PWR_DISP") || - raw.EndsWith("VSYS_PWR_DISPLAY")) { - return "display"; - } else if (raw.EndsWith("M_DISP")) { - return "ldo.main.a.display"; - } else if (raw.EndsWith("VSYS_PWR_MODEM")) { - return "modem"; - } else if (raw.EndsWith("M_VDD_MIF")) { - return "memory.interface"; - } else if (raw.EndsWith("VSYS_PWR_WLAN_BT")) { - return "wifi.bt"; - } else if (raw.EndsWith("VSYS_PWR_MMWAVE")) { - return "mmwave"; - } else if (raw.EndsWith("S_VDD_AOC_RET")) { - return "aoc.memory"; - } else if (raw.EndsWith("S_VDD_AOC")) { - return "aoc.logic"; - } else if (raw.EndsWith("S_VDDQ_MEM")) { - return "ddr.a"; - } else if (raw.EndsWith("S_VDD2L") || raw.EndsWith("S_VDD2L_MEM")) { - return "ddr.b"; - } else if (raw.EndsWith("S_VDD2H_MEM")) { - return "ddr.c"; - } else if (raw.EndsWith("S_VDD_G3D")) { - return "gpu"; - } else if (raw.EndsWith("S_VDD_G3D_L2")) { - return "gpu.l2"; - } else if (raw.EndsWith("S_GNSS_CORE")) { - return "gps"; - } else if (raw.EndsWith("VSYS_PWR_RFFE")) { - return "radio.frontend"; - } else if (raw.EndsWith("VSYS_PWR_CAMERA")) { - return "camera"; - } else if (raw.EndsWith("S_VDD_CAM")) { - return "multimedia"; - } else if (raw.EndsWith("S_UDFPS")) { - return "udfps"; - } else if (raw.EndsWith("S_PLL_MIPI_UFS")) { - return "ufs"; - } else if (raw.EndsWith("M_LLDO1")) { - return "ldo.main.a"; - } else if (raw.EndsWith("M_LLDO2")) { - return "ldo.main.b"; - } else if (raw.EndsWith("S_LLDO1")) { - return "ldo.sub"; - } - return nullptr; -} - -} // namespace using perfetto::protos::pbzero::TracePacket; @@ -128,10 +57,7 @@ AndroidProbesModule::AndroidProbesModule( : ProtoImporterModule(module_context), tracker_(std::make_unique(context->storage.get())), parser_(context, tracker_.get()), - context_(context), - power_rail_raw_name_id_(context->storage->InternString("raw_name")), - power_rail_subsys_name_arg_id_( - context->storage->InternString("subsystem_name")) { + context_(context) { RegisterForField(TracePacket::kBatteryFieldNumber); RegisterForField(TracePacket::kPowerRailsFieldNumber); RegisterForField(TracePacket::kAndroidEnergyEstimationBreakdownFieldNumber); @@ -168,95 +94,110 @@ ModuleResult AndroidProbesModule::TokenizePacket( return ModuleResult::Ignored(); } - if (field_id != TracePacket::kPowerRailsFieldNumber) { - return ModuleResult::Ignored(); - } - // Power rails are similar to ftrace in that they have many events, each with // their own timestamp, packed inside a single TracePacket. This means that, // similar to ftrace, we need to unpack them and individually sort them. + // These events are not perf sensitive, so not worth adding a lot of machinery + // to shepherd these events through the sorting queues in a special way. + // Therefore, we just forge new packets and sort them as if they came from the + // underlying trace. + if (field_id == TracePacket::kPowerRailsFieldNumber) { + auto power_rails = decoder.power_rails(); + protos::pbzero::PowerRails::Decoder evt(power_rails); + + parser_.ParseRailDescriptor(evt); + + // For each energy data message, turn it into its own trace packet + // making sure its timestamp is consistent between the packet level and + // the EnergyData level. + for (auto it = evt.energy_data(); it; ++it) { + protos::pbzero::PowerRails::EnergyData::Decoder data(*it); + int64_t actual_ts = + data.has_timestamp_ms() + ? static_cast(data.timestamp_ms()) * 1000000 + : packet_timestamp; + + protozero::HeapBuffered data_packet; + // Keep the original timestamp to later extract as an arg; the sorter does + // not read this. + data_packet->set_timestamp(static_cast(packet_timestamp)); + + auto* power_rails_proto = data_packet->set_power_rails(); + power_rails_proto->set_session_uuid(evt.session_uuid()); + auto* energy = power_rails_proto->add_energy_data(); + energy->set_energy(data.energy()); + energy->set_index(data.index()); + energy->set_timestamp_ms(static_cast(actual_ts / 1000000)); + + auto [vec, size] = data_packet.SerializeAsUniquePtr(); + TraceBlobView tbv(TraceBlob::TakeOwnership(std::move(vec), size)); + module_context_->trace_packet_stream->Push( + actual_ts, TracePacketData{std::move(tbv), state}); + } + return ModuleResult::Handled(); + } - // However, as these events are not perf sensitive, it's not worth adding - // a lot of machinery to shepherd these events through the sorting queues - // in a special way. Therefore, we just forge new packets and sort them as if - // they came from the underlying trace. - auto power_rails = decoder.power_rails(); - protos::pbzero::PowerRails::Decoder evt(power_rails); - - for (auto it = evt.rail_descriptor(); it; ++it) { - protos::pbzero::PowerRails::RailDescriptor::Decoder desc(*it); - uint32_t idx = desc.index(); - if (PERFETTO_UNLIKELY(idx > 256)) { - PERFETTO_DLOG("Skipping excessively large power_rail index %" PRIu32, - idx); - continue; + // We treat Android logs similarly to ftrace in that they have many events, so + // we just mimic the sorting logic to the one from kPowerRailsFieldNumber + // above. + if (field_id == TracePacket::kAndroidLogFieldNumber) { + auto android_log = decoder.android_log(); + protos::pbzero::AndroidLogPacket::Decoder pkt(android_log); + for (auto it = pkt.events(); it; ++it) { + protos::pbzero::AndroidLogPacket::LogEvent::Decoder evt(*it); + int64_t realtime_ts = static_cast(evt.timestamp()); + base::StatusOr trace_ts = context_->clock_tracker->ToTraceTime( + protos::pbzero::BUILTIN_CLOCK_REALTIME, realtime_ts); + if (!trace_ts.ok()) { + static std::atomic dlog_count(0); + if (dlog_count++ < 10) { + PERFETTO_DLOG("%s", trace_ts.status().c_message()); + } + continue; + } + int64_t actual_ts = *trace_ts; + + protozero::HeapBuffered data_packet; + data_packet->set_timestamp(static_cast(actual_ts)); + + auto* log_pkt = data_packet->set_android_log(); + auto* log_evt = log_pkt->add_events(); + log_evt->set_log_id( + static_cast(evt.log_id())); + log_evt->set_pid(evt.pid()); + log_evt->set_tid(evt.tid()); + log_evt->set_uid(evt.uid()); + log_evt->set_timestamp(evt.timestamp()); + log_evt->set_tag(evt.tag()); + log_evt->set_prio( + static_cast(evt.prio())); + log_evt->set_message(evt.message()); + for (auto arg_it = evt.args(); arg_it; ++arg_it) { + protos::pbzero::AndroidLogPacket::LogEvent::Arg::Decoder arg(*arg_it); + auto* new_arg = log_evt->add_args(); + new_arg->set_name(arg.name()); + if (arg.has_int_value()) { + new_arg->set_int_value(arg.int_value()); + } else if (arg.has_float_value()) { + new_arg->set_float_value(arg.float_value()); + } else if (arg.has_string_value()) { + new_arg->set_string_value(arg.string_value()); + } + } + + auto [vec, size] = data_packet.SerializeAsUniquePtr(); + TraceBlobView tbv(TraceBlob::TakeOwnership(std::move(vec), size)); + module_context_->trace_packet_stream->Push( + actual_ts, TracePacketData{std::move(tbv), state}); } - static constexpr auto kPowerBlueprint = tracks::CounterBlueprint( - "power_rails", tracks::UnknownUnitBlueprint(), - tracks::DimensionBlueprints( - tracks::kNameFromTraceDimensionBlueprint, - tracks::UintDimensionBlueprint("session_uuid")), - tracks::DynamicNameBlueprint()); - const char* friendly_name = MapToFriendlyPowerRailName(desc.rail_name()); - TrackId track; - auto args_fn = [this, &desc](ArgsTracker::BoundInserter& inserter) { - StringId raw_name = context_->storage->InternString(desc.rail_name()); - inserter.AddArg(power_rail_raw_name_id_, Variadic::String(raw_name)); - - StringId subsys_name = - context_->storage->InternString(desc.subsys_name()); - inserter.AddArg(power_rail_subsys_name_arg_id_, - Variadic::String(subsys_name)); - }; - if (friendly_name) { - StringId id = context_->storage->InternString( - base::StackString<255>("power.rails.%s", friendly_name) - .string_view()); - track = context_->track_tracker->InternTrack( - kPowerBlueprint, - tracks::Dimensions(desc.rail_name(), evt.session_uuid()), - tracks::DynamicName(id), args_fn); - } else { - StringId id = context_->storage->InternString( - base::StackString<255>("power.%.*s_uws", int(desc.rail_name().size), - desc.rail_name().data) - .string_view()); - track = context_->track_tracker->InternTrack( - kPowerBlueprint, - tracks::Dimensions(desc.rail_name(), evt.session_uuid()), - tracks::DynamicName(id), args_fn); + if (pkt.has_stats()) { + parser_.ParseAndroidLogStats(pkt.stats()); } - tracker_->SetPowerRailTrack(evt.session_uuid(), desc.index(), track); + return ModuleResult::Handled(); } - // For each energy data message, turn it into its own trace packet - // making sure its timestamp is consistent between the packet level and - // the EnergyData level. - for (auto it = evt.energy_data(); it; ++it) { - protos::pbzero::PowerRails::EnergyData::Decoder data(*it); - int64_t actual_ts = - data.has_timestamp_ms() - ? static_cast(data.timestamp_ms()) * 1000000 - : packet_timestamp; - - protozero::HeapBuffered data_packet; - // Keep the original timestamp to later extract as an arg; the sorter does - // not read this. - data_packet->set_timestamp(static_cast(packet_timestamp)); - - auto* power_rails_proto = data_packet->set_power_rails(); - power_rails_proto->set_session_uuid(evt.session_uuid()); - auto* energy = power_rails_proto->add_energy_data(); - energy->set_energy(data.energy()); - energy->set_index(data.index()); - energy->set_timestamp_ms(static_cast(actual_ts / 1000000)); - - auto [vec, size] = data_packet.SerializeAsUniquePtr(); - TraceBlobView tbv(TraceBlob::TakeOwnership(std::move(vec), size)); - module_context_->trace_packet_stream->Push( - actual_ts, TracePacketData{std::move(tbv), state}); - } - return ModuleResult::Handled(); + // Events with a timestamp are pushed to the sorter. + return ModuleResult::Ignored(); } void AndroidProbesModule::ParseTracePacketData( @@ -265,12 +206,19 @@ void AndroidProbesModule::ParseTracePacketData( const TracePacketData&, uint32_t field_id) { switch (field_id) { - case TracePacket::kBatteryFieldNumber: - parser_.ParseBatteryCounters(ts, decoder.battery()); + case TracePacket::kAndroidLogFieldNumber: + parser_.ParseAndroidLogPacket(ts, decoder.android_log()); + return; + case TracePacket::kAndroidGameInterventionListFieldNumber: + parser_.ParseAndroidGameIntervention( + decoder.android_game_intervention_list()); return; case TracePacket::kPowerRailsFieldNumber: parser_.ParsePowerRails(ts, decoder.timestamp(), decoder.power_rails()); return; + case TracePacket::kBatteryFieldNumber: + parser_.ParseBatteryCounters(ts, decoder.battery()); + return; case TracePacket::kAndroidEnergyEstimationBreakdownFieldNumber: parser_.ParseEnergyBreakdown( ts, decoder.android_energy_estimation_breakdown()); @@ -278,13 +226,6 @@ void AndroidProbesModule::ParseTracePacketData( case TracePacket::kEntityStateResidencyFieldNumber: parser_.ParseEntityStateResidency(ts, decoder.entity_state_residency()); return; - case TracePacket::kAndroidLogFieldNumber: - parser_.ParseAndroidLogPacket(decoder.android_log()); - return; - case TracePacket::kAndroidGameInterventionListFieldNumber: - parser_.ParseAndroidGameIntervention( - decoder.android_game_intervention_list()); - return; case TracePacket::kInitialDisplayStateFieldNumber: parser_.ParseInitialDisplayState(ts, decoder.initial_display_state()); return; @@ -294,9 +235,10 @@ void AndroidProbesModule::ParseTracePacketData( case TracePacket::kBluetoothTraceEventFieldNumber: parser_.ParseBtTraceEvent(ts, decoder.bluetooth_trace_event()); return; + default: + PERFETTO_FATAL("Unexpected field in AndroidProbesModule"); } } - void AndroidProbesModule::ParseTraceConfig( const protos::pbzero::TraceConfig::Decoder& decoder) { if (decoder.has_statsd_metadata()) { diff --git a/src/trace_processor/importers/proto/android_probes_module.h b/src/trace_processor/importers/proto/android_probes_module.h index 3d967a892d8..7e303339d26 100644 --- a/src/trace_processor/importers/proto/android_probes_module.h +++ b/src/trace_processor/importers/proto/android_probes_module.h @@ -28,7 +28,6 @@ #include "protos/perfetto/config/trace_config.pbzero.h" #include "protos/perfetto/trace/trace_packet.pbzero.h" -#include "src/trace_processor/storage/trace_storage.h" namespace perfetto::trace_processor { @@ -60,9 +59,6 @@ class AndroidProbesModule : public ProtoImporterModule { std::unique_ptr tracker_; AndroidProbesParser parser_; TraceProcessorContext* context_ = nullptr; - - const StringId power_rail_raw_name_id_; - const StringId power_rail_subsys_name_arg_id_; }; } // namespace perfetto::trace_processor diff --git a/src/trace_processor/importers/proto/android_probes_parser.cc b/src/trace_processor/importers/proto/android_probes_parser.cc index 11a010b4a0f..c9087694620 100644 --- a/src/trace_processor/importers/proto/android_probes_parser.cc +++ b/src/trace_processor/importers/proto/android_probes_parser.cc @@ -32,9 +32,9 @@ #include "src/trace_processor/importers/common/clock_tracker.h" #include "src/trace_processor/importers/common/event_tracker.h" #include "src/trace_processor/importers/common/metadata_tracker.h" +#include "src/trace_processor/importers/common/parser_types.h" #include "src/trace_processor/importers/common/process_tracker.h" #include "src/trace_processor/importers/common/slice_tracker.h" -#include "src/trace_processor/importers/common/track_compressor.h" #include "src/trace_processor/importers/common/track_tracker.h" #include "src/trace_processor/importers/common/tracks.h" #include "src/trace_processor/importers/common/tracks_common.h" @@ -57,17 +57,83 @@ #include "protos/perfetto/trace/power/android_entity_state_residency.pbzero.h" #include "protos/perfetto/trace/power/battery_counters.pbzero.h" #include "protos/perfetto/trace/power/power_rails.pbzero.h" +#include "protos/perfetto/trace/trace_packet.pbzero.h" namespace perfetto::trace_processor { +namespace { + +const char* MapToFriendlyPowerRailName(base::StringView raw) { + if (raw.EndsWith("M_VDD_CPUCL0")) { + return "cpu.little"; + } else if (raw.EndsWith("M_VDD_CPUCL0_M")) { + return "cpu.little.mem"; + } else if (raw.EndsWith("M_VDD_CPUCL1")) { + return "cpu.mid"; + } else if (raw.EndsWith("M_VDD_CPUCL1_M")) { + return "cpu.mid.mem"; + } else if (raw.EndsWith("M_VDD_CPUCL2")) { + return "cpu.big"; + } else if (raw.EndsWith("M_VDD_INT")) { + return "system.fabric"; + } else if (raw.EndsWith("M_VDD_TPU")) { + return "tpu"; + } else if (raw.EndsWith("VSYS_PWR_DISP") || + raw.EndsWith("VSYS_PWR_DISPLAY")) { + return "display"; + } else if (raw.EndsWith("M_DISP")) { + return "ldo.main.a.display"; + } else if (raw.EndsWith("VSYS_PWR_MODEM")) { + return "modem"; + } else if (raw.EndsWith("M_VDD_MIF")) { + return "memory.interface"; + } else if (raw.EndsWith("VSYS_PWR_WLAN_BT")) { + return "wifi.bt"; + } else if (raw.EndsWith("VSYS_PWR_MMWAVE")) { + return "mmwave"; + } else if (raw.EndsWith("S_VDD_AOC_RET")) { + return "aoc.memory"; + } else if (raw.EndsWith("S_VDD_AOC")) { + return "aoc.logic"; + } else if (raw.EndsWith("S_VDDQ_MEM")) { + return "ddr.a"; + } else if (raw.EndsWith("S_VDD2L") || raw.EndsWith("S_VDD2L_MEM")) { + return "ddr.b"; + } else if (raw.EndsWith("S_VDD2H_MEM")) { + return "ddr.c"; + } else if (raw.EndsWith("S_VDD_G3D")) { + return "gpu"; + } else if (raw.EndsWith("S_VDD_G3D_L2")) { + return "gpu.l2"; + } else if (raw.EndsWith("S_GNSS_CORE")) { + return "gps"; + } else if (raw.EndsWith("VSYS_PWR_RFFE")) { + return "radio.frontend"; + } else if (raw.EndsWith("VSYS_PWR_CAMERA")) { + return "camera"; + } else if (raw.EndsWith("S_VDD_CAM")) { + return "multimedia"; + } else if (raw.EndsWith("S_UDFPS")) { + return "udfps"; + } else if (raw.EndsWith("S_PLL_MIPI_UFS")) { + return "ufs"; + } else if (raw.EndsWith("M_LLDO1")) { + return "ldo.main.a"; + } else if (raw.EndsWith("M_LLDO2")) { + return "ldo.main.b"; + } else if (raw.EndsWith("S_LLDO1")) { + return "ldo.sub"; + } + return nullptr; +} + +} // namespace AndroidProbesParser::AndroidProbesParser(TraceProcessorContext* context, AndroidProbesTracker* tracker) : context_(context), tracker_(tracker), - power_rails_args_tracker_(std::make_unique(context)), battery_status_id_(context->storage->InternString("BatteryStatus")), plug_type_id_(context->storage->InternString("PlugType")), - rail_packet_timestamp_id_(context->storage->InternString("packet_ts")), energy_consumer_id_( context_->storage->InternString("energy_consumer_id")), consumer_type_id_(context_->storage->InternString("consumer_type")), @@ -80,7 +146,61 @@ AndroidProbesParser::AndroidProbesParser(TraceProcessorContext* context, bt_op_code_id_(context_->storage->InternString("Op Code")), bt_event_code_id_(context_->storage->InternString("Event Code")), bt_subevent_code_id_(context_->storage->InternString("Subevent Code")), - bt_handle_id_(context_->storage->InternString("Handle")) {} + bt_handle_id_(context_->storage->InternString("Handle")), + power_rail_raw_name_id_(context->storage->InternString("raw_name")), + power_rail_subsys_name_arg_id_( + context->storage->InternString("subsystem_name")), + power_rails_args_tracker_(std::make_unique(context)), + rail_packet_timestamp_id_(context->storage->InternString("packet_ts")) {} + +void AndroidProbesParser::ParseRailDescriptor( + const protos::pbzero::PowerRails_Decoder& evt) { + for (auto it = evt.rail_descriptor(); it; ++it) { + protos::pbzero::PowerRails::RailDescriptor::Decoder desc(*it); + uint32_t idx = desc.index(); + if (PERFETTO_UNLIKELY(idx > 256)) { + PERFETTO_DLOG("Skipping excessively large power_rail index %" PRIu32, + idx); + continue; + } + static constexpr auto kPowerBlueprint = tracks::CounterBlueprint( + "power_rails", tracks::UnknownUnitBlueprint(), + tracks::DimensionBlueprints( + tracks::kNameFromTraceDimensionBlueprint, + tracks::UintDimensionBlueprint("session_uuid")), + tracks::DynamicNameBlueprint()); + const char* friendly_name = MapToFriendlyPowerRailName(desc.rail_name()); + TrackId track; + auto args_fn = [this, &desc](ArgsTracker::BoundInserter& inserter) { + StringId raw_name = context_->storage->InternString(desc.rail_name()); + inserter.AddArg(power_rail_raw_name_id_, Variadic::String(raw_name)); + + StringId subsys_name = + context_->storage->InternString(desc.subsys_name()); + inserter.AddArg(power_rail_subsys_name_arg_id_, + Variadic::String(subsys_name)); + }; + if (friendly_name) { + StringId id = context_->storage->InternString( + base::StackString<255>("power.rails.%s", friendly_name) + .string_view()); + track = context_->track_tracker->InternTrack( + kPowerBlueprint, + tracks::Dimensions(desc.rail_name(), evt.session_uuid()), + tracks::DynamicName(id), args_fn); + } else { + StringId id = context_->storage->InternString( + base::StackString<255>("power.%.*s_uws", int(desc.rail_name().size), + desc.rail_name().data) + .string_view()); + track = context_->track_tracker->InternTrack( + kPowerBlueprint, + tracks::Dimensions(desc.rail_name(), evt.session_uuid()), + tracks::DynamicName(id), args_fn); + } + tracker_->SetPowerRailTrack(evt.session_uuid(), desc.index(), track); + } +} void AndroidProbesParser::ParseBatteryCounters(int64_t ts, ConstBytes blob) { protos::pbzero::BatteryCounters::Decoder evt(blob); @@ -146,7 +266,7 @@ void AndroidProbesParser::ParseBatteryCounters(int64_t ts, ConstBytes blob) { void AndroidProbesParser::ParsePowerRails(int64_t ts, uint64_t trace_packet_ts, - ConstBytes blob) { + protozero::ConstBytes blob) { protos::pbzero::PowerRails::Decoder evt(blob); // Descriptors should have been processed at tokenization time. @@ -272,19 +392,20 @@ void AndroidProbesParser::ParseEntityStateResidency(int64_t ts, } } -void AndroidProbesParser::ParseAndroidLogPacket(ConstBytes blob) { +void AndroidProbesParser::ParseAndroidLogPacket(int64_t ts, + protozero::ConstBytes blob) { protos::pbzero::AndroidLogPacket::Decoder packet(blob); for (auto it = packet.events(); it; ++it) - ParseAndroidLogEvent(*it); + ParseAndroidLogEvent(ts, *it); if (packet.has_stats()) ParseAndroidLogStats(packet.stats()); } -void AndroidProbesParser::ParseAndroidLogEvent(ConstBytes blob) { +void AndroidProbesParser::ParseAndroidLogEvent(int64_t ts, + protozero::ConstBytes blob) { // TODO(primiano): Add events and non-stringified fields to the "raw" table. protos::pbzero::AndroidLogPacket::LogEvent::Decoder evt(blob); - auto ts = static_cast(evt.timestamp()); auto pid = static_cast(evt.pid()); auto tid = static_cast(evt.tid()); auto prio = static_cast(evt.prio()); @@ -325,27 +446,25 @@ void AndroidProbesParser::ParseAndroidLogEvent(ConstBytes blob) { prio = protos::pbzero::AndroidLogPriority::PRIO_INFO; if (arg_str != &arg_msg[0]) { - PERFETTO_DCHECK(msg_id.is_null()); // Skip the first space char (" foo=1 bar=2" -> "foo=1 bar=2"). - msg_id = context_->storage->InternString(&arg_msg[1]); + base::StringView args_sv(&arg_msg[1]); + if (msg_id.is_null()) { + msg_id = context_->storage->InternString(args_sv); + } else { + std::string new_msg = context_->storage->GetString(msg_id).ToStdString() + + " " + args_sv.ToStdString(); + msg_id = context_->storage->InternString(base::StringView(new_msg)); + } } UniquePid utid = tid ? context_->process_tracker->UpdateThread(tid, pid) : 0; - base::StatusOr trace_time = context_->clock_tracker->ToTraceTime( - protos::pbzero::BUILTIN_CLOCK_REALTIME, ts); - if (!trace_time.ok()) { - static std::atomic dlog_count(0); - if (dlog_count++ < 10) - PERFETTO_DLOG("%s", trace_time.status().c_message()); - return; - } // Log events are NOT required to be sorted by trace_time. The virtual table // will take care of sorting on-demand. context_->storage->mutable_android_log_table()->Insert( - {trace_time.value(), utid, prio, tag_id, msg_id}); + {ts, utid, prio, tag_id, msg_id}); } -void AndroidProbesParser::ParseAndroidLogStats(ConstBytes blob) { +void AndroidProbesParser::ParseAndroidLogStats(protozero::ConstBytes blob) { protos::pbzero::AndroidLogPacket::Stats::Decoder evt(blob); if (evt.has_num_failed()) { context_->storage->SetStats(stats::android_log_num_failed, @@ -363,7 +482,7 @@ void AndroidProbesParser::ParseAndroidLogStats(ConstBytes blob) { } } -void AndroidProbesParser::ParseStatsdMetadata(ConstBytes blob) { +void AndroidProbesParser::ParseStatsdMetadata(protozero::ConstBytes blob) { protos::pbzero::TraceConfig::StatsdMetadata::Decoder metadata(blob); if (metadata.has_triggering_subscription_id()) { context_->metadata_tracker->SetMetadata( @@ -372,7 +491,8 @@ void AndroidProbesParser::ParseStatsdMetadata(ConstBytes blob) { } } -void AndroidProbesParser::ParseAndroidGameIntervention(ConstBytes blob) { +void AndroidProbesParser::ParseAndroidGameIntervention( + protozero::ConstBytes blob) { protos::pbzero::AndroidGameInterventionList::Decoder intervention_list(blob); constexpr static int kGameModeStandard = 1; constexpr static int kGameModePerformance = 2; diff --git a/src/trace_processor/importers/proto/android_probes_parser.h b/src/trace_processor/importers/proto/android_probes_parser.h index 71a1c8660fd..5ba17cecd21 100644 --- a/src/trace_processor/importers/proto/android_probes_parser.h +++ b/src/trace_processor/importers/proto/android_probes_parser.h @@ -20,6 +20,8 @@ #include #include "perfetto/protozero/field.h" + +#include "protos/perfetto/trace/power/power_rails.pbzero.h" #include "src/trace_processor/storage/trace_storage.h" namespace perfetto::trace_processor { @@ -34,27 +36,29 @@ class AndroidProbesParser { explicit AndroidProbesParser(TraceProcessorContext*, AndroidProbesTracker*); + void ParseRailDescriptor(const protos::pbzero::PowerRails_Decoder&); + void ParsePowerRails(int64_t ts, + uint64_t trace_packet_ts, + protozero::ConstBytes); + void ParseAndroidLogPacket(int64_t ts, protozero::ConstBytes blob); + void ParseAndroidLogStats(protozero::ConstBytes); + void ParseStatsdMetadata(protozero::ConstBytes); + void ParseAndroidGameIntervention(protozero::ConstBytes blob); void ParseBatteryCounters(int64_t ts, ConstBytes); - void ParsePowerRails(int64_t ts, uint64_t trace_packet_ts, ConstBytes); void ParseEnergyBreakdown(int64_t ts, ConstBytes); void ParseEntityStateResidency(int64_t ts, ConstBytes); - void ParseAndroidLogPacket(ConstBytes); - void ParseAndroidLogEvent(ConstBytes); - void ParseAndroidLogStats(ConstBytes); - void ParseStatsdMetadata(ConstBytes); void ParseInitialDisplayState(int64_t ts, ConstBytes); void ParseAndroidSystemProperty(int64_t ts, ConstBytes); - void ParseAndroidGameIntervention(ConstBytes); void ParseBtTraceEvent(int64_t ts, ConstBytes); private: + void ParseAndroidLogEvent(int64_t ts, protozero::ConstBytes); + TraceProcessorContext* const context_; AndroidProbesTracker* const tracker_; - std::unique_ptr power_rails_args_tracker_; const StringId battery_status_id_; const StringId plug_type_id_; - const StringId rail_packet_timestamp_id_; const StringId energy_consumer_id_; const StringId consumer_type_id_; const StringId ordinal_id_; @@ -66,6 +70,10 @@ class AndroidProbesParser { const StringId bt_event_code_id_; const StringId bt_subevent_code_id_; const StringId bt_handle_id_; + const StringId power_rail_raw_name_id_; + const StringId power_rail_subsys_name_arg_id_; + std::unique_ptr power_rails_args_tracker_; + const StringId rail_packet_timestamp_id_; }; } // namespace perfetto::trace_processor diff --git a/test/trace_processor/diff_tests/parser/parsing/tests.py b/test/trace_processor/diff_tests/parser/parsing/tests.py index 3ca0a797070..fb231a1a680 100644 --- a/test/trace_processor/diff_tests/parser/parsing/tests.py +++ b/test/trace_processor/diff_tests/parser/parsing/tests.py @@ -417,7 +417,13 @@ def test_oom_kill(self): def test_android_log_counts(self): return DiffTestBlueprint( trace=DataPath('android_log.pb'), - query=Path('android_log_counts_test.sql'), + query="""SELECT count(*) AS cnt FROM android_logs UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE prio = 3 UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE prio > 4 UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE tag = 'screen_toggled' UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE tag GLOB '*_pss' UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE msg GLOB '*i2c?write*' OR msg GLOB '*I2C?Write*' UNION ALL + SELECT count(*) AS cnt FROM android_logs WHERE ts >= 1510113924391 AND ts < 1512610021879;""", out=Csv(""" "cnt" 2249 From 9cc078906ae2c47a6853caaf313a00cab05a1976 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 18:32:32 +0100 Subject: [PATCH 034/370] api: fix harmless test data race (#3219) --- src/tracing/test/api_integrationtest.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tracing/test/api_integrationtest.cc b/src/tracing/test/api_integrationtest.cc index b865676d778..92b891274e3 100644 --- a/src/tracing/test/api_integrationtest.cc +++ b/src/tracing/test/api_integrationtest.cc @@ -6200,6 +6200,7 @@ TEST_P(PerfettoApiTest, TrackEventObserver_AsyncStop) { ~Observer() override = default; void OnStop(const perfetto::DataSourceBase::StopArgs& args) { + std::lock_guard lock(mutex_); async_stop_closure_ = args.HandleStopAsynchronously(); } @@ -6208,10 +6209,16 @@ TEST_P(PerfettoApiTest, TrackEventObserver_AsyncStop) { EXPECT_TRUE(TRACE_EVENT_CATEGORY_ENABLED("foo")); TRACE_EVENT_INSTANT("foo", "FinalEvent"); perfetto::TrackEvent::Flush(); - async_stop_closure_(); + std::function closure; + { + std::lock_guard lock(mutex_); + closure = async_stop_closure_; + } + closure(); } private: + std::mutex mutex_; std::function async_stop_closure_; }; From e53551a9335d46db3e410b5148766468becb357d Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Wed, 8 Oct 2025 18:25:47 +0000 Subject: [PATCH 035/370] Decouple trace blob into trace processor util (#3200) --- Android.bp | 83 ++++++-------------- BUILD | 31 +++++++- include/perfetto/trace_processor/BUILD.gn | 11 ++- src/trace_processor/BUILD.gn | 2 +- src/trace_processor/util/BUILD.gn | 11 +++ src/trace_processor/{ => util}/trace_blob.cc | 0 src/trace_redaction/BUILD.gn | 2 +- 7 files changed, 74 insertions(+), 66 deletions(-) rename src/trace_processor/{ => util}/trace_blob.cc (100%) diff --git a/Android.bp b/Android.bp index 1291646a213..9433cd3bf66 100644 --- a/Android.bp +++ b/Android.bp @@ -2467,6 +2467,11 @@ filegroup { name: "perfetto_include_perfetto_trace_processor_trace_processor", } +// GN: //include/perfetto/trace_processor:util +filegroup { + name: "perfetto_include_perfetto_trace_processor_util", +} + // GN: //include/perfetto/tracing/core:core filegroup { name: "perfetto_include_perfetto_tracing_core_core", @@ -2512,6 +2517,7 @@ cc_test { ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_include_perfetto_tracing_core_core", ":perfetto_include_perfetto_tracing_core_forward_decls", ":perfetto_include_perfetto_tracing_tracing", @@ -2750,6 +2756,7 @@ cc_test { ":perfetto_src_trace_processor_trace_summary_trace_summary", ":perfetto_src_trace_processor_types_types", ":perfetto_src_trace_processor_util_args_utils", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_processor_util_build_id", ":perfetto_src_trace_processor_util_bump_allocator", ":perfetto_src_trace_processor_util_clock", @@ -15433,7 +15440,6 @@ filegroup { name: "perfetto_src_trace_processor_storage_minimal", srcs: [ "src/trace_processor/forwarding_trace_parser.cc", - "src/trace_processor/trace_blob.cc", "src/trace_processor/trace_processor_context.cc", "src/trace_processor/trace_processor_storage.cc", "src/trace_processor/trace_processor_storage_impl.cc", @@ -15590,6 +15596,14 @@ filegroup { ], } +// GN: //src/trace_processor/util:blob +filegroup { + name: "perfetto_src_trace_processor_util_blob", + srcs: [ + "src/trace_processor/util/trace_blob.cc", + ], +} + // GN: //src/trace_processor/util:build_id filegroup { name: "perfetto_src_trace_processor_util_build_id", @@ -17262,6 +17276,7 @@ cc_test { ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_include_perfetto_tracing_core_core", ":perfetto_include_perfetto_tracing_core_forward_decls", ":perfetto_include_perfetto_tracing_tracing", @@ -17580,6 +17595,7 @@ cc_test { ":perfetto_src_trace_processor_types_unittests", ":perfetto_src_trace_processor_unittests", ":perfetto_src_trace_processor_util_args_utils", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_processor_util_build_id", ":perfetto_src_trace_processor_util_bump_allocator", ":perfetto_src_trace_processor_util_clock", @@ -18284,6 +18300,7 @@ cc_library_static { ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_protos_perfetto_common_cpp_gen", ":perfetto_protos_perfetto_common_zero_gen", ":perfetto_protos_perfetto_config_android_zero_gen", @@ -18404,6 +18421,7 @@ cc_library_static { ":perfetto_src_trace_processor_trace_summary_trace_summary", ":perfetto_src_trace_processor_types_types", ":perfetto_src_trace_processor_util_args_utils", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_processor_util_build_id", ":perfetto_src_trace_processor_util_bump_allocator", ":perfetto_src_trace_processor_util_clock", @@ -18612,6 +18630,7 @@ cc_binary { ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_protos_perfetto_common_cpp_gen", ":perfetto_protos_perfetto_common_zero_gen", ":perfetto_protos_perfetto_config_android_zero_gen", @@ -18742,6 +18761,7 @@ cc_binary { ":perfetto_src_trace_processor_trace_summary_trace_summary", ":perfetto_src_trace_processor_types_types", ":perfetto_src_trace_processor_util_args_utils", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_processor_util_build_id", ":perfetto_src_trace_processor_util_bump_allocator", ":perfetto_src_trace_processor_util_clock", @@ -18886,17 +18906,15 @@ cc_binary { cc_binary { name: "trace_redactor", srcs: [ - ":perfetto_base_default_platform", ":perfetto_include_perfetto_base_base", ":perfetto_include_perfetto_ext_base_base", - ":perfetto_include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", ":perfetto_include_perfetto_protozero_protozero", ":perfetto_include_perfetto_public_abi_base", ":perfetto_include_perfetto_public_base", ":perfetto_include_perfetto_public_protozero", ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", - ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_protos_perfetto_common_zero_gen", ":perfetto_protos_perfetto_config_android_zero_gen", ":perfetto_protos_perfetto_config_ftrace_zero_gen", @@ -18912,7 +18930,6 @@ cc_binary { ":perfetto_protos_perfetto_config_system_info_zero_gen", ":perfetto_protos_perfetto_config_track_event_zero_gen", ":perfetto_protos_perfetto_config_zero_gen", - ":perfetto_protos_perfetto_perfetto_sql_zero_gen", ":perfetto_protos_perfetto_trace_android_winscope_common_zero_gen", ":perfetto_protos_perfetto_trace_android_winscope_regular_zero_gen", ":perfetto_protos_perfetto_trace_android_zero_gen", @@ -18927,62 +18944,21 @@ cc_binary { ":perfetto_protos_perfetto_trace_non_minimal_zero_gen", ":perfetto_protos_perfetto_trace_perfetto_zero_gen", ":perfetto_protos_perfetto_trace_power_zero_gen", - ":perfetto_protos_perfetto_trace_processor_zero_gen", ":perfetto_protos_perfetto_trace_profiling_zero_gen", ":perfetto_protos_perfetto_trace_ps_zero_gen", ":perfetto_protos_perfetto_trace_statsd_zero_gen", - ":perfetto_protos_perfetto_trace_summary_zero_gen", ":perfetto_protos_perfetto_trace_sys_stats_zero_gen", ":perfetto_protos_perfetto_trace_system_info_zero_gen", ":perfetto_protos_perfetto_trace_track_event_zero_gen", ":perfetto_protos_perfetto_trace_translation_zero_gen", - ":perfetto_protos_third_party_chromium_zero_gen", ":perfetto_src_base_base", ":perfetto_src_protozero_protozero", - ":perfetto_src_trace_processor_containers_containers", - ":perfetto_src_trace_processor_dataframe_dataframe", - ":perfetto_src_trace_processor_dataframe_impl_impl", - ":perfetto_src_trace_processor_dataframe_specs", - ":perfetto_src_trace_processor_importers_android_bugreport_android_dumpstate_event", - ":perfetto_src_trace_processor_importers_android_bugreport_android_log_event", - ":perfetto_src_trace_processor_importers_common_common", - ":perfetto_src_trace_processor_importers_common_parser_types", - ":perfetto_src_trace_processor_importers_common_synthetic_tid_hdr", - ":perfetto_src_trace_processor_importers_etw_minimal", - ":perfetto_src_trace_processor_importers_ftrace_minimal", - ":perfetto_src_trace_processor_importers_fuchsia_fuchsia_record", - ":perfetto_src_trace_processor_importers_memory_tracker_graph_processor", - ":perfetto_src_trace_processor_importers_perf_text_perf_text_sample_line_parser", - ":perfetto_src_trace_processor_importers_proto_minimal", - ":perfetto_src_trace_processor_importers_proto_packet_sequence_state_generation_hdr", - ":perfetto_src_trace_processor_importers_proto_proto_importer_module", - ":perfetto_src_trace_processor_importers_systrace_systrace_line", - ":perfetto_src_trace_processor_sorter_sorter", - ":perfetto_src_trace_processor_storage_minimal", - ":perfetto_src_trace_processor_storage_storage", - ":perfetto_src_trace_processor_tables_tables", - ":perfetto_src_trace_processor_types_types", - ":perfetto_src_trace_processor_util_build_id", - ":perfetto_src_trace_processor_util_bump_allocator", - ":perfetto_src_trace_processor_util_clock", - ":perfetto_src_trace_processor_util_descriptors", - ":perfetto_src_trace_processor_util_elf_elf", - ":perfetto_src_trace_processor_util_glob", - ":perfetto_src_trace_processor_util_gzip", - ":perfetto_src_trace_processor_util_interned_message_view", - ":perfetto_src_trace_processor_util_json_parser", - ":perfetto_src_trace_processor_util_profiler_util", - ":perfetto_src_trace_processor_util_proto_to_args_parser", - ":perfetto_src_trace_processor_util_protozero_to_text", - ":perfetto_src_trace_processor_util_regex", - ":perfetto_src_trace_processor_util_trace_blob_view_reader", - ":perfetto_src_trace_processor_util_trace_type", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_redaction_trace_redaction", "src/trace_redaction/main.cc", ], shared_libs: [ "liblog", - "libz", ], static_libs: [ "perfetto_flags_c_lib", @@ -19003,7 +18979,6 @@ cc_binary { "perfetto_protos_perfetto_config_system_info_zero_gen_headers", "perfetto_protos_perfetto_config_track_event_zero_gen_headers", "perfetto_protos_perfetto_config_zero_gen_headers", - "perfetto_protos_perfetto_perfetto_sql_zero_gen_headers", "perfetto_protos_perfetto_trace_android_winscope_common_zero_gen_headers", "perfetto_protos_perfetto_trace_android_winscope_regular_zero_gen_headers", "perfetto_protos_perfetto_trace_android_zero_gen_headers", @@ -19018,27 +18993,17 @@ cc_binary { "perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers", "perfetto_protos_perfetto_trace_perfetto_zero_gen_headers", "perfetto_protos_perfetto_trace_power_zero_gen_headers", - "perfetto_protos_perfetto_trace_processor_zero_gen_headers", "perfetto_protos_perfetto_trace_profiling_zero_gen_headers", "perfetto_protos_perfetto_trace_ps_zero_gen_headers", "perfetto_protos_perfetto_trace_statsd_zero_gen_headers", - "perfetto_protos_perfetto_trace_summary_zero_gen_headers", "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers", "perfetto_protos_perfetto_trace_system_info_zero_gen_headers", "perfetto_protos_perfetto_trace_track_event_zero_gen_headers", "perfetto_protos_perfetto_trace_translation_zero_gen_headers", - "perfetto_protos_third_party_chromium_zero_gen_headers", - "perfetto_src_trace_processor_importers_proto_gen_cc_android_track_event_descriptor", - "perfetto_src_trace_processor_importers_proto_gen_cc_chrome_track_event_descriptor", - "perfetto_src_trace_processor_importers_proto_gen_cc_track_event_descriptor", - "perfetto_src_trace_processor_tables_tables_python", ], defaults: [ "perfetto_defaults", ], - cflags: [ - "-DZLIB_IMPLEMENTATION", - ], apex_available: [ "//apex_available:platform", "com.android.profiling", @@ -19067,6 +19032,7 @@ cc_binary_host { ":perfetto_include_perfetto_trace_processor_basic_types", ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_trace_processor", + ":perfetto_include_perfetto_trace_processor_util", ":perfetto_protos_perfetto_common_cpp_gen", ":perfetto_protos_perfetto_common_zero_gen", ":perfetto_protos_perfetto_config_android_zero_gen", @@ -19192,6 +19158,7 @@ cc_binary_host { ":perfetto_src_trace_processor_trace_summary_trace_summary", ":perfetto_src_trace_processor_types_types", ":perfetto_src_trace_processor_util_args_utils", + ":perfetto_src_trace_processor_util_blob", ":perfetto_src_trace_processor_util_build_id", ":perfetto_src_trace_processor_util_bump_allocator", ":perfetto_src_trace_processor_util_clock", diff --git a/BUILD b/BUILD index 5a4bab225de..54050cc5db5 100644 --- a/BUILD +++ b/BUILD @@ -411,6 +411,7 @@ perfetto_cc_library( ":src_trace_processor_trace_summary_trace_summary", ":src_trace_processor_types_types", ":src_trace_processor_util_args_utils", + ":src_trace_processor_util_blob", ":src_trace_processor_util_build_id", ":src_trace_processor_util_bump_allocator", ":src_trace_processor_util_clock", @@ -451,6 +452,7 @@ perfetto_cc_library( ":include_perfetto_trace_processor_basic_types", ":include_perfetto_trace_processor_storage", ":include_perfetto_trace_processor_trace_processor", + ":include_perfetto_trace_processor_util", ], deps = [ ":protos_perfetto_common_cpp", @@ -545,6 +547,7 @@ perfetto_cc_library( ":include_perfetto_trace_processor_basic_types", ":include_perfetto_trace_processor_storage", ":include_perfetto_trace_processor_trace_processor", + ":include_perfetto_trace_processor_util", ], visibility = PERFETTO_CONFIG.public_visibility, deps = [ @@ -1140,9 +1143,6 @@ perfetto_filegroup( perfetto_filegroup( name = "include_perfetto_trace_processor_storage", srcs = [ - "include/perfetto/trace_processor/ref_counted.h", - "include/perfetto/trace_processor/trace_blob.h", - "include/perfetto/trace_processor/trace_blob_view.h", "include/perfetto/trace_processor/trace_processor_storage.h", ], ) @@ -1158,6 +1158,16 @@ perfetto_filegroup( ], ) +# GN target: //include/perfetto/trace_processor:util +perfetto_filegroup( + name = "include_perfetto_trace_processor_util", + srcs = [ + "include/perfetto/trace_processor/ref_counted.h", + "include/perfetto/trace_processor/trace_blob.h", + "include/perfetto/trace_processor/trace_blob_view.h", + ], +) + # GN target: //include/perfetto/tracing/core:core perfetto_filegroup( name = "include_perfetto_tracing_core_core", @@ -3728,6 +3738,14 @@ perfetto_filegroup( ], ) +# GN target: //src/trace_processor/util:blob +perfetto_filegroup( + name = "src_trace_processor_util_blob", + srcs = [ + "src/trace_processor/util/trace_blob.cc", + ], +) + # GN target: //src/trace_processor/util:build_id perfetto_filegroup( name = "src_trace_processor_util_build_id", @@ -3994,7 +4012,6 @@ perfetto_filegroup( srcs = [ "src/trace_processor/forwarding_trace_parser.cc", "src/trace_processor/forwarding_trace_parser.h", - "src/trace_processor/trace_blob.cc", "src/trace_processor/trace_processor_context.cc", "src/trace_processor/trace_processor_storage.cc", "src/trace_processor/trace_processor_storage_impl.cc", @@ -7594,6 +7611,7 @@ perfetto_cc_library( ":src_trace_processor_trace_summary_trace_summary", ":src_trace_processor_types_types", ":src_trace_processor_util_args_utils", + ":src_trace_processor_util_blob", ":src_trace_processor_util_build_id", ":src_trace_processor_util_bump_allocator", ":src_trace_processor_util_clock", @@ -7632,6 +7650,7 @@ perfetto_cc_library( ":include_perfetto_trace_processor_basic_types", ":include_perfetto_trace_processor_storage", ":include_perfetto_trace_processor_trace_processor", + ":include_perfetto_trace_processor_util", ], visibility = [ "//visibility:public", @@ -7725,6 +7744,7 @@ perfetto_cc_binary( ":include_perfetto_trace_processor_basic_types", ":include_perfetto_trace_processor_storage", ":include_perfetto_trace_processor_trace_processor", + ":include_perfetto_trace_processor_util", ":src_kernel_utils_kernel_wakelock_errors", ":src_kernel_utils_syscall_table", ":src_profiling_deobfuscator", @@ -7809,6 +7829,7 @@ perfetto_cc_binary( ":src_trace_processor_trace_summary_trace_summary", ":src_trace_processor_types_types", ":src_trace_processor_util_args_utils", + ":src_trace_processor_util_blob", ":src_trace_processor_util_build_id", ":src_trace_processor_util_bump_allocator", ":src_trace_processor_util_clock", @@ -7929,6 +7950,7 @@ perfetto_cc_binary( ":include_perfetto_trace_processor_basic_types", ":include_perfetto_trace_processor_storage", ":include_perfetto_trace_processor_trace_processor", + ":include_perfetto_trace_processor_util", ":src_kernel_utils_kernel_wakelock_errors", ":src_kernel_utils_syscall_table", ":src_profiling_deobfuscator", @@ -8010,6 +8032,7 @@ perfetto_cc_binary( ":src_trace_processor_trace_summary_trace_summary", ":src_trace_processor_types_types", ":src_trace_processor_util_args_utils", + ":src_trace_processor_util_blob", ":src_trace_processor_util_build_id", ":src_trace_processor_util_bump_allocator", ":src_trace_processor_util_clock", diff --git a/include/perfetto/trace_processor/BUILD.gn b/include/perfetto/trace_processor/BUILD.gn index 8c260542f38..4065a10ed73 100644 --- a/include/perfetto/trace_processor/BUILD.gn +++ b/include/perfetto/trace_processor/BUILD.gn @@ -26,13 +26,20 @@ source_set("trace_processor") { } source_set("storage") { + sources = [ "trace_processor_storage.h" ] + public_deps = [ + ":basic_types", + ":util", + ] +} + +source_set("util") { sources = [ "ref_counted.h", "trace_blob.h", "trace_blob_view.h", - "trace_processor_storage.h", ] - public_deps = [ ":basic_types" ] + deps = [ ":basic_types" ] } source_set("basic_types") { diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn index deab1b561f6..c86eb95d76e 100644 --- a/src/trace_processor/BUILD.gn +++ b/src/trace_processor/BUILD.gn @@ -116,7 +116,6 @@ source_set("storage_minimal") { sources = [ "forwarding_trace_parser.cc", "forwarding_trace_parser.h", - "trace_blob.cc", "trace_processor_context.cc", "trace_processor_storage.cc", "trace_processor_storage_impl.cc", @@ -141,6 +140,7 @@ source_set("storage_minimal") { "storage", "tables", "types", + "util:blob", "util:descriptors", "util:gzip", "util:proto_to_args_parser", diff --git a/src/trace_processor/util/BUILD.gn b/src/trace_processor/util/BUILD.gn index de8fd68c5de..db27b0cc0a5 100644 --- a/src/trace_processor/util/BUILD.gn +++ b/src/trace_processor/util/BUILD.gn @@ -64,6 +64,17 @@ source_set("build_id") { ] } +source_set("blob") { + sources = [ "trace_blob.cc" ] + deps = [ + "../../../gn:default_deps", + "../../../include/perfetto/ext/base:base", + "../../../include/perfetto/trace_processor:basic_types", + "../../../include/perfetto/trace_processor:util", + "../../../protos/perfetto/common:zero", + ] +} + source_set("clock") { sources = [ "clock_synchronizer.h" ] deps = [ diff --git a/src/trace_processor/trace_blob.cc b/src/trace_processor/util/trace_blob.cc similarity index 100% rename from src/trace_processor/trace_blob.cc rename to src/trace_processor/util/trace_blob.cc diff --git a/src/trace_redaction/BUILD.gn b/src/trace_redaction/BUILD.gn index a424f809f0b..ba3be9af7f9 100644 --- a/src/trace_redaction/BUILD.gn +++ b/src/trace_redaction/BUILD.gn @@ -85,7 +85,7 @@ source_set("trace_redaction") { "../../protos/perfetto/trace/android:zero", "../../protos/perfetto/trace/ftrace:zero", "../../protos/perfetto/trace/ps:zero", - "../trace_processor:storage_minimal", + "../trace_processor/util:blob", ] } From ff11fbe7c825083afe471945766e615bc675800b Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Wed, 8 Oct 2025 19:55:45 +0000 Subject: [PATCH 036/370] Add collect clocks primitive to trace redactor (#3070) Collect clocks primitive is used to collect clock information from the trace. This is intended to be used in future commits to perform redactor Timeline conversions between different clocks in redacted traces. --- Android.bp | 5 +- src/trace_redaction/BUILD.gn | 11 +- src/trace_redaction/collect_clocks.cc | 130 ++++++++++++ src/trace_redaction/collect_clocks.h | 65 ++++++ .../collect_clocks_unittest.cc | 196 ++++++++++++++++++ .../redactor_clock_converter.cc | 138 ++++++++++++ .../redactor_clock_converter.h | 138 ++++++++++++ .../trace_redaction_framework.h | 3 + src/trace_redaction/trace_redactor.cc | 2 + 9 files changed, 686 insertions(+), 2 deletions(-) create mode 100644 src/trace_redaction/collect_clocks.cc create mode 100644 src/trace_redaction/collect_clocks.h create mode 100644 src/trace_redaction/collect_clocks_unittest.cc create mode 100644 src/trace_redaction/redactor_clock_converter.cc create mode 100644 src/trace_redaction/redactor_clock_converter.h diff --git a/Android.bp b/Android.bp index 9433cd3bf66..7c74c60fd33 100644 --- a/Android.bp +++ b/Android.bp @@ -15813,6 +15813,7 @@ filegroup { srcs: [ "src/trace_redaction/add_synth_threads_to_process_trees.cc", "src/trace_redaction/broadphase_packet_filter.cc", + "src/trace_redaction/collect_clocks.cc", "src/trace_redaction/collect_frame_cookies.cc", "src/trace_redaction/collect_system_info.cc", "src/trace_redaction/collect_timeline_events.cc", @@ -15828,6 +15829,7 @@ filegroup { "src/trace_redaction/redact_ftrace_events.cc", "src/trace_redaction/redact_process_events.cc", "src/trace_redaction/redact_sched_events.cc", + "src/trace_redaction/redactor_clock_converter.cc", "src/trace_redaction/reduce_threads_in_process_trees.cc", "src/trace_redaction/scrub_process_stats.cc", "src/trace_redaction/trace_redaction_framework.cc", @@ -15841,6 +15843,7 @@ filegroup { name: "perfetto_src_trace_redaction_unittests", srcs: [ "src/trace_redaction/broadphase_packet_filter_unittest.cc", + "src/trace_redaction/collect_clocks_unittest.cc", "src/trace_redaction/collect_frame_cookies_unittest.cc", "src/trace_redaction/collect_system_info_unittest.cc", "src/trace_redaction/collect_timeline_events_unittest.cc", @@ -18913,7 +18916,6 @@ cc_binary { ":perfetto_include_perfetto_public_base", ":perfetto_include_perfetto_public_protozero", ":perfetto_include_perfetto_trace_processor_basic_types", - ":perfetto_include_perfetto_trace_processor_storage", ":perfetto_include_perfetto_trace_processor_util", ":perfetto_protos_perfetto_common_zero_gen", ":perfetto_protos_perfetto_config_android_zero_gen", @@ -18954,6 +18956,7 @@ cc_binary { ":perfetto_src_base_base", ":perfetto_src_protozero_protozero", ":perfetto_src_trace_processor_util_blob", + ":perfetto_src_trace_processor_util_clock", ":perfetto_src_trace_redaction_trace_redaction", "src/trace_redaction/main.cc", ], diff --git a/src/trace_redaction/BUILD.gn b/src/trace_redaction/BUILD.gn index ba3be9af7f9..565c0c85732 100644 --- a/src/trace_redaction/BUILD.gn +++ b/src/trace_redaction/BUILD.gn @@ -32,6 +32,8 @@ source_set("trace_redaction") { "add_synth_threads_to_process_trees.h", "broadphase_packet_filter.cc", "broadphase_packet_filter.h", + "collect_clocks.cc", + "collect_clocks.h", "collect_frame_cookies.cc", "collect_frame_cookies.h", "collect_system_info.cc", @@ -63,6 +65,8 @@ source_set("trace_redaction") { "redact_process_events.h", "redact_sched_events.cc", "redact_sched_events.h", + "redactor_clock_converter.cc", + "redactor_clock_converter.h", "reduce_threads_in_process_trees.cc", "reduce_threads_in_process_trees.h", "scrub_process_stats.cc", @@ -79,13 +83,15 @@ source_set("trace_redaction") { "../../include/perfetto/base", "../../include/perfetto/ext/base", "../../include/perfetto/protozero:protozero", - "../../include/perfetto/trace_processor:storage", + "../../include/perfetto/trace_processor:util", "../../protos/perfetto/common:zero", + "../../protos/perfetto/trace:minimal_zero", "../../protos/perfetto/trace:non_minimal_zero", "../../protos/perfetto/trace/android:zero", "../../protos/perfetto/trace/ftrace:zero", "../../protos/perfetto/trace/ps:zero", "../trace_processor/util:blob", + "../trace_processor/util:clock", ] } @@ -125,6 +131,7 @@ perfetto_unittest_source_set("unittests") { testonly = true sources = [ "broadphase_packet_filter_unittest.cc", + "collect_clocks_unittest.cc", "collect_frame_cookies_unittest.cc", "collect_system_info_unittest.cc", "collect_timeline_events_unittest.cc", @@ -144,8 +151,10 @@ perfetto_unittest_source_set("unittests") { "../../include/perfetto/ext/base:base", "../../include/perfetto/protozero:protozero", "../../protos/perfetto/common:cpp", + "../../protos/perfetto/common:zero", "../../protos/perfetto/config:cpp", "../../protos/perfetto/config:zero", + "../../protos/perfetto/trace:minimal_cpp", "../../protos/perfetto/trace:non_minimal_cpp", "../../protos/perfetto/trace:zero", "../../protos/perfetto/trace/android:cpp", diff --git a/src/trace_redaction/collect_clocks.cc b/src/trace_redaction/collect_clocks.cc new file mode 100644 index 00000000000..58829d00b82 --- /dev/null +++ b/src/trace_redaction/collect_clocks.cc @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_redaction/collect_clocks.h" + +#include "perfetto/protozero/field.h" + +#include "perfetto/base/status.h" +#include "perfetto/ext/base/status_macros.h" +#include "src/trace_redaction/trace_redaction_framework.h" + +#include "protos/perfetto/trace/clock_snapshot.pbzero.h" +#include "protos/perfetto/trace/trace_packet_defaults.pbzero.h" + +using namespace perfetto::trace_processor; + +namespace perfetto::trace_redaction { + +base::Status CollectClocks::Collect( + const protos::pbzero::TracePacket::Decoder& packet, + Context* context) const { + if (packet.has_clock_snapshot()) { + RETURN_IF_ERROR(ParseClockSnapshot(packet, context)); + } else if (packet.has_trace_packet_defaults()) { + RETURN_IF_ERROR(ParseTracePacketDefaults(packet, context)); + } + + return base::OkStatus(); +} + +base::Status CollectClocks::ParseClockSnapshot( + const protos::pbzero::TracePacket::Decoder& packet, + Context* context) const { + PERFETTO_DCHECK(packet.has_clock_snapshot()); + + // clock_snapshot_ is used specifically for performance reasons + // to avoid re-creating a local vector for every packet collection. + // It is only used by this function and won't impact logic elsewhere, + // it merely caches the local variable to avoid re-creating it every + // during every function call. + // The append-only architecture of Collector is maintained, however, + // this approach assumes that Collectors are single-threaded. + clock_snapshot_.clear(); + + protos::pbzero::ClockSnapshot::Decoder snapshot_decoder( + packet.clock_snapshot()); + + if (snapshot_decoder.has_primary_trace_clock()) { + int32_t trace_clock = snapshot_decoder.primary_trace_clock(); + RETURN_IF_ERROR(context->clock_converter.SetTraceClock( + static_cast(trace_clock))); + } + for (auto clock_it = snapshot_decoder.clocks(); clock_it; clock_it++) { + ASSIGN_OR_RETURN(ClockTimestamp clock_ts, ParseClock(clock_it->as_bytes())); + clock_snapshot_.push_back(clock_ts); + } + + RETURN_IF_ERROR(context->clock_converter.AddClockSnapshot(clock_snapshot_)); + + return base::OkStatus(); +} + +base::Status CollectClocks::ParseTracePacketDefaults( + const protos::pbzero::TracePacket::Decoder& packet, + Context* context) const { + PERFETTO_DCHECK(packet.has_trace_packet_defaults()); + + if (!packet.has_trusted_packet_sequence_id()) { + return base::ErrStatus( + "Could not find sequence id for TracePacketDefaults"); + } + uint32_t trusted_seq_id = packet.trusted_packet_sequence_id(); + RETURN_IF_ERROR(OnTracePacketDefaults(packet.trace_packet_defaults(), + trusted_seq_id, context)); + + return base::OkStatus(); +} + +base::StatusOr CollectClocks::ParseClock( + protozero::ConstBytes clock_bytes) const { + ClockTimestamp clock_ts(0, 0); + protos::pbzero::ClockSnapshot_Clock::Decoder clock_decoder(clock_bytes); + if (!clock_decoder.has_clock_id()) { + return base::ErrStatus("Could not find clock id in clock snapshot"); + } + + if (!clock_decoder.has_timestamp()) { + return base::ErrStatus("Could not find clock timestamp in clock snapshot"); + } + return ClockTimestamp(static_cast(clock_decoder.clock_id()), + static_cast(clock_decoder.timestamp())); +} + +base::Status CollectClocks::OnTracePacketDefaults( + protozero::ConstBytes trace_packet_defaults, + uint32_t trusted_sequence_id, + Context* context) const { + protos::pbzero::TracePacketDefaults::Decoder trace_packet_defaults_decoder( + trace_packet_defaults); + if (trace_packet_defaults_decoder.has_perf_sample_defaults()) { + // We have found a packet that defines default clocks for perf data source + // collect that information as it will be required to convert packets from + // that data source into trace time to be used by the redactor timeline. + if (!trace_packet_defaults_decoder.has_timestamp_clock_id()) { + return base::ErrStatus( + "Could not find a timestamp in trace packet defaults"); + } + uint32_t perf_clock_id = trace_packet_defaults_decoder.timestamp_clock_id(); + context->clock_converter.SetDefaultDataSourceClock( + RedactorClockConverter::DataSourceType::kPerfDataSource, perf_clock_id, + trusted_sequence_id); + } + + return base::OkStatus(); +} + +} // namespace perfetto::trace_redaction diff --git a/src/trace_redaction/collect_clocks.h b/src/trace_redaction/collect_clocks.h new file mode 100644 index 00000000000..929f1b9fe6c --- /dev/null +++ b/src/trace_redaction/collect_clocks.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_REDACTION_COLLECT_CLOCKS_H_ +#define SRC_TRACE_REDACTION_COLLECT_CLOCKS_H_ + +#include "src/trace_redaction/trace_redaction_framework.h" + +namespace perfetto::trace_redaction { + +// Different data sources may use different clocks, however, +// the trace redactor ProcessThreadTimeline uses the trace time clock +// for time computations. +// +// Therefore, in order to use the timeline, we have to normalize clocks +// to the same domain. Thus, we collect the clock domain conversion information +// which will be used by other TransformerPrimitives to normalize clocks prior +// to sending to timeline. +// +// We do not perform in-situ transformations for the timestamps as the trace +// viewer expects those timestamps to remain un-normalized in the redacted +// trace. +class CollectClocks : public CollectPrimitive { + public: + base::Status Collect( + const protos::pbzero::TracePacket::Decoder& packet_decoder, + Context* context) const override; + + private: + base::Status OnTracePacketDefaults( + protozero::ConstBytes trace_packet_defaults_bytes, + uint32_t trusted_sequence_id, + Context* context) const; + + base::StatusOr ParseClock( + protozero::ConstBytes clock_bytes) const; + + base::Status ParseClockSnapshot( + const protos::pbzero::TracePacket::Decoder& packet, + Context* context) const; + + base::Status ParseTracePacketDefaults( + const protos::pbzero::TracePacket::Decoder& packet, + Context* context) const; + + mutable std::vector + clock_snapshot_; +}; + +} // namespace perfetto::trace_redaction + +#endif // SRC_TRACE_REDACTION_COLLECT_CLOCKS_H_ diff --git a/src/trace_redaction/collect_clocks_unittest.cc b/src/trace_redaction/collect_clocks_unittest.cc new file mode 100644 index 00000000000..a56ef50ef85 --- /dev/null +++ b/src/trace_redaction/collect_clocks_unittest.cc @@ -0,0 +1,196 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_redaction/collect_clocks.h" +#include "perfetto/ext/base/status_macros.h" +#include "src/base/test/status_matchers.h" +#include "test/gtest_and_gmock.h" + +#include "protos/perfetto/common/builtin_clock.pbzero.h" +#include "protos/perfetto/trace/clock_snapshot.gen.h" +#include "protos/perfetto/trace/trace_packet.gen.h" +#include "protos/perfetto/trace/trace_packet_defaults.gen.h" + +namespace perfetto::trace_redaction { + +class CollectClocksTest : public testing::Test { + protected: + base::Status Collect() { + std::string trace_buffer; + for (auto&& packet : packets_) { + std::string p = packet.SerializeAsString(); + protos::pbzero::TracePacket::Decoder decoder(p); + RETURN_IF_ERROR(collect_.Begin(&context_)); + RETURN_IF_ERROR(collect_.Collect(decoder, &context_)); + RETURN_IF_ERROR(collect_.End(&context_)); + } + + return base::OkStatus(); + } + + void AddPerfTraceDefaultsToPacket(protos::gen::TracePacket& trace_packet, + uint32_t trusted_seq_id, + uint32_t clock_id) { + auto* packet_defaults = trace_packet.mutable_trace_packet_defaults(); + + trace_packet.set_trusted_packet_sequence_id(trusted_seq_id); + + packet_defaults->set_timestamp_clock_id(clock_id); + + // Create perf sample defaults so that the clock is detected as a perf + // clock. + packet_defaults->mutable_perf_sample_defaults(); + } + + std::vector packets_; + Context context_; + CollectClocks collect_; +}; + +TEST_F(CollectClocksTest, CollectsClocksAndConvertsPerfToTraceTs) { + // We need a trusted sequence id that will be used to map the clock ids. + constexpr uint32_t trusted_sequence_id = 7; + constexpr uint32_t perf_clock_id = 1; + constexpr int trace_clock_id = 4; + + protos::gen::TracePacket trace_defaults_packet; + AddPerfTraceDefaultsToPacket(trace_defaults_packet, trusted_sequence_id, + perf_clock_id); + + packets_.push_back(trace_defaults_packet); + + protos::gen::TracePacket clock_snapshot_packet; + + auto* clock_snapshot = clock_snapshot_packet.mutable_clock_snapshot(); + clock_snapshot->set_primary_trace_clock( + static_cast(trace_clock_id)); + auto* clocks = clock_snapshot->mutable_clocks(); + + // Add a few clocks + protos::gen::ClockSnapshot_Clock clock1; + clock1.set_clock_id(trace_clock_id); + clock1.set_timestamp(100); + clocks->push_back(clock1); + + protos::gen::ClockSnapshot_Clock clock2; + clock2.set_clock_id(perf_clock_id); + clock2.set_timestamp(500); + clocks->push_back(clock2); + + packets_.push_back(clock_snapshot_packet); + + ASSERT_OK(Collect()); + + base::StatusOr primary_clock_id = + context_.clock_converter.GetTraceClock(); + ASSERT_OK(primary_clock_id); + ASSERT_EQ(primary_clock_id.value(), trace_clock_id); + + base::StatusOr clock_id = + context_.clock_converter.GetDataSourceClock( + trusted_sequence_id, + RedactorClockConverter::DataSourceType::kPerfDataSource); + ASSERT_OK(clock_id); + ASSERT_EQ(clock_id.value(), perf_clock_id); + base::StatusOr trace_ts_1 = + context_.clock_converter.ConvertToTrace(clock_id.value(), 700); + ASSERT_OK(trace_ts_1); + ASSERT_EQ(trace_ts_1.value(), 300u); // 700 - 500 + 100 = 300 + + clock_id = context_.clock_converter.GetDataSourceClock( + trusted_sequence_id, + RedactorClockConverter::DataSourceType::kPerfDataSource); + ASSERT_OK(clock_id); + ASSERT_EQ(clock_id.value(), perf_clock_id); + base::StatusOr trace_ts_2 = + context_.clock_converter.ConvertToTrace(clock_id.value(), 1000); + ASSERT_OK(trace_ts_2); + ASSERT_EQ(trace_ts_2.value(), 600u); // 1000 - 500 + 100 +} + +TEST_F(CollectClocksTest, CollectsClocksMultiSequence) { + packets_.clear(); + constexpr int trace_clock_id = 4; + + // Create defaults for first trusted sequence + constexpr int trusted_sequence_id_1 = 1; + constexpr int perf_clock_id_seq_1 = 5; + protos::gen::TracePacket trace_defaults_packet_seq_1; + AddPerfTraceDefaultsToPacket(trace_defaults_packet_seq_1, + trusted_sequence_id_1, perf_clock_id_seq_1); + packets_.push_back(trace_defaults_packet_seq_1); + + // Create defaults for second trusted sequence + constexpr int trusted_sequence_id_2 = 2; + constexpr int perf_clock_id_seq_2 = 6; + protos::gen::TracePacket trace_defaults_packet_seq_2; + AddPerfTraceDefaultsToPacket(trace_defaults_packet_seq_2, + trusted_sequence_id_2, perf_clock_id_seq_2); + packets_.push_back(trace_defaults_packet_seq_2); + + protos::gen::TracePacket clock_snapshot_packet; + + auto* clock_snapshot = clock_snapshot_packet.mutable_clock_snapshot(); + clock_snapshot->set_primary_trace_clock( + static_cast(trace_clock_id)); + auto* clocks = clock_snapshot->mutable_clocks(); + + // Add a few clocks + protos::gen::ClockSnapshot_Clock clock1; + clock1.set_clock_id(trace_clock_id); + clock1.set_timestamp(100); + clocks->push_back(clock1); + + protos::gen::ClockSnapshot_Clock clock2; + clock2.set_clock_id(perf_clock_id_seq_1); + clock2.set_timestamp(500); + clocks->push_back(clock2); + + protos::gen::ClockSnapshot_Clock clock3; + clock3.set_clock_id(perf_clock_id_seq_2); + clock3.set_timestamp(800); + clocks->push_back(clock3); + packets_.push_back(clock_snapshot_packet); + + ASSERT_OK(Collect()); + base::StatusOr primary_clock_id = + context_.clock_converter.GetTraceClock(); + ASSERT_OK(primary_clock_id); + ASSERT_EQ(primary_clock_id.value(), trace_clock_id); + + base::StatusOr clock_id = + context_.clock_converter.GetDataSourceClock( + trusted_sequence_id_1, + RedactorClockConverter::DataSourceType::kPerfDataSource); + ASSERT_OK(clock_id); + ASSERT_EQ(clock_id.value(), perf_clock_id_seq_1); + base::StatusOr trace_ts_1 = + context_.clock_converter.ConvertToTrace(clock_id.value(), 700); + ASSERT_OK(trace_ts_1); + ASSERT_EQ(trace_ts_1.value(), 300u); // 700 - 500 + 100 = 300 + + clock_id = context_.clock_converter.GetDataSourceClock( + trusted_sequence_id_2, + RedactorClockConverter::DataSourceType::kPerfDataSource); + ASSERT_OK(clock_id); + ASSERT_EQ(clock_id.value(), perf_clock_id_seq_2); + base::StatusOr trace_ts_2 = + context_.clock_converter.ConvertToTrace(clock_id.value(), 1000); + ASSERT_OK(trace_ts_2); + ASSERT_EQ(trace_ts_2.value(), 300u); // 1000 - 800 + 100 +} + +} // namespace perfetto::trace_redaction diff --git a/src/trace_redaction/redactor_clock_converter.cc b/src/trace_redaction/redactor_clock_converter.cc new file mode 100644 index 00000000000..985f92264c5 --- /dev/null +++ b/src/trace_redaction/redactor_clock_converter.cc @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_redaction/redactor_clock_converter.h" + +namespace perfetto::trace_redaction { + +using ClockId = RedactorClockSynchronizer::ClockId; + +RedactorClockSynchronizerListenerImpl::RedactorClockSynchronizerListenerImpl() + : trace_time_updates_(0) {} + +base::Status RedactorClockSynchronizerListenerImpl::OnClockSyncCacheMiss() { + return base::OkStatus(); +} + +base::Status RedactorClockSynchronizerListenerImpl::OnInvalidClockSnapshot() { + return base::ErrStatus("Invalid clocks snapshot found during redaction"); +} + +base::Status RedactorClockSynchronizerListenerImpl::OnTraceTimeClockIdChanged( + ClockId trace_time_clock_id [[maybe_unused]]) { + ++trace_time_updates_; + if (PERFETTO_UNLIKELY(trace_time_updates_ > 1)) { + // We expect the trace time to remain constant for a trace. + return base::ErrStatus( + "Redactor clock conversion trace time unexpectedly changed %d times", + trace_time_updates_); + } + return base::OkStatus(); +} + +base::Status RedactorClockSynchronizerListenerImpl::OnSetTraceTimeClock( + ClockId trace_time_clock_id [[maybe_unused]]) { + return base::OkStatus(); +} + +bool RedactorClockSynchronizerListenerImpl::IsLocalHost() { + // Redactor does not support multi-machine clock conversion + return true; +} + +RedactorClockConverter::RedactorClockConverter() + : clock_synchronizer_( + std::make_unique()) {} + +base::StatusOr RedactorClockConverter::GetTraceClock() { + if (!primary_trace_clock_.has_value()) { + // Set the default clocks if none has been provided. + RETURN_IF_ERROR( + SetTraceClock(protos::pbzero::BuiltinClock::BUILTIN_CLOCK_BOOTTIME)); + } + PERFETTO_DCHECK(primary_trace_clock_.has_value()); + return primary_trace_clock_.value(); +} + +base::Status RedactorClockConverter::SetTraceClock(ClockId clock_id) { + primary_trace_clock_ = clock_id; + RETURN_IF_ERROR(clock_synchronizer_.SetTraceTimeClock(clock_id)); + return base::OkStatus(); +} + +void RedactorClockConverter::SetDefaultDataSourceClock( + DataSourceType clock_type, + ClockId clock_id, + SequenceId trusted_seq_id) { + seq_to_default_clocks_[trusted_seq_id].SetClock(clock_type, clock_id); +} + +std::optional +RedactorClockConverter::GetSequenceDefaultDataSourceClock( + SequenceId trusted_seq_id, + DataSourceType source_type) const { + SequenceClocks* sequence_clocks = seq_to_default_clocks_.Find(trusted_seq_id); + if (sequence_clocks == nullptr) { + return std::nullopt; + } + return sequence_clocks->GetClockId(source_type); +} + +base::StatusOr RedactorClockConverter::GetGlobalDefaultDataSourceClock( + const DataSourceType& clock_type) const { + switch (clock_type) { + case DataSourceType::kPerfDataSource: + return protos::pbzero::BuiltinClock::BUILTIN_CLOCK_MONOTONIC_RAW; + case DataSourceType::kUnknown: + // A default needs to be set for the data source if you get here. + return base::ErrStatus( + "Failed to retrieve a global default clock for data source=%d", + static_cast(clock_type)); + } + + return base::ErrStatus("Data source %d global default has not been defined.", + static_cast(clock_type)); +} + +base::StatusOr RedactorClockConverter::GetDataSourceClock( + SequenceId trusted_seq_id, + DataSourceType clock_type) const { + auto default_seq_clock = + GetSequenceDefaultDataSourceClock(trusted_seq_id, clock_type); + if (PERFETTO_UNLIKELY(!default_seq_clock.has_value())) { + return GetGlobalDefaultDataSourceClock(clock_type); + } + return default_seq_clock.value(); +} + +base::Status RedactorClockConverter::AddClockSnapshot( + std::vector& clock_snapshot) { + base::StatusOr snapshot_id = + clock_synchronizer_.AddSnapshot(clock_snapshot); + RETURN_IF_ERROR(snapshot_id.status()); + return base::OkStatus(); +} + +base::StatusOr RedactorClockConverter::ConvertToTrace( + ClockId source_clock_id, + uint64_t source_ts) const { + ASSIGN_OR_RETURN(int64_t trace_ts, + clock_synchronizer_.ToTraceTime( + source_clock_id, static_cast(source_ts))); + return static_cast(trace_ts); +} + +} // namespace perfetto::trace_redaction diff --git a/src/trace_redaction/redactor_clock_converter.h b/src/trace_redaction/redactor_clock_converter.h new file mode 100644 index 00000000000..88e19b684a9 --- /dev/null +++ b/src/trace_redaction/redactor_clock_converter.h @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_REDACTION_REDACTOR_CLOCK_CONVERTER_H_ +#define SRC_TRACE_REDACTION_REDACTOR_CLOCK_CONVERTER_H_ + +#include +#include "perfetto/ext/base/status_macros.h" +#include "protos/perfetto/common/builtin_clock.pbzero.h" +#include "src/trace_processor/util/clock_synchronizer.h" + +namespace perfetto::trace_redaction { + +class RedactorClockSynchronizerListenerImpl { + public: + RedactorClockSynchronizerListenerImpl(); + + base::Status OnClockSyncCacheMiss(); + + base::Status OnInvalidClockSnapshot(); + + base::Status OnTraceTimeClockIdChanged( + perfetto::trace_processor::ClockSynchronizer< + RedactorClockSynchronizerListenerImpl>::ClockId trace_time_clock_id); + + base::Status OnSetTraceTimeClock( + perfetto::trace_processor::ClockSynchronizer< + RedactorClockSynchronizerListenerImpl>::ClockId trace_time_clock_id); + + // Always returns true as redactor only supports local host clock conversion. + bool IsLocalHost(); + + private: + // Number of time that trace time has been updated. + uint32_t trace_time_updates_; +}; + +using RedactorClockSynchronizer = perfetto::trace_processor::ClockSynchronizer< + RedactorClockSynchronizerListenerImpl>; + +using SequenceId = uint32_t; +using ClockId = RedactorClockSynchronizer::ClockId; +using ClockTimestamp = RedactorClockSynchronizer::ClockTimestamp; + +// This class handles conversions between different clocks for trace redactor. +// +// This class is a wrapper for trace_processor::ClockSynchronizer with the +// addition that it caches clocks required for conversion for different data +// sources and it is designed to be used by the trace redactor. +// +// Any trace packet intends to use the redactor ProcessThreadTimeline and whose +// clock won't be the default trace time should use this class to convert +// it to the default trace time which is used by ProcessThreadTimeline. +class RedactorClockConverter { + public: + enum class DataSourceType { kPerfDataSource, kUnknown }; + + RedactorClockConverter(); + + // Sets the global trace clock which will be the target clock used for + // conversions. + base::Status SetTraceClock(ClockId clock_id); + + base::StatusOr GetTraceClock(); + + // Sets the clock_id to be used as the default for the provided + // (trusted_sequence_id, clock_type) pair + void SetDefaultDataSourceClock(DataSourceType clock_type, + ClockId clock_id, + SequenceId trusted_sequence_id); + + // Returns the clock that should be used for the current data source when no + // timestamp_clock_id override is specified for the packet. + base::StatusOr GetDataSourceClock(SequenceId trusted_seq_id, + DataSourceType clock_type) const; + + // Add a new clock snapshot which will be used for clock synchronization. + base::Status AddClockSnapshot(std::vector& clock_snapshot); + + // Converts timestamp from a source clock to trace time. + // Returns the timestamp converted to the trace domain. + base::StatusOr ConvertToTrace(ClockId source_clock_id, + uint64_t source_ts) const; + + private: + // This class is used to keep track of default clock ids for each sequence. + // It is an abstraction of the TracePacketDefaults parsed from the trace. + class SequenceClocks { + public: + // Get the Clock Id for the provided clock_type if exists. + std::optional GetClockId(DataSourceType clock_type) const { + auto clock_id = clock_type_to_id_.Find(clock_type); + if (clock_id == nullptr) { + return std::nullopt; + } + return *clock_id; + } + + void SetClock(DataSourceType clock_type, ClockId clock_id) { + clock_type_to_id_[clock_type] = clock_id; + } + + private: + base::FlatHashMap clock_type_to_id_; + }; + + // Returns the default clock id to be used for the specified data source when + // packet does not specify a TracePacket::timestamp_clock_id + std::optional GetSequenceDefaultDataSourceClock( + SequenceId trusted_seq_id, + DataSourceType clock_type) const; + + // Returns the default clocks to be used when neither a packet clock nor a + // sequence clock have been specified. + base::StatusOr GetGlobalDefaultDataSourceClock( + const DataSourceType& clock_type) const; + + mutable RedactorClockSynchronizer clock_synchronizer_; + std::optional primary_trace_clock_; + base::FlatHashMap seq_to_default_clocks_; +}; + +} // namespace perfetto::trace_redaction + +#endif // SRC_TRACE_REDACTION_REDACTOR_CLOCK_CONVERTER_H_ diff --git a/src/trace_redaction/trace_redaction_framework.h b/src/trace_redaction/trace_redaction_framework.h index 0620cef714c..829b837aea2 100644 --- a/src/trace_redaction/trace_redaction_framework.h +++ b/src/trace_redaction/trace_redaction_framework.h @@ -29,6 +29,7 @@ #include "perfetto/base/status.h" #include "src/trace_redaction/frame_cookie.h" #include "src/trace_redaction/process_thread_timeline.h" +#include "src/trace_redaction/redactor_clock_converter.h" #include "protos/perfetto/trace/trace_packet.pbzero.h" @@ -356,6 +357,8 @@ class Context { std::optional system_info; std::unique_ptr synthetic_process; + + RedactorClockConverter clock_converter; }; // Extracts low-level data from the trace and writes it into the context. The diff --git a/src/trace_redaction/trace_redactor.cc b/src/trace_redaction/trace_redactor.cc index 355b7e67b70..5265bd6732c 100644 --- a/src/trace_redaction/trace_redactor.cc +++ b/src/trace_redaction/trace_redactor.cc @@ -30,6 +30,7 @@ #include "perfetto/trace_processor/trace_blob_view.h" #include "src/trace_redaction/add_synth_threads_to_process_trees.h" #include "src/trace_redaction/broadphase_packet_filter.h" +#include "src/trace_redaction/collect_clocks.h" #include "src/trace_redaction/collect_frame_cookies.h" #include "src/trace_redaction/collect_system_info.h" #include "src/trace_redaction/collect_timeline_events.h" @@ -168,6 +169,7 @@ std::unique_ptr TraceRedactor::CreateInstance( redactor->emplace_collect(); redactor->emplace_collect(); redactor->emplace_collect(); + redactor->emplace_collect(); // Add all builders. redactor->emplace_build(); From 1f8e2dc12bf7ad81873c6eda041727ec43bc8b5d Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 22:56:18 +0100 Subject: [PATCH 037/370] tp: speed up connect flow operator (#3223) Instead of doing O(n) lookups, cache the data in a HashMap. Ideally we would have an index directly on the underlying table but that logic is a bit murky because of the SharedStorage logic so don't use that. Ideally we would migrate to the index when that is removed/improved. Bug: https://github.com/google/perfetto/discussions/3220 --- .../table_functions/connected_flow.cc | 58 ++++++++++--------- .../table_functions/connected_flow.h | 25 +++++++- 2 files changed, 53 insertions(+), 30 deletions(-) diff --git a/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.cc b/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.cc index e3e4f185390..df3b2fafc6c 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.cc +++ b/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.cc @@ -71,12 +71,10 @@ enum RelativesVisitMode : uint8_t { class BFS { public: explicit BFS(const TraceStorage* storage, - tables::FlowTable::ConstCursor& incoming_cursor, - tables::FlowTable::ConstCursor& outgoing_cursor, + const FlowGraph& flow_graph, tables::SliceTable::ConstCursor& descendant_cursor) : storage_(storage), - incoming_cursor_(incoming_cursor), - outgoing_cursor_(outgoing_cursor), + flow_graph_(flow_graph), descendant_cursor_(descendant_cursor) {} std::vector TakeResultingFlows() && { @@ -153,15 +151,22 @@ class BFS { void GoByFlow(SliceId slice_id, FlowDirection flow_direction) { PERFETTO_DCHECK(known_slices_.count(slice_id) != 0); - auto& cursor = flow_direction == FlowDirection::OUTGOING ? outgoing_cursor_ - : incoming_cursor_; - cursor.SetFilterValueUnchecked(0, slice_id.value); - for (cursor.Execute(); !cursor.Eof(); cursor.Next()) { - flow_rows_.push_back(cursor.ToRowNumber()); + const auto& flow_map = flow_direction == FlowDirection::OUTGOING + ? flow_graph_.outgoing_flows + : flow_graph_.incoming_flows; + auto* flows = flow_map.Find(slice_id); + if (!flows) { + return; + } + + const auto& flow_table = storage_->flow_table(); + for (tables::FlowTable::RowNumber row : *flows) { + flow_rows_.push_back(row); + auto ref = row.ToRowReference(flow_table); SliceId next_slice_id = flow_direction == FlowDirection::OUTGOING - ? cursor.slice_in() - : cursor.slice_out(); + ? ref.slice_in() + : ref.slice_out(); if (known_slices_.count(next_slice_id)) { continue; } @@ -187,8 +192,7 @@ class BFS { } const TraceStorage* storage_; - tables::FlowTable::ConstCursor& incoming_cursor_; - tables::FlowTable::ConstCursor& outgoing_cursor_; + const FlowGraph& flow_graph_; tables::SliceTable::ConstCursor& descendant_cursor_; std::queue> slices_to_visit_; @@ -204,20 +208,6 @@ ConnectedFlow::Cursor::Cursor(Mode mode, TraceStorage* storage) : mode_(mode), storage_(storage), table_(storage->mutable_string_pool()), - outgoing_cursor_( - storage->flow_table().CreateCursor({dataframe::FilterSpec{ - tables::FlowTable::ColumnIndex::slice_out, - 0, - dataframe::Eq{}, - std::nullopt, - }})), - incoming_cursor_( - storage->flow_table().CreateCursor({dataframe::FilterSpec{ - tables::FlowTable::ColumnIndex::slice_in, - 0, - dataframe::Eq{}, - std::nullopt, - }})), descendant_cursor_(Descendant::MakeCursor(storage->slice_table())) {} bool ConnectedFlow::Cursor::Run(const std::vector& arguments) { @@ -240,7 +230,13 @@ bool ConnectedFlow::Cursor::Run(const std::vector& arguments) { if (!slice.FindById(start_id)) { return OnFailure(base::ErrStatus("invalid slice id %u", start_id.value)); } - BFS bfs(storage_, incoming_cursor_, outgoing_cursor_, descendant_cursor_); + + // Use cached graph if available, otherwise build a new one. + FlowGraph graph = cached_flow_graph_.has_value() + ? std::move(cached_flow_graph_).value() + : FlowGraph::Build(flow); + + BFS bfs(storage_, graph, descendant_cursor_); switch (mode_) { case Mode::kDirectlyConnectedFlow: bfs.Start(start_id).VisitAll(VISIT_INCOMING_AND_OUTGOING, @@ -267,6 +263,12 @@ bool ConnectedFlow::Cursor::Run(const std::vector& arguments) { ref.arg_set_id(), }); } + + // Cache the graph if the table is finalized. + if (flow.dataframe().finalized()) { + cached_flow_graph_ = std::move(graph); + } + return OnSuccess(&table_.dataframe()); } diff --git a/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.h b/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.h index 703e5db7a70..22b18fc3971 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.h +++ b/src/trace_processor/perfetto_sql/intrinsics/table_functions/connected_flow.h @@ -20,9 +20,12 @@ #include #include #include +#include #include #include +#include "perfetto/base/logging.h" +#include "perfetto/ext/base/flat_hash_map.h" #include "perfetto/trace_processor/basic_types.h" #include "src/trace_processor/dataframe/specs.h" #include "src/trace_processor/perfetto_sql/intrinsics/table_functions/static_table_function.h" @@ -35,6 +38,25 @@ namespace perfetto::trace_processor { class TraceProcessorContext; +// Represents the flow graph with pre-computed adjacency lists. +struct FlowGraph { + base::FlatHashMap> + outgoing_flows; + base::FlatHashMap> + incoming_flows; + + static FlowGraph Build(const tables::FlowTable& flow_table) { + FlowGraph graph; + for (uint32_t i = 0; i < flow_table.row_count(); ++i) { + tables::FlowTable::RowNumber row(i); + auto ref = row.ToRowReference(flow_table); + graph.outgoing_flows[ref.slice_out()].push_back(row); + graph.incoming_flows[ref.slice_in()].push_back(row); + } + return graph; + } +}; + // Implementation of tables: // - DIRECTLY_CONNECTED_FLOW // - PRECEDING_FLOW @@ -62,9 +84,8 @@ class ConnectedFlow : public StaticTableFunction { Mode mode_; TraceStorage* storage_ = nullptr; tables::ConnectedFlowTable table_; - tables::FlowTable::ConstCursor outgoing_cursor_; - tables::FlowTable::ConstCursor incoming_cursor_; tables::SliceTable::ConstCursor descendant_cursor_; + std::optional cached_flow_graph_; }; ConnectedFlow(Mode mode, TraceStorage*); From f83e350fae741bb23899e39a875f452a17ef1c49 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 8 Oct 2025 23:56:24 +0100 Subject: [PATCH 038/370] tp: Allow post-finalization access to V8 table columns (#3221) Add POST_FINALIZATION access duration to V8JsFunction and V8JsScript table columns (name, v8_js_script_id, line, col) to allow read access after table finalization. This fixes a crash when EXPERIMENTAL_PROFILE queries accessed these columns during query execution after tables were finalized at the end of trace loading. Bug: 450311010 --- src/trace_processor/tables/v8_tables.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/trace_processor/tables/v8_tables.py b/src/trace_processor/tables/v8_tables.py index 4dec687178b..f18eb55922e 100644 --- a/src/trace_processor/tables/v8_tables.py +++ b/src/trace_processor/tables/v8_tables.py @@ -84,7 +84,10 @@ C('v8_isolate_id', CppTableId(V8_ISOLATE)), C('internal_script_id', CppInt32()), C('script_type', CppString()), - C('name', CppString(), cpp_access=CppAccess.READ), + C('name', + CppString(), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), C('source', CppOptional(CppString())), ], tabledoc=TableDoc( @@ -129,16 +132,26 @@ class_name='V8JsFunctionTable', sql_name='__intrinsic_v8_js_function', columns=[ - C('name', CppString(), cpp_access=CppAccess.READ), + C('name', + CppString(), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), C( 'v8_js_script_id', CppTableId(V8_JS_SCRIPT), cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION, ), C('is_toplevel', CppBool()), C('kind', CppString()), - C('line', CppOptional(CppUint32()), cpp_access=CppAccess.READ), - C('col', CppOptional(CppUint32()), cpp_access=CppAccess.READ), + C('line', + CppOptional(CppUint32()), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), + C('col', + CppOptional(CppUint32()), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), ], tabledoc=TableDoc( doc='Represents a v8 Javascript function', From d7ea394300667faed7b239e087a51447586a3132 Mon Sep 17 00:00:00 2001 From: Samuel Wu Date: Wed, 8 Oct 2025 16:27:12 -0700 Subject: [PATCH 039/370] UI: Link official Wattson documentation and update crude_estimate (#3222) 1. Link to official Wattson doc page for more detailed information. 2. Call "estimate" tracks as "crude estimates" tracks if using swapper to get idle state Bug: 448182021 Signed-off-by: Samuel Wu --------- Signed-off-by: Samuel Wu --- ui/src/plugins/org.kernel.Wattson/index.ts | 11 +++++++---- ui/src/test/wattson.test.ts | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ui/src/plugins/org.kernel.Wattson/index.ts b/ui/src/plugins/org.kernel.Wattson/index.ts index e93dd209e94..6a1677bc97c 100644 --- a/ui/src/plugins/org.kernel.Wattson/index.ts +++ b/ui/src/plugins/org.kernel.Wattson/index.ts @@ -42,6 +42,7 @@ import { GPUSS_ESTIMATE_TRACK_KIND, } from './track_kinds'; import SchedPlugin from '../dev.perfetto.Sched'; +import {linkify} from '../../widgets/anchor'; export default class implements PerfettoPlugin { static readonly id = `org.kernel.Wattson`; @@ -245,7 +246,9 @@ function createCpuWarnings( warningMsg.push( m( '.pf-wattson-warning', - 'Perfetto trace configuration is missing below trace_events for Wattson to work. ', + linkify( + `See https://source.android.com/docs/core/power/wattson/how-to-wattson for more details on Wattson's required trace configuration. The following ftrace_events are necessary for Wattson to make power estimates:`, + ), m( '.pf-wattson-warning__list', missingEvents.map((event) => m('li', event)), @@ -280,6 +283,7 @@ async function addWattsonCpuElements( const warningDesc = createCpuWarnings(missingEvents, hasCpuIdleCounters); // CPUs estimate as part of CPU subsystem + const estimateSuffix = `${hasCpuIdleCounters ? '' : ' crude'} estimate`; const schedPlugin = ctx.plugins.getPlugin(SchedPlugin); const schedCpus = schedPlugin.schedCpus; for (const cpu of schedCpus) { @@ -302,13 +306,12 @@ async function addWattsonCpuElements( group.addChildInOrder( new TrackNode({ uri, - name: `Cpu${cpu.toString()} Estimate`, + name: `Cpu${cpu.toString()}${estimateSuffix}`, }), ); } const uri = `/wattson/cpu_subsystem_estimate_dsu_scu`; - const title = `DSU/SCU Estimate`; ctx.tracks.registerTrack({ uri, renderer: new WattsonSubsystemEstimateTrack( @@ -322,7 +325,7 @@ async function addWattsonCpuElements( wattson: 'Dsu_Scu', }, }); - group.addChildInOrder(new TrackNode({uri, name: title})); + group.addChildInOrder(new TrackNode({uri, name: `DSU/SCU${estimateSuffix}`})); // Register selection aggregators. // NOTE: the registration order matters because the laste two aggregators diff --git a/ui/src/test/wattson.test.ts b/ui/src/test/wattson.test.ts index 6fe3ee3900f..289910ce3ca 100644 --- a/ui/src/test/wattson.test.ts +++ b/ui/src/test/wattson.test.ts @@ -43,7 +43,7 @@ test('wattson aggregations', async () => { const wattsonGrp = pth.locateTrack('Wattson'); await wattsonGrp.scrollIntoViewIfNeeded(); await pth.toggleTrackGroup(wattsonGrp); - const cpuEstimate = pth.locateTrack('Wattson/Cpu0 Estimate', wattsonGrp); + const cpuEstimate = pth.locateTrack('Wattson/Cpu0 estimate', wattsonGrp); const coords = assertExists(await cpuEstimate.boundingBox()); await page.keyboard.press('Escape'); await page.mouse.move(600, coords.y + 10); From 6f7d4325ce40aaa220c8567e2f4356f29992f1e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 08:10:18 +0000 Subject: [PATCH 040/370] build(deps-dev): bump tar-fs from 3.0.9 to 3.1.1 in /ui in the npm_and_yarn group across 1 directory (#3112) Bumps the npm_and_yarn group with 1 update in the /ui directory: [tar-fs](https://github.com/mafintosh/tar-fs). Updates `tar-fs` from 3.0.9 to 3.1.1
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tar-fs&package-manager=npm_and_yarn&previous-version=3.0.9&new-version=3.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/google/perfetto/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/pnpm-lock.yaml | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/ui/pnpm-lock.yaml b/ui/pnpm-lock.yaml index c088e25bc0f..e26e4c43e45 100644 --- a/ui/pnpm-lock.yaml +++ b/ui/pnpm-lock.yaml @@ -1570,7 +1570,7 @@ packages: progress: 2.0.3 proxy-agent: 6.5.0 semver: 7.7.2 - tar-fs: 3.0.9 + tar-fs: 3.1.1 unbzip2-stream: 1.4.3 yargs: 17.7.2 transitivePeerDependencies: @@ -2263,17 +2263,18 @@ packages: /bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + requiresBuild: true dev: true optional: true - /bare-events@2.6.0: - resolution: {integrity: sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==} + /bare-events@2.7.0: + resolution: {integrity: sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==} requiresBuild: true dev: true optional: true - /bare-fs@4.1.6: - resolution: {integrity: sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==} + /bare-fs@4.4.4: + resolution: {integrity: sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==} engines: {bare: '>=1.16.0'} requiresBuild: true peerDependencies: @@ -2285,17 +2286,21 @@ packages: bare-events: 2.5.4 bare-path: 3.0.0 bare-stream: 2.6.5(bare-events@2.5.4) + bare-url: 2.2.2 + fast-fifo: 1.3.2 dev: true optional: true /bare-os@3.6.1: resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} engines: {bare: '>=1.14.0'} + requiresBuild: true dev: true optional: true /bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + requiresBuild: true dependencies: bare-os: 3.6.1 dev: true @@ -2303,6 +2308,7 @@ packages: /bare-stream@2.6.5(bare-events@2.5.4): resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + requiresBuild: true peerDependencies: bare-buffer: '*' bare-events: '*' @@ -2317,6 +2323,14 @@ packages: dev: true optional: true + /bare-url@2.2.2: + resolution: {integrity: sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==} + requiresBuild: true + dependencies: + bare-path: 3.0.0 + dev: true + optional: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -5946,7 +5960,7 @@ packages: fast-fifo: 1.3.2 text-decoder: 1.2.3 optionalDependencies: - bare-events: 2.6.0 + bare-events: 2.7.0 dev: true /string-length@4.0.2: @@ -6053,13 +6067,13 @@ packages: tslib: 2.6.3 dev: true - /tar-fs@3.0.9: - resolution: {integrity: sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==} + /tar-fs@3.1.1: + resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} dependencies: pump: 3.0.2 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.1.6 + bare-fs: 4.4.4 bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer From 181752d8f6e8470d4dbd351cee1f0145c6c652aa Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 9 Oct 2025 10:26:54 +0100 Subject: [PATCH 041/370] ui: Position flamegraph tooltip on the right side (#3225) Change tooltip position from bottom to right to avoid obscuring slices below the cursor when reading the flamegraph vertically. This allows users to see the vertical stack without moving the cursor away. --- ui/src/widgets/flamegraph.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/widgets/flamegraph.ts b/ui/src/widgets/flamegraph.ts index 38b6cf9c08e..cd37a602a5b 100644 --- a/ui/src/widgets/flamegraph.ts +++ b/ui/src/widgets/flamegraph.ts @@ -376,7 +376,7 @@ export class Flamegraph implements m.ClassComponent { // We have a wide set of buttons that would overflow given the // normal width constraints of the popup. fitContent: true, - position: PopupPosition.Bottom, + position: PopupPosition.Right, isOpen: this.tooltipPos?.state === 'HOVER' || this.tooltipPos?.state === 'CLICK', From 0c546fb28b65ba3b82a275e96dc0a0336c39161e Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 9 Oct 2025 10:29:53 +0100 Subject: [PATCH 042/370] ui: improve colors in highlighting tracks and flamegraph (#3205) Improving colors there, mainly for dark mode but also for light for flamegraph. FIxes: https://github.com/google/perfetto/issues/3197 --- .../back-to-trace-1.png.sha256 | 2 +- .../trace-1.png.sha256 | 2 +- .../perf-event-sf-expanded.png.sha256 | 2 +- .../perf-event-sf.png.sha256 | 2 +- ui/src/assets/theme_provider.scss | 2 +- ui/src/frontend/css_constants.ts | 2 + .../viewer_page/search_overview_track.ts | 3 +- ui/src/widgets/flamegraph.ts | 58 ++++++++++++++----- 8 files changed, 54 insertions(+), 19 deletions(-) diff --git a/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/back-to-trace-1.png.sha256 b/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/back-to-trace-1.png.sha256 index 763fa879c15..5bbfff38b5b 100644 --- a/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/back-to-trace-1.png.sha256 +++ b/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/back-to-trace-1.png.sha256 @@ -1 +1 @@ -0dd7f7df23000a84051b9c067ab8fceea54630381b9959bbac4c584233dd7e32 \ No newline at end of file +9d0f29883df3bbc6ded1ec11ff25993128e3403d642ad1c65c38cf5f9d2be6ef \ No newline at end of file diff --git a/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/trace-1.png.sha256 b/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/trace-1.png.sha256 index 763fa879c15..5bbfff38b5b 100644 --- a/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/trace-1.png.sha256 +++ b/test/data/ui-screenshots/local_cache_key.test.ts/multiple-traces-via-url-and-local-cache-key/trace-1.png.sha256 @@ -1 +1 @@ -0dd7f7df23000a84051b9c067ab8fceea54630381b9959bbac4c584233dd7e32 \ No newline at end of file +9d0f29883df3bbc6ded1ec11ff25993128e3403d642ad1c65c38cf5f9d2be6ef \ No newline at end of file diff --git a/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf-expanded.png.sha256 b/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf-expanded.png.sha256 index 9e63834651b..987af8828e7 100644 --- a/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf-expanded.png.sha256 +++ b/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf-expanded.png.sha256 @@ -1 +1 @@ -a6a60293eb347ed5ef40e95e69f905760c3691be33e1bc51afe2f4cb710465ca \ No newline at end of file +33666e1960019101860009383a0ec938fc7b65d0d89e6c938566cbb648dbd773 \ No newline at end of file diff --git a/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf.png.sha256 b/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf.png.sha256 index 11b2d541dd3..56cbd93eb68 100644 --- a/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf.png.sha256 +++ b/test/data/ui-screenshots/perf_event.test.ts/multiple-callstack-tracks/perf-event-sf.png.sha256 @@ -1 +1 @@ -19459289201ee79d3c26b434678093c31c0a811751921d0b1d9556377117e81d \ No newline at end of file +951e58c7708ff2a6c353db9a212d9035c29e1875e0192b1999e775ef563ff789 \ No newline at end of file diff --git a/ui/src/assets/theme_provider.scss b/ui/src/assets/theme_provider.scss index 5f92d899479..eb77ecc5493 100644 --- a/ui/src/assets/theme_provider.scss +++ b/ui/src/assets/theme_provider.scss @@ -76,7 +76,7 @@ --pf-color-box-shadow: rgba(0, 0, 0, 0.4); --pf-color-neutral: gray; --pf-color-accent: #2667e7; - --pf-color-highlight: #ffe263; + --pf-color-highlight: #9b7c00; --pf-color-primary: #7197e3; --pf-color-text-on-primary: #333; diff --git a/ui/src/frontend/css_constants.ts b/ui/src/frontend/css_constants.ts index f924b667d4b..db2bf12afa2 100644 --- a/ui/src/frontend/css_constants.ts +++ b/ui/src/frontend/css_constants.ts @@ -28,6 +28,7 @@ export let COLOR_BACKGROUND = 'hotpink'; export let COLOR_TEXT = 'hotpink'; export let COLOR_TEXT_MUTED = 'hotpink'; export let COLOR_NEUTRAL = 'hotpink'; +export let COLOR_HIGHLIGHT = 'hotpink'; export function initCssConstants(element?: Element) { function getCssStr(prop: string): string | undefined { @@ -63,4 +64,5 @@ export function initCssConstants(element?: Element) { FONT_COMPACT = getCssStr('--pf-font-compact') ?? FONT_COMPACT; COLOR_TEXT_MUTED = getCssStr('--pf-color-text-muted') ?? COLOR_TEXT_MUTED; COLOR_NEUTRAL = getCssStr('--pf-color-neutral') ?? COLOR_NEUTRAL; + COLOR_HIGHLIGHT = getCssStr('--pf-color-highlight') ?? COLOR_HIGHLIGHT; } diff --git a/ui/src/frontend/viewer_page/search_overview_track.ts b/ui/src/frontend/viewer_page/search_overview_track.ts index 37bf3503eda..1983c6adfb5 100644 --- a/ui/src/frontend/viewer_page/search_overview_track.ts +++ b/ui/src/frontend/viewer_page/search_overview_track.ts @@ -22,6 +22,7 @@ import {LONG, NUM} from '../../trace_processor/query_result'; import {escapeSearchQuery} from '../../trace_processor/query_utils'; import {createVirtualTable} from '../../trace_processor/sql_utils'; import {calculateResolution} from './resolution'; +import {COLOR_HIGHLIGHT} from '../css_constants'; interface SearchSummary { tsStarts: BigInt64Array; @@ -221,7 +222,7 @@ export class SearchOverviewTrack implements AsyncDisposable { } const rectStart = Math.max(timescale.timeToPx(tStart), 0); const rectEnd = timescale.timeToPx(tEnd); - ctx.fillStyle = '#ffe263'; + ctx.fillStyle = COLOR_HIGHLIGHT; ctx.fillRect( Math.floor(rectStart), 0, diff --git a/ui/src/widgets/flamegraph.ts b/ui/src/widgets/flamegraph.ts index cd37a602a5b..9ba637188e7 100644 --- a/ui/src/widgets/flamegraph.ts +++ b/ui/src/widgets/flamegraph.ts @@ -26,6 +26,8 @@ import {z} from 'zod'; import {Rect2D, Size2D} from '../base/geom'; import {VirtualOverlayCanvas} from './virtual_overlay_canvas'; import {MenuItem, MenuItemAttrs, PopupMenu} from './menu'; +import {Color, HSLColor} from '../base/color'; +import {hash} from '../base/hash'; const LABEL_FONT_STYLE = '12px Roboto'; const NODE_HEIGHT = 20; @@ -457,6 +459,7 @@ export class Flamegraph implements m.ClassComponent { const hover = isIntersecting(this.hoveredX, this.hoveredY, node); let name: string; + let colorScheme; if (source.kind === 'ROOT') { const val = displaySize(allRootsCumulativeValue, unit); const percent = displayPercentage( @@ -464,14 +467,17 @@ export class Flamegraph implements m.ClassComponent { unfilteredCumulativeValue, ); name = `root: ${val} (${percent})`; - ctx.fillStyle = generateColor('root', state === 'PARTIAL', hover); + colorScheme = getFlamegraphColorScheme('root', state === 'PARTIAL'); } else if (source.kind === 'MERGED') { name = '(merged)'; - ctx.fillStyle = generateColor(name, state === 'PARTIAL', false); + colorScheme = getFlamegraphColorScheme(name, state === 'PARTIAL'); } else { name = nodes[source.queryIdx].name; - ctx.fillStyle = generateColor(name, state === 'PARTIAL', hover); + colorScheme = getFlamegraphColorScheme(name, state === 'PARTIAL'); } + const bgColor = hover ? colorScheme.variant : colorScheme.base; + const textColor = hover ? colorScheme.textVariant : colorScheme.textBase; + ctx.fillStyle = bgColor.cssString; ctx.fillRect(x, y, width - 1, NODE_HEIGHT - 1); // Render marker @@ -483,7 +489,7 @@ export class Flamegraph implements m.ClassComponent { nodes[source.queryIdx].marker !== undefined && width >= MIN_WIDTH_FOR_MARKER; if (hasMarker) { - ctx.fillStyle = 'black'; // Same as text color + ctx.fillStyle = textColor.cssString; const markerX = x + MARKER_LEFT_MARGIN; const markerY = y + 2; // Position at top of node with small margin ctx.fillRect(markerX, markerY, MARKER_SIZE, MARKER_SIZE); @@ -492,7 +498,7 @@ export class Flamegraph implements m.ClassComponent { // Text positioning - no need to reserve space since marker is in top corner const widthNoPadding = width - LABEL_PADDING_PX * 2; if (widthNoPadding >= LABEL_MIN_WIDTH_FOR_TEXT_PX) { - ctx.fillStyle = 'black'; + ctx.fillStyle = textColor.cssString; ctx.fillText( name.substring(0, widthNoPadding / this.labelCharWidth), x + LABEL_PADDING_PX, @@ -1105,16 +1111,42 @@ function addFilter( }; } -function generateColor(name: string, greyed: boolean, hovered: boolean) { +// Unfortunately, widgets *cannot* depend on components so we cannot use the +// colorizer code. Since we need very little of that code anyway, just inline +// what we need here. +const PERCEIVED_BRIGHTNESS_LIMIT = 180; +const WHITE_COLOR = new HSLColor([0, 0, 100]); +const BLACK_COLOR = new HSLColor([0, 0, 0]); +const GRAY_VARIANT_COLOR = new HSLColor([0, 0, 62]); + +function makeColorScheme(base: Color, variant: Color) { + return { + base, + variant, + textBase: + base.perceivedBrightness >= PERCEIVED_BRIGHTNESS_LIMIT + ? BLACK_COLOR + : WHITE_COLOR, + textVariant: + variant.perceivedBrightness >= PERCEIVED_BRIGHTNESS_LIMIT + ? BLACK_COLOR + : WHITE_COLOR, + }; +} + +function getFlamegraphColorScheme(name: string, greyed: boolean) { if (greyed) { - return `hsl(0deg, 0%, ${hovered ? 85 : 80}%)`; + return makeColorScheme(GRAY_VARIANT_COLOR, GRAY_VARIANT_COLOR.darken(5)); } if (name === 'unknown' || name === 'root') { - return `hsl(0deg, 0%, ${hovered ? 78 : 73}%)`; - } - let x = 0; - for (let i = 0; i < name.length; ++i) { - x += name.charCodeAt(i) % 64; + return makeColorScheme( + GRAY_VARIANT_COLOR.darken(10), + GRAY_VARIANT_COLOR.darken(15), + ); } - return `hsl(${x % 360}deg, 45%, ${hovered ? 78 : 73}%)`; + // Hash the name to get a predictable hue, then create color with fixed + // saturation and lightness values to match what pprof web UI does. + const hue = hash(name, 360); + const base = new HSLColor({h: hue, s: 46, l: 80}); + return makeColorScheme(base, base.darken(15).saturate(15)); } From 3ecebca120ad8cc2ff305b9084ba10d8b81a9bac Mon Sep 17 00:00:00 2001 From: PolarBear Date: Thu, 9 Oct 2025 02:34:16 -0700 Subject: [PATCH 043/370] ui: Change legacy Tea name to Mint (#3233) Tea has been renamed to Mint. This change is to update the UI to rename to use the Mint name. --- .../plugins/com.android.AndroidLongBatteryTracing/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts b/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts index 947db05c3f6..98f25cd97b4 100644 --- a/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts +++ b/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts @@ -883,13 +883,13 @@ export default class implements PerfettoPlugin { ); } - async addModemTeaData(ctx: Trace, support: SupportPlugin): Promise { + async addModemMintData(ctx: Trace, support: SupportPlugin): Promise { const e = ctx.engine; const groupName = 'Modem Detail'; await e.query( `INCLUDE PERFETTO MODULE - google3.wireless.android.telemetry.trace_extractor.modules.modem_tea_metrics`, + google3.wireless.android.telemetry.trace_extractor.modules.modem_mint_metrics`, ); const counters = await e.query( @@ -1114,7 +1114,7 @@ export default class implements PerfettoPlugin { if (features.has('google3')) { await this.addAtomCounters(ctx, support); await this.addAtomSlices(ctx, support); - await this.addModemTeaData(ctx, support); + await this.addModemMintData(ctx, support); } } } From 3c78c63c99a7dc3ea2856075998b14948ff79c20 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 9 Oct 2025 11:00:13 +0100 Subject: [PATCH 044/370] redactor: add correct dep on base (#3226) We should never depend on base headers, always on base implementation target. --- Android.bp | 1 + src/trace_redaction/BUILD.gn | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Android.bp b/Android.bp index 7c74c60fd33..8d0d4bffb50 100644 --- a/Android.bp +++ b/Android.bp @@ -18909,6 +18909,7 @@ cc_binary { cc_binary { name: "trace_redactor", srcs: [ + ":perfetto_base_default_platform", ":perfetto_include_perfetto_base_base", ":perfetto_include_perfetto_ext_base_base", ":perfetto_include_perfetto_protozero_protozero", diff --git a/src/trace_redaction/BUILD.gn b/src/trace_redaction/BUILD.gn index 565c0c85732..7de5b7f29d3 100644 --- a/src/trace_redaction/BUILD.gn +++ b/src/trace_redaction/BUILD.gn @@ -21,8 +21,7 @@ executable("trace_redactor") { deps = [ ":trace_redaction", "../../gn:default_deps", - "../../include/perfetto/base", - "../../include/perfetto/ext/base", + "../base", ] } @@ -80,8 +79,6 @@ source_set("trace_redaction") { ] deps = [ "../../gn:default_deps", - "../../include/perfetto/base", - "../../include/perfetto/ext/base", "../../include/perfetto/protozero:protozero", "../../include/perfetto/trace_processor:util", "../../protos/perfetto/common:zero", @@ -90,6 +87,7 @@ source_set("trace_redaction") { "../../protos/perfetto/trace/android:zero", "../../protos/perfetto/trace/ftrace:zero", "../../protos/perfetto/trace/ps:zero", + "../base", "../trace_processor/util:blob", "../trace_processor/util:clock", ] @@ -115,7 +113,6 @@ source_set("integrationtests") { ":trace_redaction", "../../gn:default_deps", "../../gn:gtest_and_gmock", - "../../include/perfetto/ext/base", "../../include/perfetto/trace_processor:trace_processor", "../../protos/perfetto/trace:non_minimal_cpp", "../../protos/perfetto/trace:non_minimal_zero", @@ -123,6 +120,7 @@ source_set("integrationtests") { "../../protos/perfetto/trace/android:zero", "../../protos/perfetto/trace/ftrace:zero", "../../protos/perfetto/trace/ps:zero", + "../base", "../base:test_support", ] } @@ -148,7 +146,6 @@ perfetto_unittest_source_set("unittests") { ":trace_redaction", "../../gn:default_deps", "../../gn:gtest_and_gmock", - "../../include/perfetto/ext/base:base", "../../include/perfetto/protozero:protozero", "../../protos/perfetto/common:cpp", "../../protos/perfetto/common:zero", @@ -163,6 +160,7 @@ perfetto_unittest_source_set("unittests") { "../../protos/perfetto/trace/ftrace:zero", "../../protos/perfetto/trace/ps:cpp", "../../protos/perfetto/trace/ps:zero", + "../base", "../base:test_support", ] } From 91d0f001437670a821b6fc5b24652ffaf82281d7 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Thu, 9 Oct 2025 12:41:47 +0100 Subject: [PATCH 045/370] Revert "ui: Change legacy Tea name to Mint (#3233)" (#3234) This is causing UI crashes. This reverts commit 3ecebca120ad8cc2ff305b9084ba10d8b81a9bac. --- .../plugins/com.android.AndroidLongBatteryTracing/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts b/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts index 98f25cd97b4..947db05c3f6 100644 --- a/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts +++ b/ui/src/plugins/com.android.AndroidLongBatteryTracing/index.ts @@ -883,13 +883,13 @@ export default class implements PerfettoPlugin { ); } - async addModemMintData(ctx: Trace, support: SupportPlugin): Promise { + async addModemTeaData(ctx: Trace, support: SupportPlugin): Promise { const e = ctx.engine; const groupName = 'Modem Detail'; await e.query( `INCLUDE PERFETTO MODULE - google3.wireless.android.telemetry.trace_extractor.modules.modem_mint_metrics`, + google3.wireless.android.telemetry.trace_extractor.modules.modem_tea_metrics`, ); const counters = await e.query( @@ -1114,7 +1114,7 @@ export default class implements PerfettoPlugin { if (features.has('google3')) { await this.addAtomCounters(ctx, support); await this.addAtomSlices(ctx, support); - await this.addModemMintData(ctx, support); + await this.addModemTeaData(ctx, support); } } } From 8f17bc081289f181dc8779a088e9d04f6d28465f Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Thu, 9 Oct 2025 15:08:51 +0100 Subject: [PATCH 046/370] tp: Nit reorder of class attributes (#3237) Reorder per comment in https://github.com/google/perfetto/pull/3215 --- src/trace_processor/importers/proto/android_probes_parser.cc | 2 +- src/trace_processor/importers/proto/android_probes_parser.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/trace_processor/importers/proto/android_probes_parser.cc b/src/trace_processor/importers/proto/android_probes_parser.cc index c9087694620..4d5ece8f388 100644 --- a/src/trace_processor/importers/proto/android_probes_parser.cc +++ b/src/trace_processor/importers/proto/android_probes_parser.cc @@ -132,6 +132,7 @@ AndroidProbesParser::AndroidProbesParser(TraceProcessorContext* context, AndroidProbesTracker* tracker) : context_(context), tracker_(tracker), + power_rails_args_tracker_(std::make_unique(context)), battery_status_id_(context->storage->InternString("BatteryStatus")), plug_type_id_(context->storage->InternString("PlugType")), energy_consumer_id_( @@ -150,7 +151,6 @@ AndroidProbesParser::AndroidProbesParser(TraceProcessorContext* context, power_rail_raw_name_id_(context->storage->InternString("raw_name")), power_rail_subsys_name_arg_id_( context->storage->InternString("subsystem_name")), - power_rails_args_tracker_(std::make_unique(context)), rail_packet_timestamp_id_(context->storage->InternString("packet_ts")) {} void AndroidProbesParser::ParseRailDescriptor( diff --git a/src/trace_processor/importers/proto/android_probes_parser.h b/src/trace_processor/importers/proto/android_probes_parser.h index 5ba17cecd21..94aad5ddbed 100644 --- a/src/trace_processor/importers/proto/android_probes_parser.h +++ b/src/trace_processor/importers/proto/android_probes_parser.h @@ -57,6 +57,8 @@ class AndroidProbesParser { TraceProcessorContext* const context_; AndroidProbesTracker* const tracker_; + std::unique_ptr power_rails_args_tracker_; + const StringId battery_status_id_; const StringId plug_type_id_; const StringId energy_consumer_id_; @@ -72,7 +74,6 @@ class AndroidProbesParser { const StringId bt_handle_id_; const StringId power_rail_raw_name_id_; const StringId power_rail_subsys_name_arg_id_; - std::unique_ptr power_rails_args_tracker_; const StringId rail_packet_timestamp_id_; }; } // namespace perfetto::trace_processor From 9ba56f4c0a53cff36af1542306257104d9c64090 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:10:15 +0100 Subject: [PATCH 047/370] exp: Modify Columns node details (#3236) Show the details of the modify column node on the node graph --- .../nodes/modify_columns_node.scss | 32 ++++++------ .../nodes/modify_columns_node.ts | 52 +++++++++++++++++++ 2 files changed, 67 insertions(+), 17 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss index b3eafbaee4d..879a558efc7 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss @@ -12,26 +12,24 @@ // See the License for the specific language governing permissions and // limitations under the License. -.pf-column-list { - display: flex; - flex-direction: column; - gap: 8px; +.pf-node-details-box { + border: 1px solid var(--pf-border-color); + border-radius: 4px; + padding: 8px; + margin-top: 8px; } -.pf-column { - display: flex; - align-items: center; - gap: 8px; - - &[draggable="true"] { - cursor: grab; - } +.pf-node-details-box strong { + display: block; + margin-bottom: 4px; +} - .pf-text-input { - width: 100px; - } +.pf-node-details-box div { + font-size: 0.8em; + padding: 2px 0; } -.pf-add-column-button { - margin-top: 8px; +.pf-node-details-message { + font-style: italic; + color: var(--pf-text-color-light); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 0f0236be28e..68bd213e7c7 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -138,6 +138,58 @@ export class ModifyColumnsNode implements QueryNode { return this.state.customTitle ?? 'Modify Columns'; } + nodeDetails(): m.Child { + // Determine the state of modifications. + const hasUnselected = this.state.selectedColumns.some((c) => !c.checked); + const hasAlias = this.state.selectedColumns.some((c) => c.alias); + const hasNewColumns = this.state.newColumns.length > 0; + + // If there are no modifications, show a default message. + if (!hasUnselected && !hasAlias && !hasNewColumns) { + return m('.pf-node-details-message', 'Select all'); + } + + const details: m.Child[] = []; + + // If columns have been unselected or aliased, list the selected ones. + if (hasUnselected || hasAlias) { + const selectedCols = this.state.selectedColumns.filter((c) => c.checked); + if (selectedCols.length > 0) { + const selectedItems = selectedCols.map((c) => { + if (c.alias) { + return m('div', `${c.column.name} AS ${c.alias}`); + } else { + return m('div', c.column.name); + } + }); + details.push( + m( + '.pf-node-details-box', + m('strong', 'Selected columns:'), + ...selectedItems, + ), + ); + } + } + + // If new columns have been added, list them. + if (hasNewColumns) { + const newItems = this.state.newColumns.map((c) => + m('div', `${c.expression} AS ${c.name}`), + ); + details.push( + m('.pf-node-details-box', m('strong', 'New columns:'), ...newItems), + ); + } + + // If all columns have been deselected, show a specific message. + if (details.length === 0) { + return m('.pf-node-details-message', 'All columns deselected'); + } + + return m('.pf-modify-columns-node-details', details); + } + nodeSpecificModify(): m.Child { return m( 'div', From 6739e654c2244f2d670d5a5278e91becf3e292a6 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Fri, 10 Oct 2025 11:42:10 +0100 Subject: [PATCH 048/370] tp: reorganize prelude into focused modules (#3239) Break up the monolithic tables_views.sql (40KB, 32 tables) into focused modules for better organization and documentation: - core.sql: trace_metrics, trace_bounds - cpu_scheduling.sql: CPU and scheduling data - tracks.sql: track infrastructure (thread, process, CPU, GPU) - counters.sql: counter tracks and views - events.sql: ftrace, graphics frames, timeline slices - memory.sql: heap graphs and memory snapshots Each module includes @module documentation for future doc generation enhancements. All tables remain accessible via the prelude. --- Android.bp | 6 + BUILD | 6 + .../stdlib/prelude/after_eof/BUILD.gn | 6 + .../stdlib/prelude/after_eof/core.sql | 44 + .../stdlib/prelude/after_eof/counters.sql | 322 +++++ .../prelude/after_eof/cpu_scheduling.sql | 199 +++ .../stdlib/prelude/after_eof/events.sql | 340 +++++ .../stdlib/prelude/after_eof/memory.sql | 204 +++ .../stdlib/prelude/after_eof/tables_views.sql | 1231 +---------------- .../stdlib/prelude/after_eof/tracks.sql | 244 ++++ 10 files changed, 1378 insertions(+), 1224 deletions(-) create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql create mode 100644 src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql diff --git a/Android.bp b/Android.bp index 8d0d4bffb50..2998f91a917 100644 --- a/Android.bp +++ b/Android.bp @@ -15261,9 +15261,15 @@ genrule { "src/trace_processor/perfetto_sql/stdlib/pixel/camera.sql", "src/trace_processor/perfetto_sql/stdlib/pkvm/hypervisor.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/casts.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/indexes.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/slices.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/before_eof/tables.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/before_eof/trace_bounds.sql", diff --git a/BUILD b/BUILD index 54050cc5db5..ad63087ada1 100644 --- a/BUILD +++ b/BUILD @@ -3328,9 +3328,15 @@ perfetto_filegroup( name = "src_trace_processor_perfetto_sql_stdlib_prelude_after_eof_after_eof", srcs = [ "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/casts.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/indexes.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/slices.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql", + "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql", "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql", ], ) diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/BUILD.gn b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/BUILD.gn index 999e9307318..5ed477fc853 100644 --- a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/BUILD.gn +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/BUILD.gn @@ -17,9 +17,15 @@ import("../../../../../../gn/perfetto_sql.gni") perfetto_sql_source_set("after_eof") { sources = [ "casts.sql", + "core.sql", + "counters.sql", + "cpu_scheduling.sql", + "events.sql", "indexes.sql", + "memory.sql", "slices.sql", "tables_views.sql", + "tracks.sql", "views.sql", ] } diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql new file mode 100644 index 00000000000..42d7370f371 --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/core.sql @@ -0,0 +1,44 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.core +-- Fundamental trace concepts and infrastructure. +-- +-- This module provides the core tables and views that represent fundamental +-- trace concepts like trace boundaries and available metrics. + +-- Lists all metrics built-into trace processor. +CREATE PERFETTO VIEW trace_metrics ( + -- The name of the metric. + name STRING +) AS +SELECT + name +FROM _trace_metrics; + +-- Definition of `trace_bounds` table. The values are being filled by Trace +-- Processor when parsing the trace. +-- It is recommended to depend on the `trace_start()` and `trace_end()` +-- functions rather than directly on `trace_bounds`. +CREATE PERFETTO VIEW trace_bounds ( + -- First ts in the trace. + start_ts TIMESTAMP, + -- End of the trace. + end_ts TIMESTAMP +) AS +SELECT + start_ts, + end_ts +FROM _trace_bounds; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql new file mode 100644 index 00000000000..e50221df7b2 --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/counters.sql @@ -0,0 +1,322 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.counters +-- Performance counters and counter tracks. +-- +-- This module provides counter-related tables and views for analyzing +-- performance metrics collected across CPUs, processes, threads, GPUs, +-- and other contexts. + +-- Tracks containing counter-like events. +CREATE PERFETTO VIEW counter_track ( + -- Unique identifier for this cpu counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The dimensions of the track which uniquely identify the track within a + -- given type. + dimension_arg_set_id ARGSETID, + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING +) AS +SELECT + id, + name, + NULL AS parent_id, + type, + dimension_arg_set_id, + source_arg_set_id, + machine_id, + counter_unit AS unit, + extract_arg(source_arg_set_id, 'description') AS description +FROM __intrinsic_track +WHERE + event_type = 'counter'; + +-- Tracks containing counter-like events associated to a CPU. +CREATE PERFETTO TABLE cpu_counter_track ( + -- Unique identifier for this cpu counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING, + -- The CPU that the track is associated with. + cpu LONG +) AS +SELECT + ct.id, + ct.name, + ct.type, + ct.parent_id, + ct.source_arg_set_id, + ct.machine_id, + ct.unit, + ct.description, + args.int_value AS cpu +FROM counter_track AS ct +JOIN args + ON ct.dimension_arg_set_id = args.arg_set_id +WHERE + args.key = 'cpu'; + +-- Tracks containing counter-like events associated to a GPU. +CREATE PERFETTO TABLE gpu_counter_track ( + -- Unique identifier for this gpu counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING, + -- The GPU that the track is associated with. + gpu_id LONG +) AS +SELECT + ct.id, + ct.name, + ct.type, + ct.parent_id, + ct.source_arg_set_id, + ct.machine_id, + ct.unit, + ct.description, + args.int_value AS gpu_id +FROM counter_track AS ct +JOIN args + ON ct.dimension_arg_set_id = args.arg_set_id +WHERE + args.key = 'gpu'; + +-- Tracks containing counter-like events associated to a process. +CREATE PERFETTO TABLE process_counter_track ( + -- Unique identifier for this process counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING, + -- The upid of the process that the track is associated with. + upid LONG +) AS +SELECT + ct.id, + ct.name, + ct.type, + ct.parent_id, + ct.source_arg_set_id, + ct.machine_id, + ct.unit, + ct.description, + args.int_value AS upid +FROM counter_track AS ct +JOIN args + ON ct.dimension_arg_set_id = args.arg_set_id +WHERE + args.key = 'upid'; + +-- Tracks containing counter-like events associated to a thread. +CREATE PERFETTO TABLE thread_counter_track ( + -- Unique identifier for this thread counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id JOINID(track.id), + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING, + -- The utid of the thread that the track is associated with. + utid LONG +) AS +SELECT + ct.id, + ct.name, + ct.type, + ct.parent_id, + ct.source_arg_set_id, + ct.machine_id, + ct.unit, + ct.description, + args.int_value AS utid +FROM counter_track AS ct +JOIN args + ON ct.dimension_arg_set_id = args.arg_set_id +WHERE + args.key = 'utid'; + +-- Tracks containing counter-like events collected from Linux perf. +CREATE PERFETTO TABLE perf_counter_track ( + -- Unique identifier for this thread counter track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The units of the counter. This column is rarely filled. + unit STRING, + -- The description for this track. For debugging purposes only. + description STRING, + -- The id of the perf session this counter was captured on. + perf_session_id LONG, + -- The CPU the counter is associated with. Can be null if the counter is not + -- associated with any CPU. + cpu LONG, + -- Whether this counter is the sampling timebase for the session. + is_timebase BOOL +) AS +SELECT + ct.id, + ct.name, + ct.type, + ct.parent_id, + ct.source_arg_set_id, + ct.machine_id, + ct.unit, + ct.description, + extract_arg(ct.dimension_arg_set_id, 'perf_session_id') AS perf_session_id, + extract_arg(ct.dimension_arg_set_id, 'cpu') AS cpu, + extract_arg(ct.source_arg_set_id, 'is_timebase') AS is_timebase +FROM counter_track AS ct +WHERE + ct.type IN ('perf_cpu_counter', 'perf_global_counter'); + +-- Alias of the `counter` table. +CREATE PERFETTO VIEW counters ( + -- Alias of `counter.id`. + id ID, + -- Alias of `counter.ts`. + ts TIMESTAMP, + -- Alias of `counter.track_id`. + track_id JOINID(track.id), + -- Alias of `counter.value`. + value DOUBLE, + -- Alias of `counter.arg_set_id`. + arg_set_id LONG, + -- Legacy column, should no longer be used. + name STRING, + -- Legacy column, should no longer be used. + unit STRING +) AS +SELECT + v.*, + t.name, + t.unit +FROM counter AS v +JOIN counter_track AS t + ON v.track_id = t.id +ORDER BY + ts; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql new file mode 100644 index 00000000000..460a9e60e64 --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/cpu_scheduling.sql @@ -0,0 +1,199 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.cpu_scheduling +-- CPU scheduling and thread state analysis. +-- +-- This module provides tables and views for analyzing CPU scheduling behavior, +-- including scheduling slices, thread states, and CPU information. + +-- Contains information about the CPUs on the device this trace was taken on. +CREATE PERFETTO VIEW cpu ( + -- Unique identifier for this CPU. Identical to |ucpu|, prefer using |ucpu| + -- instead. + id ID, + -- Unique identifier for this CPU. Isn't equal to |cpu| for remote machines + -- and is equal to |cpu| for the host machine. + ucpu ID, + -- The 0-based CPU core identifier. + cpu LONG, + -- The cluster id is shared by CPUs in the same cluster. + cluster_id LONG, + -- A string describing this core. + processor STRING, + -- Machine identifier, non-null for CPUs on a remote machine. + machine_id LONG, + -- Capacity of a CPU of a device, a metric which indicates the + -- relative performance of a CPU on a device + -- For details see: + -- https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpu-capacity.txt + capacity LONG, + -- Extra key/value pairs associated with this cpu. + arg_set_id ARGSETID +) AS +SELECT + id, + id AS ucpu, + cpu, + cluster_id, + processor, + machine_id, + capacity, + arg_set_id +FROM __intrinsic_cpu +WHERE + cpu IS NOT NULL; + +-- Contains the frequency values that the CPUs on the device are capable of +-- running at. +CREATE PERFETTO VIEW cpu_available_frequencies ( + -- Unique identifier for this cpu frequency. + id ID, + -- The CPU for this frequency, meaningful only in single machine traces. + -- For multi-machine, join with the `cpu` table on `ucpu` to get the CPU + -- identifier of each machine. + cpu LONG, + -- CPU frequency in KHz. + freq LONG, + -- The CPU that the slice executed on (meaningful only in single machine + -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the + -- CPU identifier of each machine. + ucpu LONG +) AS +SELECT + id, + ucpu AS cpu, + freq, + ucpu +FROM __intrinsic_cpu_freq; + +-- This table holds slices with kernel thread scheduling information. These +-- slices are collected when the Linux "ftrace" data source is used with the +-- "sched/switch" and "sched/wakeup*" events enabled. +-- +-- The rows in this table will always have a matching row in the |thread_state| +-- table with |thread_state.state| = 'Running' +CREATE PERFETTO VIEW sched_slice ( + -- Unique identifier for this scheduling slice. + id ID, + -- The timestamp at the start of the slice. + ts TIMESTAMP, + -- The duration of the slice. + dur DURATION, + -- The CPU that the slice executed on (meaningful only in single machine + -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the + -- CPU identifier of each machine. + cpu LONG, + -- The thread's unique id in the trace. + utid JOINID(thread.id), + -- A string representing the scheduling state of the kernel + -- thread at the end of the slice. The individual characters in + -- the string mean the following: R (runnable), S (awaiting a + -- wakeup), D (in an uninterruptible sleep), T (suspended), + -- t (being traced), X (exiting), P (parked), W (waking), + -- I (idle), N (not contributing to the load average), + -- K (wakeable on fatal signals) and Z (zombie, awaiting + -- cleanup). + end_state STRING, + -- The kernel priority that the thread ran at. + priority LONG, + -- The unique CPU identifier that the slice executed on. + ucpu LONG +) AS +SELECT + id, + ts, + dur, + ucpu AS cpu, + utid, + end_state, + priority, + ucpu +FROM __intrinsic_sched_slice; + +-- Shorter alias for table `sched_slice`. +CREATE PERFETTO VIEW sched ( + -- Alias for `sched_slice.id`. + id ID, + -- Alias for `sched_slice.ts`. + ts TIMESTAMP, + -- Alias for `sched_slice.dur`. + dur DURATION, + -- Alias for `sched_slice.cpu`. + cpu LONG, + -- Alias for `sched_slice.utid`. + utid JOINID(thread.id), + -- Alias for `sched_slice.end_state`. + end_state STRING, + -- Alias for `sched_slice.priority`. + priority LONG, + -- Alias for `sched_slice.ucpu`. + ucpu LONG, + -- Legacy column, should no longer be used. + ts_end LONG +) AS +SELECT + *, + ts + dur AS ts_end +FROM sched_slice; + +-- This table contains the scheduling state of every thread on the system during +-- the trace. +-- +-- The rows in this table which have |state| = 'Running', will have a +-- corresponding row in the |sched_slice| table. +CREATE PERFETTO VIEW thread_state ( + -- Unique identifier for this thread state. + id ID, + -- The timestamp at the start of the slice. + ts TIMESTAMP, + -- The duration of the slice. + dur DURATION, + -- The CPU that the thread executed on (meaningful only in single machine + -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the + -- CPU identifier of each machine. + cpu LONG, + -- The thread's unique id in the trace. + utid JOINID(thread.id), + -- The scheduling state of the thread. Can be "Running" or any of the states + -- described in |sched_slice.end_state|. + state STRING, + -- Indicates whether this thread was blocked on IO. + io_wait LONG, + -- The function in the kernel this thread was blocked on. + blocked_function STRING, + -- The unique thread id of the thread which caused a wakeup of this thread. + waker_utid JOINID(thread.id), + -- The unique thread state id which caused a wakeup of this thread. + waker_id JOINID(thread_state.id), + -- Whether the wakeup was from interrupt context or process context. + irq_context LONG, + -- The unique CPU identifier that the thread executed on. + ucpu LONG +) AS +SELECT + id, + ts, + dur, + ucpu AS cpu, + utid, + state, + io_wait, + blocked_function, + waker_utid, + waker_id, + irq_context, + ucpu +FROM __intrinsic_thread_state; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql new file mode 100644 index 00000000000..8f4f41a8841 --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/events.sql @@ -0,0 +1,340 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.events +-- Event data and slices for trace analysis. +-- +-- This module provides tables and views for analyzing various types of +-- events and slices including ftrace events, graphics frames, GPU events, +-- and frame timeline information. + +-- Contains all the ftrace events in the trace. This table exists only for +-- debugging purposes and should not be relied on in production usecases (i.e. +-- metrics, standard library etc). Note also that this table might be empty if +-- raw ftrace parsing has been disabled. +CREATE PERFETTO VIEW ftrace_event ( + -- Unique identifier for this ftrace event. + id ID, + -- The timestamp of this event. + ts TIMESTAMP, + -- The ftrace event name. + name STRING, + -- The CPU this event was emitted on (meaningful only in single machine + -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the + -- CPU identifier of each machine. + cpu LONG, + -- The thread this event was emitted on. + utid JOINID(thread.id), + -- The set of key/value pairs associated with this event. + arg_set_id ARGSETID, + -- Ftrace event flags for this event. Currently only emitted for + -- sched_waking events. + common_flags LONG, + -- The unique CPU identifier that this event was emitted on. + ucpu LONG +) AS +SELECT + id, + ts, + name, + ucpu AS cpu, + utid, + arg_set_id, + common_flags, + ucpu +FROM __intrinsic_ftrace_event; + +-- This table is deprecated. Use `ftrace_event` instead which contains the same +-- rows; this table is simply a (badly named) alias. +CREATE PERFETTO VIEW raw ( + -- Unique identifier for this raw event. + id ID, + -- The timestamp of this event. + ts TIMESTAMP, + -- The name of the event. For ftrace events, this will be the ftrace event + -- name. + name STRING, + -- The CPU this event was emitted on (meaningful only in single machine + -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the + -- CPU identifier of each machine. + cpu LONG, + -- The thread this event was emitted on. + utid JOINID(thread.id), + -- The set of key/value pairs associated with this event. + arg_set_id ARGSETID, + -- Ftrace event flags for this event. Currently only emitted for sched_waking + -- events. + common_flags LONG, + -- The unique CPU identifier that this event was emitted on. + ucpu LONG +) AS +SELECT + * +FROM ftrace_event; + +-- Table containing graphics frame events on Android. +CREATE PERFETTO VIEW frame_slice ( + -- Alias of `slice.id`. + id ID(slice.id), + -- Alias of `slice.ts`. + ts TIMESTAMP, + -- Alias of `slice.dur`. + dur DURATION, + -- Alias of `slice.track_id`. + track_id JOINID(track.id), + -- Alias of `slice.category`. + category STRING, + -- Alias of `slice.name`. + name STRING, + -- Alias of `slice.depth`. + depth LONG, + -- Alias of `slice.parent_id`. + parent_id JOINID(frame_slice.id), + -- Alias of `slice.arg_set_id`. + arg_set_id LONG, + -- Name of the graphics layer this slice happened on. + layer_name STRING, + -- The frame number this slice is associated with. + frame_number LONG, + -- The time between queue and acquire for this buffer and layer. + queue_to_acquire_time LONG, + -- The time between acquire and latch for this buffer and layer. + acquire_to_latch_time LONG, + -- The time between latch and present for this buffer and layer. + latch_to_present_time LONG +) AS +SELECT + s.id, + s.ts, + s.dur, + s.track_id, + s.category, + s.name, + s.depth, + s.parent_id, + s.arg_set_id, + extract_arg(s.arg_set_id, 'layer_name') AS layer_name, + extract_arg(s.arg_set_id, 'frame_number') AS frame_number, + extract_arg(s.arg_set_id, 'queue_to_acquire_time') AS queue_to_acquire_time, + extract_arg(s.arg_set_id, 'acquire_to_latch_time') AS acquire_to_latch_time, + extract_arg(s.arg_set_id, 'latch_to_present_time') AS latch_to_present_time +FROM slice AS s +JOIN track AS t + ON s.track_id = t.id +WHERE + t.type = 'graphics_frame_event'; + +-- Table containing graphics frame events on Android. +CREATE PERFETTO VIEW gpu_slice ( + -- Alias of `slice.id`. + id ID(slice.id), + -- Alias of `slice.ts`. + ts TIMESTAMP, + -- Alias of `slice.dur`. + dur DURATION, + -- Alias of `slice.track_id`. + track_id JOINID(track.id), + -- Alias of `slice.category`. + category STRING, + -- Alias of `slice.name`. + name STRING, + -- Alias of `slice.depth`. + depth LONG, + -- Alias of `slice.parent_id`. + parent_id JOINID(frame_slice.id), + -- Alias of `slice.arg_set_id`. + arg_set_id LONG, + -- Context ID. + context_id LONG, + -- Render target ID. + render_target LONG, + -- The name of the render target. + render_target_name STRING, + -- Render pass ID. + render_pass LONG, + -- The name of the render pass. + render_pass_name STRING, + -- The command buffer ID. + command_buffer LONG, + -- The name of the command buffer. + command_buffer_name STRING, + -- Frame id. + frame_id LONG, + -- The submission id. + submission_id LONG, + -- The hardware queue id. + hw_queue_id LONG, + -- The id of the process. + upid JOINID(process.id), + -- Render subpasses. + render_subpasses STRING +) AS +SELECT + s.id, + s.ts, + s.dur, + s.track_id, + s.category, + s.name, + s.depth, + s.parent_id, + s.arg_set_id, + extract_arg(s.arg_set_id, 'context_id') AS context_id, + extract_arg(s.arg_set_id, 'render_target') AS render_target, + extract_arg(s.arg_set_id, 'render_target_name') AS render_target_name, + extract_arg(s.arg_set_id, 'render_pass') AS render_pass, + extract_arg(s.arg_set_id, 'render_pass_name') AS render_pass_name, + extract_arg(s.arg_set_id, 'command_buffer') AS command_buffer, + extract_arg(s.arg_set_id, 'command_buffer_name') AS command_buffer_name, + extract_arg(s.arg_set_id, 'frame_id') AS frame_id, + extract_arg(s.arg_set_id, 'submission_id') AS submission_id, + extract_arg(s.arg_set_id, 'hw_queue_id') AS hw_queue_id, + extract_arg(s.arg_set_id, 'upid') AS upid, + extract_arg(s.arg_set_id, 'render_subpasses') AS render_subpasses +FROM slice AS s +JOIN track AS t + ON s.track_id = t.id +WHERE + t.type IN ('gpu_render_stage', 'vulkan_events', 'gpu_log'); + +-- This table contains information on the expected timeline of either a display +-- frame or a surface frame. +CREATE PERFETTO TABLE expected_frame_timeline_slice ( + -- Alias of `slice.id`. + id ID(slice.id), + -- Alias of `slice.ts`. + ts TIMESTAMP, + -- Alias of `slice.dur`. + dur DURATION, + -- Alias of `slice.track_id`. + track_id JOINID(track.id), + -- Alias of `slice.category`. + category STRING, + -- Alias of `slice.name`. + name STRING, + -- Alias of `slice.depth`. + depth LONG, + -- Alias of `slice.parent_id`. + parent_id JOINID(frame_slice.id), + -- Alias of `slice.arg_set_id`. + arg_set_id LONG, + -- Display frame token (vsync id). + display_frame_token LONG, + -- Surface frame token (vsync id), null if this is a display frame. + surface_frame_token LONG, + -- Unique process id of the app that generates the surface frame. + upid JOINID(process.id), + -- Layer name if this is a surface frame. + layer_name STRING +) AS +SELECT + s.id, + s.ts, + s.dur, + s.track_id, + s.category, + s.name, + s.depth, + s.parent_id, + s.arg_set_id, + extract_arg(s.arg_set_id, 'Display frame token') AS display_frame_token, + extract_arg(s.arg_set_id, 'Surface frame token') AS surface_frame_token, + t.upid, + extract_arg(s.arg_set_id, 'Layer name') AS layer_name +FROM slice AS s +JOIN process_track AS t + ON s.track_id = t.id +WHERE + t.type = 'android_expected_frame_timeline' +ORDER BY + s.id; + +-- This table contains information on the actual timeline and additional +-- analysis related to the performance of either a display frame or a surface +-- frame. +CREATE PERFETTO TABLE actual_frame_timeline_slice ( + -- Alias of `slice.id`. + id ID(slice.id), + -- Alias of `slice.ts`. + ts TIMESTAMP, + -- Alias of `slice.dur`. + dur DURATION, + -- Alias of `slice.track_id`. + track_id JOINID(track.id), + -- Alias of `slice.category`. + category STRING, + -- Alias of `slice.name`. + name STRING, + -- Alias of `slice.depth`. + depth LONG, + -- Alias of `slice.parent_id`. + parent_id JOINID(frame_slice.id), + -- Alias of `slice.arg_set_id`. + arg_set_id LONG, + -- Display frame token (vsync id). + display_frame_token LONG, + -- Surface frame token (vsync id), null if this is a display frame. + upid JOINID(process.id), + -- Unique process id of the app that generates the surface frame. + surface_frame_token LONG, + -- Layer name if this is a surface frame. + layer_name STRING, + -- Frame's present type (eg. on time / early / late). + present_type STRING, + -- Whether the frame finishes on time. + on_time_finish LONG, + -- Whether the frame used gpu composition. + gpu_composition LONG, + -- Specify the jank types for this frame if there's jank, or none if no jank + -- occurred. + jank_type STRING, + -- Severity of the jank: none if no jank. + jank_severity_type STRING, + -- Frame's prediction type (eg. valid / expired). + prediction_type STRING, + -- Jank tag based on jank type, used for slice visualization. + jank_tag STRING, + -- Jank tag (experimental) based on jank type, used for slice visualization. + jank_tag_experimental STRING +) AS +SELECT + s.id, + s.ts, + s.dur, + s.track_id, + s.category, + s.name, + s.depth, + s.parent_id, + s.arg_set_id, + extract_arg(s.arg_set_id, 'Display frame token') AS display_frame_token, + extract_arg(s.arg_set_id, 'Surface frame token') AS surface_frame_token, + t.upid, + extract_arg(s.arg_set_id, 'Layer name') AS layer_name, + extract_arg(s.arg_set_id, 'Present type') AS present_type, + extract_arg(s.arg_set_id, 'On time finish') AS on_time_finish, + extract_arg(s.arg_set_id, 'GPU composition') AS gpu_composition, + extract_arg(s.arg_set_id, 'Jank type') AS jank_type, + extract_arg(s.arg_set_id, 'Jank severity type') AS jank_severity_type, + extract_arg(s.arg_set_id, 'Prediction type') AS prediction_type, + extract_arg(s.arg_set_id, 'Jank tag') AS jank_tag, + extract_arg(s.arg_set_id, 'Jank tag (experimental)') AS jank_tag_experimental +FROM slice AS s +JOIN process_track AS t + ON s.track_id = t.id +WHERE + t.type = 'android_actual_frame_timeline' +ORDER BY + s.id; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql new file mode 100644 index 00000000000..0179ade768e --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/memory.sql @@ -0,0 +1,204 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.memory +-- Memory and heap analysis tables. +-- +-- This module provides tables and views for analyzing memory usage, +-- including heap graphs for Android Runtime (ART) and memory snapshots +-- for detailed memory profiling. + +-- Stores class information within ART heap graphs. It represents Java/Kotlin +-- classes that exist in the heap, including their names, inheritance +-- relationships, and loading context. +CREATE PERFETTO VIEW heap_graph_class ( + -- Unique identifier for this heap graph class. + id ID, + -- (potentially obfuscated) name of the class. + name STRING, + -- If class name was obfuscated and deobfuscation map for it provided, the + -- deobfuscated name. + deobfuscated_name STRING, + -- the APK / Dex / JAR file the class is contained in. + location STRING, + -- The superclass of this class. + superclass_id JOINID(heap_graph_class.id), + -- The classloader that loaded this class. + classloader_id LONG, + -- The kind of class. + kind STRING +) AS +SELECT + id, + name, + deobfuscated_name, + location, + superclass_id, + classloader_id, + kind +FROM __intrinsic_heap_graph_class; + +-- The objects on the Dalvik heap. +-- +-- All rows with the same (upid, graph_sample_ts) are one dump. +CREATE PERFETTO VIEW heap_graph_object ( + -- Unique identifier for this heap graph object. + id ID, + -- Unique PID of the target. + upid JOINID(process.id), + -- Timestamp this dump was taken at. + graph_sample_ts TIMESTAMP, + -- Size this object uses on the Java Heap. + self_size LONG, + -- Approximate amount of native memory used by this object, as reported by + -- libcore.util.NativeAllocationRegistry.size. + native_size LONG, + -- Join key with heap_graph_reference containing all objects referred in this + -- object's fields. + reference_set_id JOINID(heap_graph_reference.reference_set_id), + -- Bool whether this object is reachable from a GC root. If false, this object + -- is uncollected garbage. + reachable BOOL, + -- The type of ART heap this object is stored on (app, zygote, boot image) + heap_type STRING, + -- Class this object is an instance of. + type_id JOINID(heap_graph_class.id), + -- If not NULL, this object is a GC root. + root_type STRING, + -- Distance from the root object. + root_distance LONG +) AS +SELECT + id, + upid, + graph_sample_ts, + self_size, + native_size, + reference_set_id, + reachable, + heap_type, + type_id, + root_type, + root_distance +FROM __intrinsic_heap_graph_object; + +-- Many-to-many mapping between heap_graph_object. +-- +-- This associates the object with given reference_set_id with the objects +-- that are referred to by its fields. +CREATE PERFETTO VIEW heap_graph_reference ( + -- Unique identifier for this heap graph reference. + id ID, + -- Join key to heap_graph_object reference_set_id. + reference_set_id JOINID(heap_graph_object.reference_set_id), + -- Id of object that has this reference_set_id. + owner_id JOINID(heap_graph_object.id), + -- Id of object that is referred to. + owned_id JOINID(heap_graph_object.id), + -- The field that refers to the object. E.g. Foo.name. + field_name STRING, + -- The static type of the field. E.g. java.lang.String. + field_type_name STRING, + -- The deobfuscated name, if field_name was obfuscated and a deobfuscation + -- mapping was provided for it. + deobfuscated_field_name STRING +) AS +SELECT + id, + reference_set_id, + owner_id, + owned_id, + field_name, + field_type_name, + deobfuscated_field_name +FROM __intrinsic_heap_graph_reference; + +-- Table with memory snapshots. +CREATE PERFETTO VIEW memory_snapshot ( + -- Unique identifier for this snapshot. + id ID, + -- Time of the snapshot. + timestamp TIMESTAMP, + -- Track of this snapshot. + track_id JOINID(track.id), + -- Detail level of this snapshot. + detail_level STRING +) AS +SELECT + id, + timestamp, + track_id, + detail_level +FROM __intrinsic_memory_snapshot; + +-- Table with process memory snapshots. +CREATE PERFETTO VIEW process_memory_snapshot ( + -- Unique identifier for this snapshot. + id ID, + -- Snapshot ID for this snapshot. + snapshot_id JOINID(memory_snapshot.id), + -- Process for this snapshot. + upid JOINID(process.id) +) AS +SELECT + id, + snapshot_id, + upid +FROM __intrinsic_process_memory_snapshot; + +-- Table with memory snapshot nodes. +CREATE PERFETTO VIEW memory_snapshot_node ( + -- Unique identifier for this node. + id ID, + -- Process snapshot ID for to this node. + process_snapshot_id JOINID(process_memory_snapshot.id), + -- Parent node for this node, optional. + parent_node_id JOINID(memory_snapshot_node.id), + -- Path for this node. + path STRING, + -- Size of the memory allocated to this node. + size LONG, + -- Effective size used by this node. + effective_size LONG, + -- Additional args of the node. + arg_set_id ARGSETID +) AS +SELECT + id, + process_snapshot_id, + parent_node_id, + path, + size, + effective_size, + arg_set_id +FROM __intrinsic_memory_snapshot_node; + +-- Table with memory snapshot edge +CREATE PERFETTO VIEW memory_snapshot_edge ( + -- Unique identifier for this edge. + id ID, + -- Source node for this edge. + source_node_id JOINID(memory_snapshot_node.id), + -- Target node for this edge. + target_node_id JOINID(memory_snapshot_node.id), + -- Importance for this edge. + importance LONG +) AS +SELECT + id, + source_node_id, + target_node_id, + importance +FROM __intrinsic_memory_snapshot_edge; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql index c05bd9b5ef2..1075208cf35 100644 --- a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tables_views.sql @@ -17,1232 +17,15 @@ INCLUDE PERFETTO MODULE prelude.after_eof.indexes; INCLUDE PERFETTO MODULE prelude.after_eof.views; --- Lists all metrics built-into trace processor. -CREATE PERFETTO VIEW trace_metrics ( - -- The name of the metric. - name STRING -) AS -SELECT - name -FROM _trace_metrics; +-- Include all focused modules +INCLUDE PERFETTO MODULE prelude.after_eof.core; --- Definition of `trace_bounds` table. The values are being filled by Trace --- Processor when parsing the trace. --- It is recommended to depend on the `trace_start()` and `trace_end()` --- functions rather than directly on `trace_bounds`. -CREATE PERFETTO VIEW trace_bounds ( - -- First ts in the trace. - start_ts TIMESTAMP, - -- End of the trace. - end_ts TIMESTAMP -) AS -SELECT - start_ts, - end_ts -FROM _trace_bounds; +INCLUDE PERFETTO MODULE prelude.after_eof.tracks; --- Tracks are a fundamental concept in trace processor and represent a --- "timeline" for events of the same type and with the same context. See --- https://perfetto.dev/docs/analysis/trace-processor#tracks for a more --- detailed explanation, with examples. -CREATE PERFETTO VIEW track ( - -- Unique identifier for this track. Identical to |track_id|, prefer using - -- |track_id| instead. - id ID, - -- Name of the track; can be null for some types of tracks (e.g. thread - -- tracks). - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The dimensions of the track which uniquely identify the track within a - -- given `type`. - -- - -- Join with the `args` table or use the `EXTRACT_ARG` helper function to - -- expand the args. - dimension_arg_set_id ARGSETID, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Generic key-value pairs containing extra information about the track. - -- - -- Join with the `args` table or use the `EXTRACT_ARG` helper function to - -- expand the args. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- An opaque key indicating that this track belongs to a group of tracks which - -- are "conceptually" the same track. - -- - -- Tracks in trace processor don't allow overlapping events to allow for easy - -- analysis (i.e. SQL window functions, SPAN JOIN and other similar - -- operators). However, in visualization settings (e.g. the UI), the - -- distinction doesn't matter and all tracks with the same `track_group_id` - -- should be merged together into a single logical "UI track". - track_group_id LONG -) AS -SELECT - id, - name, - type, - dimension_arg_set_id, - parent_id, - source_arg_set_id, - machine_id, - track_group_id -FROM __intrinsic_track; +INCLUDE PERFETTO MODULE prelude.after_eof.cpu_scheduling; --- Contains information about the CPUs on the device this trace was taken on. -CREATE PERFETTO VIEW cpu ( - -- Unique identifier for this CPU. Identical to |ucpu|, prefer using |ucpu| - -- instead. - id ID, - -- Unique identifier for this CPU. Isn't equal to |cpu| for remote machines - -- and is equal to |cpu| for the host machine. - ucpu ID, - -- The 0-based CPU core identifier. - cpu LONG, - -- The cluster id is shared by CPUs in the same cluster. - cluster_id LONG, - -- A string describing this core. - processor STRING, - -- Machine identifier, non-null for CPUs on a remote machine. - machine_id LONG, - -- Capacity of a CPU of a device, a metric which indicates the - -- relative performance of a CPU on a device - -- For details see: - -- https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpu-capacity.txt - capacity LONG, - -- Extra key/value pairs associated with this cpu. - arg_set_id ARGSETID -) AS -SELECT - id, - id AS ucpu, - cpu, - cluster_id, - processor, - machine_id, - capacity, - arg_set_id -FROM __intrinsic_cpu -WHERE - cpu IS NOT NULL; +INCLUDE PERFETTO MODULE prelude.after_eof.counters; --- Contains the frequency values that the CPUs on the device are capable of --- running at. -CREATE PERFETTO VIEW cpu_available_frequencies ( - -- Unique identifier for this cpu frequency. - id ID, - -- The CPU for this frequency, meaningful only in single machine traces. - -- For multi-machine, join with the `cpu` table on `ucpu` to get the CPU - -- identifier of each machine. - cpu LONG, - -- CPU frequency in KHz. - freq LONG, - -- The CPU that the slice executed on (meaningful only in single machine - -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the - -- CPU identifier of each machine. - ucpu LONG -) AS -SELECT - id, - ucpu AS cpu, - freq, - ucpu -FROM __intrinsic_cpu_freq; +INCLUDE PERFETTO MODULE prelude.after_eof.events; --- This table holds slices with kernel thread scheduling information. These --- slices are collected when the Linux "ftrace" data source is used with the --- "sched/switch" and "sched/wakeup*" events enabled. --- --- The rows in this table will always have a matching row in the |thread_state| --- table with |thread_state.state| = 'Running' -CREATE PERFETTO VIEW sched_slice ( - -- Unique identifier for this scheduling slice. - id ID, - -- The timestamp at the start of the slice. - ts TIMESTAMP, - -- The duration of the slice. - dur DURATION, - -- The CPU that the slice executed on (meaningful only in single machine - -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the - -- CPU identifier of each machine. - cpu LONG, - -- The thread's unique id in the trace. - utid JOINID(thread.id), - -- A string representing the scheduling state of the kernel - -- thread at the end of the slice. The individual characters in - -- the string mean the following: R (runnable), S (awaiting a - -- wakeup), D (in an uninterruptible sleep), T (suspended), - -- t (being traced), X (exiting), P (parked), W (waking), - -- I (idle), N (not contributing to the load average), - -- K (wakeable on fatal signals) and Z (zombie, awaiting - -- cleanup). - end_state STRING, - -- The kernel priority that the thread ran at. - priority LONG, - -- The unique CPU identifier that the slice executed on. - ucpu LONG -) AS -SELECT - id, - ts, - dur, - ucpu AS cpu, - utid, - end_state, - priority, - ucpu -FROM __intrinsic_sched_slice; - --- Shorter alias for table `sched_slice`. -CREATE PERFETTO VIEW sched ( - -- Alias for `sched_slice.id`. - id ID, - -- Alias for `sched_slice.ts`. - ts TIMESTAMP, - -- Alias for `sched_slice.dur`. - dur DURATION, - -- Alias for `sched_slice.cpu`. - cpu LONG, - -- Alias for `sched_slice.utid`. - utid JOINID(thread.id), - -- Alias for `sched_slice.end_state`. - end_state STRING, - -- Alias for `sched_slice.priority`. - priority LONG, - -- Alias for `sched_slice.ucpu`. - ucpu LONG, - -- Legacy column, should no longer be used. - ts_end LONG -) AS -SELECT - *, - ts + dur AS ts_end -FROM sched_slice; - --- This table contains the scheduling state of every thread on the system during --- the trace. --- --- The rows in this table which have |state| = 'Running', will have a --- corresponding row in the |sched_slice| table. -CREATE PERFETTO VIEW thread_state ( - -- Unique identifier for this thread state. - id ID, - -- The timestamp at the start of the slice. - ts TIMESTAMP, - -- The duration of the slice. - dur DURATION, - -- The CPU that the thread executed on (meaningful only in single machine - -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the - -- CPU identifier of each machine. - cpu LONG, - -- The thread's unique id in the trace. - utid JOINID(thread.id), - -- The scheduling state of the thread. Can be "Running" or any of the states - -- described in |sched_slice.end_state|. - state STRING, - -- Indicates whether this thread was blocked on IO. - io_wait LONG, - -- The function in the kernel this thread was blocked on. - blocked_function STRING, - -- The unique thread id of the thread which caused a wakeup of this thread. - waker_utid JOINID(thread.id), - -- The unique thread state id which caused a wakeup of this thread. - waker_id JOINID(thread_state.id), - -- Whether the wakeup was from interrupt context or process context. - irq_context LONG, - -- The unique CPU identifier that the thread executed on. - ucpu LONG -) AS -SELECT - id, - ts, - dur, - ucpu AS cpu, - utid, - state, - io_wait, - blocked_function, - waker_utid, - waker_id, - irq_context, - ucpu -FROM __intrinsic_thread_state; - --- Contains all the ftrace events in the trace. This table exists only for --- debugging purposes and should not be relied on in production usecases (i.e. --- metrics, standard library etc). Note also that this table might be empty if --- raw ftrace parsing has been disabled. -CREATE PERFETTO VIEW ftrace_event ( - -- Unique identifier for this ftrace event. - id ID, - -- The timestamp of this event. - ts TIMESTAMP, - -- The ftrace event name. - name STRING, - -- The CPU this event was emitted on (meaningful only in single machine - -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the - -- CPU identifier of each machine. - cpu LONG, - -- The thread this event was emitted on. - utid JOINID(thread.id), - -- The set of key/value pairs associated with this event. - arg_set_id ARGSETID, - -- Ftrace event flags for this event. Currently only emitted for - -- sched_waking events. - common_flags LONG, - -- The unique CPU identifier that this event was emitted on. - ucpu LONG -) AS -SELECT - id, - ts, - name, - ucpu AS cpu, - utid, - arg_set_id, - common_flags, - ucpu -FROM __intrinsic_ftrace_event; - --- This table is deprecated. Use `ftrace_event` instead which contains the same --- rows; this table is simply a (badly named) alias. -CREATE PERFETTO VIEW raw ( - -- Unique identifier for this raw event. - id ID, - -- The timestamp of this event. - ts TIMESTAMP, - -- The name of the event. For ftrace events, this will be the ftrace event - -- name. - name STRING, - -- The CPU this event was emitted on (meaningful only in single machine - -- traces). For multi-machine, join with the `cpu` table on `ucpu` to get the - -- CPU identifier of each machine. - cpu LONG, - -- The thread this event was emitted on. - utid JOINID(thread.id), - -- The set of key/value pairs associated with this event. - arg_set_id ARGSETID, - -- Ftrace event flags for this event. Currently only emitted for sched_waking - -- events. - common_flags LONG, - -- The unique CPU identifier that this event was emitted on. - ucpu LONG -) AS -SELECT - * -FROM ftrace_event; - --- Tracks which are associated to a single thread. -CREATE PERFETTO TABLE thread_track ( - -- Unique identifier for this thread track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The utid that the track is associated with. - utid JOINID(thread.id) -) AS -SELECT - t.id, - t.name, - t.type, - t.parent_id, - t.source_arg_set_id, - t.machine_id, - a.int_value AS utid -FROM __intrinsic_track AS t -JOIN args AS a - ON t.dimension_arg_set_id = a.arg_set_id -WHERE - t.event_type = 'slice' AND a.key = 'utid'; - --- Tracks which are associated to a single process. -CREATE PERFETTO TABLE process_track ( - -- Unique identifier for this process track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The upid that the track is associated with. - upid JOINID(process.id) -) AS -SELECT - t.id, - t.name, - t.type, - t.parent_id, - t.source_arg_set_id, - t.machine_id, - a.int_value AS upid -FROM __intrinsic_track AS t -JOIN args AS a - ON t.dimension_arg_set_id = a.arg_set_id -WHERE - t.event_type = 'slice' AND a.key = 'upid'; - --- Tracks which are associated to a single CPU. -CREATE PERFETTO TABLE cpu_track ( - -- Unique identifier for this cpu track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The CPU that the track is associated with. - cpu LONG -) AS -SELECT - t.id, - t.name, - t.type, - t.parent_id, - t.source_arg_set_id, - t.machine_id, - a.int_value AS cpu -FROM __intrinsic_track AS t -JOIN args AS a - ON t.dimension_arg_set_id = a.arg_set_id -WHERE - t.event_type = 'slice' AND a.key = 'cpu'; - --- Table containing tracks which are loosely tied to a GPU. --- --- NOTE: this table is deprecated due to inconsistency of it's design with --- other track tables (e.g. not having a GPU column, mixing a bunch of different --- tracks which are barely related). Please use the track table directly --- instead. -CREATE PERFETTO TABLE gpu_track ( - -- Unique identifier for this cpu track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- The dimensions of the track which uniquely identify the track within a - -- given type. - dimension_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The source of the track. Deprecated. - scope STRING, - -- The description for the track. - description STRING, - -- The context id for the GPU this track is associated to. - context_id LONG -) AS -SELECT - id, - name, - type, - parent_id, - source_arg_set_id, - dimension_arg_set_id, - machine_id, - type AS scope, - extract_arg(source_arg_set_id, 'description') AS description, - extract_arg(dimension_arg_set_id, 'context_id') AS context_id -FROM __intrinsic_track -WHERE - type IN ('drm_vblank', 'drm_sched_ring', 'drm_fence', 'mali_mcu_state', 'gpu_render_stage', 'vulkan_events', 'gpu_log', 'graphics_frame_event'); - --- Tracks containing counter-like events. -CREATE PERFETTO VIEW counter_track ( - -- Unique identifier for this cpu counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The dimensions of the track which uniquely identify the track within a - -- given type. - dimension_arg_set_id ARGSETID, - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING -) AS -SELECT - id, - name, - NULL AS parent_id, - type, - dimension_arg_set_id, - source_arg_set_id, - machine_id, - counter_unit AS unit, - extract_arg(source_arg_set_id, 'description') AS description -FROM __intrinsic_track -WHERE - event_type = 'counter'; - --- Tracks containing counter-like events associated to a CPU. -CREATE PERFETTO TABLE cpu_counter_track ( - -- Unique identifier for this cpu counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING, - -- The CPU that the track is associated with. - cpu LONG -) AS -SELECT - ct.id, - ct.name, - ct.type, - ct.parent_id, - ct.source_arg_set_id, - ct.machine_id, - ct.unit, - ct.description, - args.int_value AS cpu -FROM counter_track AS ct -JOIN args - ON ct.dimension_arg_set_id = args.arg_set_id -WHERE - args.key = 'cpu'; - --- Tracks containing counter-like events associated to a GPU. -CREATE PERFETTO TABLE gpu_counter_track ( - -- Unique identifier for this gpu counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING, - -- The GPU that the track is associated with. - gpu_id LONG -) AS -SELECT - ct.id, - ct.name, - ct.type, - ct.parent_id, - ct.source_arg_set_id, - ct.machine_id, - ct.unit, - ct.description, - args.int_value AS gpu_id -FROM counter_track AS ct -JOIN args - ON ct.dimension_arg_set_id = args.arg_set_id -WHERE - args.key = 'gpu'; - --- Tracks containing counter-like events associated to a process. -CREATE PERFETTO TABLE process_counter_track ( - -- Unique identifier for this process counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING, - -- The upid of the process that the track is associated with. - upid LONG -) AS -SELECT - ct.id, - ct.name, - ct.type, - ct.parent_id, - ct.source_arg_set_id, - ct.machine_id, - ct.unit, - ct.description, - args.int_value AS upid -FROM counter_track AS ct -JOIN args - ON ct.dimension_arg_set_id = args.arg_set_id -WHERE - args.key = 'upid'; - --- Tracks containing counter-like events associated to a thread. -CREATE PERFETTO TABLE thread_counter_track ( - -- Unique identifier for this thread counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id JOINID(track.id), - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING, - -- The utid of the thread that the track is associated with. - utid LONG -) AS -SELECT - ct.id, - ct.name, - ct.type, - ct.parent_id, - ct.source_arg_set_id, - ct.machine_id, - ct.unit, - ct.description, - args.int_value AS utid -FROM counter_track AS ct -JOIN args - ON ct.dimension_arg_set_id = args.arg_set_id -WHERE - args.key = 'utid'; - --- Tracks containing counter-like events collected from Linux perf. -CREATE PERFETTO TABLE perf_counter_track ( - -- Unique identifier for this thread counter track. - id ID(track.id), - -- Name of the track. - name STRING, - -- The type of a track indicates the type of data the track contains. - -- - -- Every track is uniquely identified by the the combination of the - -- type and a set of dimensions: type allow identifying a set of tracks - -- with the same type of data within the whole universe of tracks while - -- dimensions allow distinguishing between different tracks in that set. - type STRING, - -- The track which is the "parent" of this track. Only non-null for tracks - -- created using Perfetto's track_event API. - parent_id JOINID(track.id), - -- Args for this track which store information about "source" of this track in - -- the trace. For example: whether this track orginated from atrace, Chrome - -- tracepoints etc. - source_arg_set_id ARGSETID, - -- Machine identifier, non-null for tracks on a remote machine. - machine_id LONG, - -- The units of the counter. This column is rarely filled. - unit STRING, - -- The description for this track. For debugging purposes only. - description STRING, - -- The id of the perf session this counter was captured on. - perf_session_id LONG, - -- The CPU the counter is associated with. Can be null if the counter is not - -- associated with any CPU. - cpu LONG, - -- Whether this counter is the sampling timebase for the session. - is_timebase BOOL -) AS -SELECT - ct.id, - ct.name, - ct.type, - ct.parent_id, - ct.source_arg_set_id, - ct.machine_id, - ct.unit, - ct.description, - extract_arg(ct.dimension_arg_set_id, 'perf_session_id') AS perf_session_id, - extract_arg(ct.dimension_arg_set_id, 'cpu') AS cpu, - extract_arg(ct.source_arg_set_id, 'is_timebase') AS is_timebase -FROM counter_track AS ct -WHERE - ct.type IN ('perf_cpu_counter', 'perf_global_counter'); - --- Alias of the `counter` table. -CREATE PERFETTO VIEW counters ( - -- Alias of `counter.id`. - id ID, - -- Alias of `counter.ts`. - ts TIMESTAMP, - -- Alias of `counter.track_id`. - track_id JOINID(track.id), - -- Alias of `counter.value`. - value DOUBLE, - -- Alias of `counter.arg_set_id`. - arg_set_id LONG, - -- Legacy column, should no longer be used. - name STRING, - -- Legacy column, should no longer be used. - unit STRING -) AS -SELECT - v.*, - t.name, - t.unit -FROM counter AS v -JOIN counter_track AS t - ON v.track_id = t.id -ORDER BY - ts; - --- Table containing graphics frame events on Android. -CREATE PERFETTO VIEW frame_slice ( - -- Alias of `slice.id`. - id ID(slice.id), - -- Alias of `slice.ts`. - ts TIMESTAMP, - -- Alias of `slice.dur`. - dur DURATION, - -- Alias of `slice.track_id`. - track_id JOINID(track.id), - -- Alias of `slice.category`. - category STRING, - -- Alias of `slice.name`. - name STRING, - -- Alias of `slice.depth`. - depth LONG, - -- Alias of `slice.parent_id`. - parent_id JOINID(frame_slice.id), - -- Alias of `slice.arg_set_id`. - arg_set_id LONG, - -- Name of the graphics layer this slice happened on. - layer_name STRING, - -- The frame number this slice is associated with. - frame_number LONG, - -- The time between queue and acquire for this buffer and layer. - queue_to_acquire_time LONG, - -- The time between acquire and latch for this buffer and layer. - acquire_to_latch_time LONG, - -- The time between latch and present for this buffer and layer. - latch_to_present_time LONG -) AS -SELECT - s.id, - s.ts, - s.dur, - s.track_id, - s.category, - s.name, - s.depth, - s.parent_id, - s.arg_set_id, - extract_arg(s.arg_set_id, 'layer_name') AS layer_name, - extract_arg(s.arg_set_id, 'frame_number') AS frame_number, - extract_arg(s.arg_set_id, 'queue_to_acquire_time') AS queue_to_acquire_time, - extract_arg(s.arg_set_id, 'acquire_to_latch_time') AS acquire_to_latch_time, - extract_arg(s.arg_set_id, 'latch_to_present_time') AS latch_to_present_time -FROM slice AS s -JOIN track AS t - ON s.track_id = t.id -WHERE - t.type = 'graphics_frame_event'; - --- Table containing graphics frame events on Android. -CREATE PERFETTO VIEW gpu_slice ( - -- Alias of `slice.id`. - id ID(slice.id), - -- Alias of `slice.ts`. - ts TIMESTAMP, - -- Alias of `slice.dur`. - dur DURATION, - -- Alias of `slice.track_id`. - track_id JOINID(track.id), - -- Alias of `slice.category`. - category STRING, - -- Alias of `slice.name`. - name STRING, - -- Alias of `slice.depth`. - depth LONG, - -- Alias of `slice.parent_id`. - parent_id JOINID(frame_slice.id), - -- Alias of `slice.arg_set_id`. - arg_set_id LONG, - -- Context ID. - context_id LONG, - -- Render target ID. - render_target LONG, - -- The name of the render target. - render_target_name STRING, - -- Render pass ID. - render_pass LONG, - -- The name of the render pass. - render_pass_name STRING, - -- The command buffer ID. - command_buffer LONG, - -- The name of the command buffer. - command_buffer_name STRING, - -- Frame id. - frame_id LONG, - -- The submission id. - submission_id LONG, - -- The hardware queue id. - hw_queue_id LONG, - -- The id of the process. - upid JOINID(process.id), - -- Render subpasses. - render_subpasses STRING -) AS -SELECT - s.id, - s.ts, - s.dur, - s.track_id, - s.category, - s.name, - s.depth, - s.parent_id, - s.arg_set_id, - extract_arg(s.arg_set_id, 'context_id') AS context_id, - extract_arg(s.arg_set_id, 'render_target') AS render_target, - extract_arg(s.arg_set_id, 'render_target_name') AS render_target_name, - extract_arg(s.arg_set_id, 'render_pass') AS render_pass, - extract_arg(s.arg_set_id, 'render_pass_name') AS render_pass_name, - extract_arg(s.arg_set_id, 'command_buffer') AS command_buffer, - extract_arg(s.arg_set_id, 'command_buffer_name') AS command_buffer_name, - extract_arg(s.arg_set_id, 'frame_id') AS frame_id, - extract_arg(s.arg_set_id, 'submission_id') AS submission_id, - extract_arg(s.arg_set_id, 'hw_queue_id') AS hw_queue_id, - extract_arg(s.arg_set_id, 'upid') AS upid, - extract_arg(s.arg_set_id, 'render_subpasses') AS render_subpasses -FROM slice AS s -JOIN track AS t - ON s.track_id = t.id -WHERE - t.type IN ('gpu_render_stage', 'vulkan_events', 'gpu_log'); - --- This table contains information on the expected timeline of either a display --- frame or a surface frame. -CREATE PERFETTO TABLE expected_frame_timeline_slice ( - -- Alias of `slice.id`. - id ID(slice.id), - -- Alias of `slice.ts`. - ts TIMESTAMP, - -- Alias of `slice.dur`. - dur DURATION, - -- Alias of `slice.track_id`. - track_id JOINID(track.id), - -- Alias of `slice.category`. - category STRING, - -- Alias of `slice.name`. - name STRING, - -- Alias of `slice.depth`. - depth LONG, - -- Alias of `slice.parent_id`. - parent_id JOINID(frame_slice.id), - -- Alias of `slice.arg_set_id`. - arg_set_id LONG, - -- Display frame token (vsync id). - display_frame_token LONG, - -- Surface frame token (vsync id), null if this is a display frame. - surface_frame_token LONG, - -- Unique process id of the app that generates the surface frame. - upid JOINID(process.id), - -- Layer name if this is a surface frame. - layer_name STRING -) AS -SELECT - s.id, - s.ts, - s.dur, - s.track_id, - s.category, - s.name, - s.depth, - s.parent_id, - s.arg_set_id, - extract_arg(s.arg_set_id, 'Display frame token') AS display_frame_token, - extract_arg(s.arg_set_id, 'Surface frame token') AS surface_frame_token, - t.upid, - extract_arg(s.arg_set_id, 'Layer name') AS layer_name -FROM slice AS s -JOIN process_track AS t - ON s.track_id = t.id -WHERE - t.type = 'android_expected_frame_timeline' -ORDER BY - s.id; - --- This table contains information on the actual timeline and additional --- analysis related to the performance of either a display frame or a surface --- frame. -CREATE PERFETTO TABLE actual_frame_timeline_slice ( - -- Alias of `slice.id`. - id ID(slice.id), - -- Alias of `slice.ts`. - ts TIMESTAMP, - -- Alias of `slice.dur`. - dur DURATION, - -- Alias of `slice.track_id`. - track_id JOINID(track.id), - -- Alias of `slice.category`. - category STRING, - -- Alias of `slice.name`. - name STRING, - -- Alias of `slice.depth`. - depth LONG, - -- Alias of `slice.parent_id`. - parent_id JOINID(frame_slice.id), - -- Alias of `slice.arg_set_id`. - arg_set_id LONG, - -- Display frame token (vsync id). - display_frame_token LONG, - -- Surface frame token (vsync id), null if this is a display frame. - surface_frame_token LONG, - -- Unique process id of the app that generates the surface frame. - upid JOINID(process.id), - -- Layer name if this is a surface frame. - layer_name STRING, - -- Frame's present type (eg. on time / early / late). - present_type STRING, - -- Whether the frame finishes on time. - on_time_finish LONG, - -- Whether the frame used gpu composition. - gpu_composition LONG, - -- Specify the jank types for this frame if there's jank, or none if no jank - -- occurred. - jank_type STRING, - -- Severity of the jank: none if no jank. - jank_severity_type STRING, - -- Frame's prediction type (eg. valid / expired). - prediction_type STRING, - -- Jank tag based on jank type, used for slice visualization. - jank_tag STRING, - -- Jank tag (experimental) based on jank type, used for slice visualization. - jank_tag_experimental STRING -) AS -SELECT - s.id, - s.ts, - s.dur, - s.track_id, - s.category, - s.name, - s.depth, - s.parent_id, - s.arg_set_id, - extract_arg(s.arg_set_id, 'Display frame token') AS display_frame_token, - extract_arg(s.arg_set_id, 'Surface frame token') AS surface_frame_token, - t.upid, - extract_arg(s.arg_set_id, 'Layer name') AS layer_name, - extract_arg(s.arg_set_id, 'Present type') AS present_type, - extract_arg(s.arg_set_id, 'On time finish') AS on_time_finish, - extract_arg(s.arg_set_id, 'GPU composition') AS gpu_composition, - extract_arg(s.arg_set_id, 'Jank type') AS jank_type, - extract_arg(s.arg_set_id, 'Jank severity type') AS jank_severity_type, - extract_arg(s.arg_set_id, 'Prediction type') AS prediction_type, - extract_arg(s.arg_set_id, 'Jank tag') AS jank_tag, - extract_arg(s.arg_set_id, 'Jank tag (experimental)') AS jank_tag_experimental -FROM slice AS s -JOIN process_track AS t - ON s.track_id = t.id -WHERE - t.type = 'android_actual_frame_timeline' -ORDER BY - s.id; - --- Stores class information within ART heap graphs. It represents Java/Kotlin --- classes that exist in the heap, including their names, inheritance --- relationships, and loading context. -CREATE PERFETTO VIEW heap_graph_class ( - -- Unique identifier for this heap graph class. - id ID, - -- (potentially obfuscated) name of the class. - name STRING, - -- If class name was obfuscated and deobfuscation map for it provided, the - -- deobfuscated name. - deobfuscated_name STRING, - -- the APK / Dex / JAR file the class is contained in. - location STRING, - -- The superclass of this class. - superclass_id JOINID(heap_graph_class.id), - -- The classloader that loaded this class. - classloader_id LONG, - -- The kind of class. - kind STRING -) AS -SELECT - id, - name, - deobfuscated_name, - location, - superclass_id, - classloader_id, - kind -FROM __intrinsic_heap_graph_class; - --- The objects on the Dalvik heap. --- --- All rows with the same (upid, graph_sample_ts) are one dump. -CREATE PERFETTO VIEW heap_graph_object ( - -- Unique identifier for this heap graph object. - id ID, - -- Unique PID of the target. - upid JOINID(process.id), - -- Timestamp this dump was taken at. - graph_sample_ts TIMESTAMP, - -- Size this object uses on the Java Heap. - self_size LONG, - -- Approximate amount of native memory used by this object, as reported by - -- libcore.util.NativeAllocationRegistry.size. - native_size LONG, - -- Join key with heap_graph_reference containing all objects referred in this - -- object's fields. - reference_set_id JOINID(heap_graph_reference.reference_set_id), - -- Bool whether this object is reachable from a GC root. If false, this object - -- is uncollected garbage. - reachable BOOL, - -- The type of ART heap this object is stored on (app, zygote, boot image) - heap_type STRING, - -- Class this object is an instance of. - type_id JOINID(heap_graph_class.id), - -- If not NULL, this object is a GC root. - root_type STRING, - -- Distance from the root object. - root_distance LONG -) AS -SELECT - id, - upid, - graph_sample_ts, - self_size, - native_size, - reference_set_id, - reachable, - heap_type, - type_id, - root_type, - root_distance -FROM __intrinsic_heap_graph_object; - --- Many-to-many mapping between heap_graph_object. --- --- This associates the object with given reference_set_id with the objects --- that are referred to by its fields. -CREATE PERFETTO VIEW heap_graph_reference ( - -- Unique identifier for this heap graph reference. - id ID, - -- Join key to heap_graph_object reference_set_id. - reference_set_id JOINID(heap_graph_object.reference_set_id), - -- Id of object that has this reference_set_id. - owner_id JOINID(heap_graph_object.id), - -- Id of object that is referred to. - owned_id JOINID(heap_graph_object.id), - -- The field that refers to the object. E.g. Foo.name. - field_name STRING, - -- The static type of the field. E.g. java.lang.String. - field_type_name STRING, - -- The deobfuscated name, if field_name was obfuscated and a deobfuscation - -- mapping was provided for it. - deobfuscated_field_name STRING -) AS -SELECT - id, - reference_set_id, - owner_id, - owned_id, - field_name, - field_type_name, - deobfuscated_field_name -FROM __intrinsic_heap_graph_reference; - --- Table with memory snapshots. -CREATE PERFETTO VIEW memory_snapshot ( - -- Unique identifier for this snapshot. - id ID, - -- Time of the snapshot. - timestamp TIMESTAMP, - -- Track of this snapshot. - track_id JOINID(track.id), - -- Detail level of this snapshot. - detail_level STRING -) AS -SELECT - id, - timestamp, - track_id, - detail_level -FROM __intrinsic_memory_snapshot; - --- Table with process memory snapshots. -CREATE PERFETTO VIEW process_memory_snapshot ( - -- Unique identifier for this snapshot. - id ID, - -- Snapshot ID for this snapshot. - snapshot_id JOINID(memory_snapshot.id), - -- Process for this snapshot. - upid JOINID(process.id) -) AS -SELECT - id, - snapshot_id, - upid -FROM __intrinsic_process_memory_snapshot; - --- Table with memory snapshot nodes. -CREATE PERFETTO VIEW memory_snapshot_node ( - -- Unique identifier for this node. - id ID, - -- Process snapshot ID for to this node. - process_snapshot_id JOINID(process_memory_snapshot.id), - -- Parent node for this node, optional. - parent_node_id JOINID(memory_snapshot_node.id), - -- Path for this node. - path STRING, - -- Size of the memory allocated to this node. - size LONG, - -- Effective size used by this node. - effective_size LONG, - -- Additional args of the node. - arg_set_id ARGSETID -) AS -SELECT - id, - process_snapshot_id, - parent_node_id, - path, - size, - effective_size, - arg_set_id -FROM __intrinsic_memory_snapshot_node; - --- Table with memory snapshot edge -CREATE PERFETTO VIEW memory_snapshot_edge ( - -- Unique identifier for this edge. - id ID, - -- Source node for this edge. - source_node_id JOINID(memory_snapshot_node.id), - -- Target node for this edge. - target_node_id JOINID(memory_snapshot_node.id), - -- Importance for this edge. - importance LONG -) AS -SELECT - id, - source_node_id, - target_node_id, - importance -FROM __intrinsic_memory_snapshot_edge; +INCLUDE PERFETTO MODULE prelude.after_eof.memory; diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql new file mode 100644 index 00000000000..c9553080d62 --- /dev/null +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/tracks.sql @@ -0,0 +1,244 @@ +-- +-- Copyright 2024 The Android Open Source Project +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- @module prelude.after_eof.tracks +-- Track infrastructure for organizing trace events. +-- +-- This module provides the track concept and specialized track tables for +-- organizing events by thread, process, CPU, and GPU contexts. + +-- Tracks are a fundamental concept in trace processor and represent a +-- "timeline" for events of the same type and with the same context. See +-- https://perfetto.dev/docs/analysis/trace-processor#tracks for a more +-- detailed explanation, with examples. +CREATE PERFETTO VIEW track ( + -- Unique identifier for this track. Identical to |track_id|, prefer using + -- |track_id| instead. + id ID, + -- Name of the track; can be null for some types of tracks (e.g. thread + -- tracks). + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The dimensions of the track which uniquely identify the track within a + -- given `type`. + -- + -- Join with the `args` table or use the `EXTRACT_ARG` helper function to + -- expand the args. + dimension_arg_set_id ARGSETID, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Generic key-value pairs containing extra information about the track. + -- + -- Join with the `args` table or use the `EXTRACT_ARG` helper function to + -- expand the args. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- An opaque key indicating that this track belongs to a group of tracks which + -- are "conceptually" the same track. + -- + -- Tracks in trace processor don't allow overlapping events to allow for easy + -- analysis (i.e. SQL window functions, SPAN JOIN and other similar + -- operators). However, in visualization settings (e.g. the UI), the + -- distinction doesn't matter and all tracks with the same `track_group_id` + -- should be merged together into a single logical "UI track". + track_group_id LONG +) AS +SELECT + id, + name, + type, + dimension_arg_set_id, + parent_id, + source_arg_set_id, + machine_id, + track_group_id +FROM __intrinsic_track; + +-- Tracks which are associated to a single thread. +CREATE PERFETTO TABLE thread_track ( + -- Unique identifier for this thread track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The utid that the track is associated with. + utid JOINID(thread.id) +) AS +SELECT + t.id, + t.name, + t.type, + t.parent_id, + t.source_arg_set_id, + t.machine_id, + a.int_value AS utid +FROM __intrinsic_track AS t +JOIN args AS a + ON t.dimension_arg_set_id = a.arg_set_id +WHERE + t.event_type = 'slice' AND a.key = 'utid'; + +-- Tracks which are associated to a single process. +CREATE PERFETTO TABLE process_track ( + -- Unique identifier for this process track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The upid that the track is associated with. + upid JOINID(process.id) +) AS +SELECT + t.id, + t.name, + t.type, + t.parent_id, + t.source_arg_set_id, + t.machine_id, + a.int_value AS upid +FROM __intrinsic_track AS t +JOIN args AS a + ON t.dimension_arg_set_id = a.arg_set_id +WHERE + t.event_type = 'slice' AND a.key = 'upid'; + +-- Tracks which are associated to a single CPU. +CREATE PERFETTO TABLE cpu_track ( + -- Unique identifier for this cpu track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The CPU that the track is associated with. + cpu LONG +) AS +SELECT + t.id, + t.name, + t.type, + t.parent_id, + t.source_arg_set_id, + t.machine_id, + a.int_value AS cpu +FROM __intrinsic_track AS t +JOIN args AS a + ON t.dimension_arg_set_id = a.arg_set_id +WHERE + t.event_type = 'slice' AND a.key = 'cpu'; + +-- Table containing tracks which are loosely tied to a GPU. +-- +-- NOTE: this table is deprecated due to inconsistency of it's design with +-- other track tables (e.g. not having a GPU column, mixing a bunch of different +-- tracks which are barely related). Please use the track table directly +-- instead. +CREATE PERFETTO TABLE gpu_track ( + -- Unique identifier for this cpu track. + id ID(track.id), + -- Name of the track. + name STRING, + -- The type of a track indicates the type of data the track contains. + -- + -- Every track is uniquely identified by the the combination of the + -- type and a set of dimensions: type allow identifying a set of tracks + -- with the same type of data within the whole universe of tracks while + -- dimensions allow distinguishing between different tracks in that set. + type STRING, + -- The track which is the "parent" of this track. Only non-null for tracks + -- created using Perfetto's track_event API. + parent_id JOINID(track.id), + -- Args for this track which store information about "source" of this track in + -- the trace. For example: whether this track orginated from atrace, Chrome + -- tracepoints etc. + source_arg_set_id ARGSETID, + -- The dimensions of the track which uniquely identify the track within a + -- given type. + dimension_arg_set_id ARGSETID, + -- Machine identifier, non-null for tracks on a remote machine. + machine_id LONG, + -- The source of the track. Deprecated. + scope STRING, + -- The description for the track. + description STRING, + -- The context id for the GPU this track is associated to. + context_id LONG +) AS +SELECT + id, + name, + type, + parent_id, + source_arg_set_id, + dimension_arg_set_id, + machine_id, + type AS scope, + extract_arg(source_arg_set_id, 'description') AS description, + extract_arg(dimension_arg_set_id, 'context_id') AS context_id +FROM __intrinsic_track +WHERE + type IN ('drm_vblank', 'drm_sched_ring', 'drm_fence', 'mali_mcu_state', 'gpu_render_stage', 'vulkan_events', 'gpu_log', 'graphics_frame_event'); From c818124b61f7cfda8b530b0591ff28b75fc79111 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Fri, 10 Oct 2025 11:42:28 +0100 Subject: [PATCH 049/370] tp: add module documentation support to stdlib parser (#3240) Extend SQL parsing to extract module-level documentation from @module comments: - Add ModuleDoc class to hold module name and description - Add _extract_module_doc() function to parse @module comments - Update ParsedModule to include optional module_doc field - Update gen_stdlib_docs_json.py to include module metadata in output The parser extracts the module name from the @module line and collects subsequent comment lines as the description until a non-comment line is reached. This enables better organization and documentation for standard library modules. --- .../generators/sql_processing/docs_parse.py | 73 +++++++++++++++++-- tools/gen_stdlib_docs_json.py | 4 + 2 files changed, 71 insertions(+), 6 deletions(-) diff --git a/python/generators/sql_processing/docs_parse.py b/python/generators/sql_processing/docs_parse.py index f20b91236ba..a2a5453b6b8 100644 --- a/python/generators/sql_processing/docs_parse.py +++ b/python/generators/sql_processing/docs_parse.py @@ -437,11 +437,22 @@ def parse(self, doc: DocsExtractor.Extract) -> Optional[Include]: ) +class ModuleDoc: + """Module-level documentation""" + name: str + desc: str + + def __init__(self, name: str, desc: str): + self.name = name + self.desc = desc + + class ParsedModule: """Data class containing all of the documentation of single SQL file""" package_name: str = "" module_as_list: List[str] module: str + module_doc: Optional[ModuleDoc] = None errors: List[str] = [] table_views: List[TableOrView] = [] functions: List[Function] = [] @@ -449,13 +460,20 @@ class ParsedModule: macros: List[Macro] = [] includes: List[Include] - def __init__(self, package_name: str, module_as_list: List[str], - errors: List[str], table_views: List[TableOrView], - functions: List[Function], table_functions: List[TableFunction], - macros: List[Macro], includes: List[Include]): + def __init__(self, + package_name: str, + module_as_list: List[str], + errors: List[str], + table_views: List[TableOrView], + functions: List[Function], + table_functions: List[TableFunction], + macros: List[Macro], + includes: List[Include], + module_doc: Optional[ModuleDoc] = None): self.package_name = package_name self.module_as_list = module_as_list self.module = ".".join(module_as_list) + self.module_doc = module_doc self.errors = errors self.table_views = table_views self.functions = functions @@ -464,6 +482,46 @@ def __init__(self, package_name: str, module_as_list: List[str], self.includes = includes +def _extract_module_doc(sql: str) -> Optional[ModuleDoc]: + """Extracts module-level documentation from -- @module comments.""" + lines = sql.split('\n') + + # Find the @module line + module_name = None + module_desc_lines = [] + in_module_doc = False + + for line in lines: + stripped = line.strip() + + # Check for @module directive + if stripped.startswith('-- @module'): + module_name = stripped[len('-- @module'):].strip() + in_module_doc = True + continue + + # If we found @module, collect description lines + if in_module_doc: + if stripped.startswith('--'): + # Remove leading '--' and whitespace + desc_line = stripped[2:].lstrip() + module_desc_lines.append(desc_line) + elif stripped == '': + # Empty line is OK, keep collecting + continue + else: + # Non-comment line, stop collecting + break + + if not module_name: + return None + + # Join description lines with proper spacing + module_desc = '\n'.join(module_desc_lines).strip() + + return ModuleDoc(name=module_name, desc=module_desc) + + def parse_file( path: str, sql: str, @@ -484,12 +542,15 @@ def parse_file( if package_name == "deprecated": return + # Extract module-level documentation + module_doc = _extract_module_doc(sql) + # Extract all the docs from the SQL. extractor = DocsExtractor(path, package_name, sql) docs = extractor.extract() if extractor.errors: return ParsedModule(package_name, module_as_list, extractor.errors, [], [], - [], [], []) + [], [], [], module_doc) # Parse the extracted docs. errors: List[str] = [] @@ -531,4 +592,4 @@ def parse_file( errors += parser.errors return ParsedModule(package_name, module_as_list, errors, table_views, - functions, table_functions, macros, includes) + functions, table_functions, macros, includes, module_doc) diff --git a/tools/gen_stdlib_docs_json.py b/tools/gen_stdlib_docs_json.py index c82d361420a..276ea88b3f4 100755 --- a/tools/gen_stdlib_docs_json.py +++ b/tools/gen_stdlib_docs_json.py @@ -103,6 +103,10 @@ def main(): module_dict = { 'module_name': module_name, + 'module_doc': { + 'name': docs.module_doc.name, + 'desc': docs.module_doc.desc, + } if docs.module_doc else None, 'data_objects': [{ 'name': table.name, From 15bf867fe5ec71b720e3ff290b3d6d545bda9e75 Mon Sep 17 00:00:00 2001 From: Kirill Timofeev Date: Fri, 10 Oct 2025 13:01:02 +0100 Subject: [PATCH 050/370] Reapply "Support clone operation for 'write_into_file' sessions. (#2871)" (#3235) This PR enables the cloning of `write_into_file` sessions that have already written their data to disk before the clone is requested. This PR doesn't change the existing behavior for the Traceur: the clone operation doesn't trigger the write for the `write_into_file` session. The tracing session with the very long `file_write_period_ms` will, as before, write the file only once, at the end of the tracing session. This PR relies on the `TraceBuffer::CloneReadOnly` to have correct behavior (see https://github.com/google/perfetto/commit/c74edc8f40710244d1b42d542af78bdac8dca512), so the new code in this PR is guarded by the `buffer_clone_preserve_read_iter` flag, just like the `CloneReadOnly` changes. SELinux change was merged: ag/36238847, so we can reapply this commit now. Bug: b/382209797 This reverts commit 11a3d5fb3890853111293ec0991ebff03b28a4f6. --- include/perfetto/ext/tracing/core/consumer.h | 1 + .../ext/tracing/core/tracing_service.h | 5 + protos/perfetto/ipc/consumer_port.proto | 9 + src/perfetto_cmd/perfetto_cmd.cc | 16 +- src/perfetto_cmd/perfetto_cmd.h | 1 + src/tracing/internal/tracing_muxer_impl.cc | 6 +- .../ipc/consumer/consumer_ipc_client_impl.cc | 20 +- .../ipc/service/consumer_ipc_service.cc | 4 + src/tracing/service/tracing_service_impl.cc | 56 ++- src/tracing/service/tracing_service_impl.h | 4 +- .../service/tracing_service_impl_unittest.cc | 461 +++++++++++++++++- src/tracing/test/mock_consumer.cc | 2 +- test/cmdline_integrationtest.cc | 82 ++++ 13 files changed, 647 insertions(+), 20 deletions(-) diff --git a/include/perfetto/ext/tracing/core/consumer.h b/include/perfetto/ext/tracing/core/consumer.h index b00ca52f3e4..72fc1f43d12 100644 --- a/include/perfetto/ext/tracing/core/consumer.h +++ b/include/perfetto/ext/tracing/core/consumer.h @@ -86,6 +86,7 @@ class PERFETTO_EXPORT_COMPONENT Consumer { bool success; std::string error; base::Uuid uuid; // UUID of the cloned session. + bool was_write_into_file; }; virtual void OnSessionCloned(const OnSessionClonedArgs&); }; diff --git a/include/perfetto/ext/tracing/core/tracing_service.h b/include/perfetto/ext/tracing/core/tracing_service.h index 10990562a5b..58488de3657 100644 --- a/include/perfetto/ext/tracing/core/tracing_service.h +++ b/include/perfetto/ext/tracing/core/tracing_service.h @@ -226,6 +226,11 @@ class PERFETTO_EXPORT_COMPONENT ConsumerEndpoint { // If not zero, this is stored in the trace as the configured delay (in // milliseconds) of the trigger that caused the clone. uint64_t clone_trigger_delay_ms = 0; + + // If valid, and the session that should be cloned is 'write_into_file' + // session, traced writes the cloned session content to this file + // descriptor, instead of writing it in the cloned session buffers. + base::ScopedFile output_file_fd; }; virtual void CloneSession(CloneSessionArgs) = 0; diff --git a/protos/perfetto/ipc/consumer_port.proto b/protos/perfetto/ipc/consumer_port.proto index 4b4cfce95b2..c2e026d24ec 100644 --- a/protos/perfetto/ipc/consumer_port.proto +++ b/protos/perfetto/ipc/consumer_port.proto @@ -322,6 +322,10 @@ message CloneSessionRequest { // If set, this is stored in the trace as the configured delay of the trigger // that caused the clone. optional uint64 clone_trigger_delay_ms = 9; + // Consumer may also send a file descriptor with this rpc message. If the + // descriptor is valid, and the session that should be cloned is + // 'write_into_file' session, traced writes the cloned session content to that + // file descriptor, instead of writing it in the cloned session buffers. } message CloneSessionResponse { @@ -333,4 +337,9 @@ message CloneSessionResponse { // The UUID of the cloned session. optional int64 uuid_msb = 3; optional int64 uuid_lsb = 4; + + // TracingService sets this when the cloned session was write_into_file=true. + // The consumer cannot know upfront if a session is WIF or not. + // Introduced in v53. + optional bool was_write_into_file = 5; } diff --git a/src/perfetto_cmd/perfetto_cmd.cc b/src/perfetto_cmd/perfetto_cmd.cc index fbec93eef02..a31667592df 100644 --- a/src/perfetto_cmd/perfetto_cmd.cc +++ b/src/perfetto_cmd/perfetto_cmd.cc @@ -1039,6 +1039,15 @@ void PerfettoCmd::OnConnect() { args.clone_trigger_boot_time_ns = snapshot_trigger_info_->boot_time_ns; args.clone_trigger_delay_ms = snapshot_trigger_info_->trigger_delay_ms; } + + if (trace_out_stream_) { + // We always send the file descriptor to the traced, because perfetto_cmd + // doesn't know if the session to clone is 'write_into_file' session. + // traced decides weither it writes the cloned buffers to this file + // descriptor or send them to the perfetto_cmd. + args.output_file_fd = base::ScopedFile(dup(fileno(*trace_out_stream_))); + } + consumer_endpoint_->CloneSession(std::move(args)); return; } @@ -1168,9 +1177,8 @@ void PerfettoCmd::ReadbackTraceDataAndQuit(const std::string& error) { // and we don't want to log anything after that. LogUploadEvent(PerfettoStatsdAtom::kOnTracingDisabled); - if (trace_config_->write_into_file()) { - // If write_into_file == true, at this point the passed file contains - // already all the packets. + if (trace_config_->write_into_file() || cloned_session_was_write_into_file_) { + // At this point the passed file already contains all the packets. return FinalizeTraceAndExit(); } @@ -1353,6 +1361,8 @@ void PerfettoCmd::OnSessionCloned(const OnSessionClonedArgs& args) { LogUploadEvent(PerfettoStatsdAtom::kCmdOnTriggerSessionClone, snapshot_trigger_info_->trigger_name); } + + cloned_session_was_write_into_file_ = args.was_write_into_file; ReadbackTraceDataAndQuit(full_error); } diff --git a/src/perfetto_cmd/perfetto_cmd.h b/src/perfetto_cmd/perfetto_cmd.h index 38c3b5efcba..511a4cea438 100644 --- a/src/perfetto_cmd/perfetto_cmd.h +++ b/src/perfetto_cmd/perfetto_cmd.h @@ -183,6 +183,7 @@ class PerfettoCmd : public Consumer { std::string clone_name_; bool clone_for_bugreport_ = false; std::function on_session_cloned_; + bool cloned_session_was_write_into_file_ = false; // How long we expect to trace for or 0 if the trace is indefinite. uint32_t expected_duration_ms_ = 0; diff --git a/src/tracing/internal/tracing_muxer_impl.cc b/src/tracing/internal/tracing_muxer_impl.cc index 03445a7181d..70fbf073804 100644 --- a/src/tracing/internal/tracing_muxer_impl.cc +++ b/src/tracing/internal/tracing_muxer_impl.cc @@ -464,7 +464,7 @@ void TracingMuxerImpl::ConsumerImpl::OnConnect() { muxer_->QueryServiceState(session_id_, std::move(callback)); } if (session_to_clone_) { - service_->CloneSession(*session_to_clone_); + service_->CloneSession(std::move(*session_to_clone_)); session_to_clone_ = std::nullopt; } @@ -1989,14 +1989,14 @@ void TracingMuxerImpl::CloneTracingSession( // Multiple concurrent cloning isn't supported. PERFETTO_DCHECK(!consumer->clone_trace_callback_); consumer->clone_trace_callback_ = std::move(callback); - ConsumerEndpoint::CloneSessionArgs consumer_args{}; + ConsumerEndpoint::CloneSessionArgs consumer_args; consumer_args.unique_session_name = args.unique_session_name; if (!consumer->connected_) { consumer->session_to_clone_ = std::move(consumer_args); return; } consumer->session_to_clone_ = std::nullopt; - consumer->service_->CloneSession(consumer_args); + consumer->service_->CloneSession(std::move(consumer_args)); } void TracingMuxerImpl::ChangeTracingSessionConfig( diff --git a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc index 79334dcd887..7b89bbc5388 100644 --- a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc +++ b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc @@ -470,6 +470,16 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { return; } +#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) + if (args.output_file_fd) { + consumer_->OnSessionCloned( + {false, + "Passing FDs into CloneSession is not supported on Windows", + {}}); + return; + } +#endif + protos::gen::CloneSessionRequest req; if (args.tsid) { req.set_session_id(args.tsid); @@ -507,13 +517,17 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { // If the IPC fails, we are talking to an older version of the service // that didn't support CloneSession at all. weak_this->consumer_->OnSessionCloned( - {false, "CloneSession IPC not supported", {}}); + {false, "CloneSession IPC not supported", {}, false}); } else { base::Uuid uuid(response->uuid_lsb(), response->uuid_msb()); weak_this->consumer_->OnSessionCloned( - {response->success(), response->error(), uuid}); + {response->success(), response->error(), uuid, + response->was_write_into_file()}); } }); - consumer_port_.CloneSession(req, std::move(async_response)); + // |args.output_file_fd| will be closed when this function returns, but it's + // fine because the IPC layer dup()'s it when sending the IPC. + consumer_port_.CloneSession(req, std::move(async_response), + *args.output_file_fd); } } // namespace perfetto diff --git a/src/tracing/ipc/service/consumer_ipc_service.cc b/src/tracing/ipc/service/consumer_ipc_service.cc index f45b637face..a54efbe479a 100644 --- a/src/tracing/ipc/service/consumer_ipc_service.cc +++ b/src/tracing/ipc/service/consumer_ipc_service.cc @@ -355,6 +355,9 @@ void ConsumerIPCService::CloneSession( if (req.has_clone_trigger_delay_ms()) { args.clone_trigger_delay_ms = req.clone_trigger_delay_ms(); } + // The client (perfetto_cmd) always sends the file descriptor, but the traced + // uses it only if the session to clone is 'write_into_file' session. + args.output_file_fd = ipc::Service::TakeReceivedFD(); remote_consumer->service_endpoint->CloneSession(std::move(args)); } @@ -517,6 +520,7 @@ void ConsumerIPCService::RemoteConsumer::OnSessionCloned( resp->set_error(args.error); resp->set_uuid_msb(args.uuid.msb()); resp->set_uuid_lsb(args.uuid.lsb()); + resp->set_was_write_into_file(args.was_write_into_file); std::move(clone_session_response).Resolve(std::move(resp)); } diff --git a/src/tracing/service/tracing_service_impl.cc b/src/tracing/service/tracing_service_impl.cc index 1fdcd233467..ae758da6812 100644 --- a/src/tracing/service/tracing_service_impl.cc +++ b/src/tracing/service/tracing_service_impl.cc @@ -53,6 +53,7 @@ #include "perfetto/ext/base/android_utils.h" #include "perfetto/ext/base/clock_snapshots.h" #include "perfetto/ext/base/file_utils.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/metatrace.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/string_view.h" @@ -2879,7 +2880,7 @@ void TracingServiceImpl::FreeBuffers(TracingSessionID tsid, [weak_consumer = clone_op.weak_consumer] { if (weak_consumer) { weak_consumer->consumer_->OnSessionCloned( - {false, "Original session ended", {}}); + {false, "Original session ended", {}, false}); } }); } @@ -4140,6 +4141,38 @@ base::Status TracingServiceImpl::FlushAndCloneSession( return PERFETTO_SVC_ERR("Not allowed to clone a session from another UID"); } + // The new logic we use to clone 'write_into_file' session relies on the + // 'buffer_clone_preserve_read_iter' flag being true; see b/448604718. + // + // The old logic ignored |session->write_into_file| when doing clone. + // Therefore, if the 'buffer_clone_preserve_read_iter' flag is false, we + // ignore the file to make the new logic behave like the old logic. + bool clone_session_write_into_file = + base::flags::buffer_clone_preserve_read_iter && session->write_into_file; + + if (clone_session_write_into_file) { + if (!args.output_file_fd) { + return PERFETTO_SVC_ERR( + "Failed to clone 'write_into_file' session: a file descriptor is " + "required to copy existing file"); + } + base::FlushFile(*session->write_into_file); + base::Status status = + base::CopyFileContents(*session->write_into_file, *args.output_file_fd); + if (!status.ok()) { + return PERFETTO_SVC_ERR( + "Failed to clone 'write_into_file' session: failed to copy existing " + "file: %s", + status.c_message()); + } + } else { + // The client always sends a FD because when it asks to CloneSession, + // it doesn't know if the session being cloned is WIF or not. If it's + // not we should just ignore the file, the client will readback via IPC + // as usual in that case. + args.output_file_fd.reset(); + } + // If any of the buffers are marked as clear_before_clone, reset them before // issuing the Flush(kCloneReason). size_t buf_idx = 0; @@ -4192,6 +4225,9 @@ base::Status TracingServiceImpl::FlushAndCloneSession( args.clone_trigger_producer_name, args.clone_trigger_trusted_producer_uid, args.clone_trigger_delay_ms}; } + if (args.output_file_fd) { + clone_op.output_file_fd = std::move(args.output_file_fd); + } // Issue separate flush requests for separate buffer groups. The buffer marked // as transfer_on_clone will be flushed and cloned separately: even if they're @@ -4278,6 +4314,7 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, result = PERFETTO_SVC_ERR("Buffer allocation failed"); } + bool was_write_into_file = false; if (result.ok()) { UpdateMemoryGuardrail(); @@ -4290,17 +4327,19 @@ void TracingServiceImpl::OnFlushDoneForClone(TracingSessionID tsid, final_flush_outcome); if (clone_op.weak_consumer) { + was_write_into_file = static_cast(clone_op.output_file_fd); result = FinishCloneSession( &*clone_op.weak_consumer, tsid, std::move(clone_op.buffers), std::move(clone_op.buffer_cloned_timestamps), clone_op.skip_trace_filter, !clone_op.flush_failed, - clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns); + clone_op.clone_trigger, &uuid, clone_op.clone_started_timestamp_ns, + std::move(clone_op.output_file_fd)); } } // if (result.ok()) if (clone_op.weak_consumer) { clone_op.weak_consumer->consumer_->OnSessionCloned( - {result.ok(), result.message(), uuid}); + {result.ok(), result.message(), uuid, was_write_into_file}); } src->pending_clones.erase(it); @@ -4355,7 +4394,8 @@ base::Status TracingServiceImpl::FinishCloneSession( bool final_flush_outcome, std::optional clone_trigger, base::Uuid* new_uuid, - int64_t clone_started_timestamp_ns) { + int64_t clone_started_timestamp_ns, + base::ScopedFile output_file_fd) { PERFETTO_DLOG("CloneSession(%" PRIu64 ", skip_trace_filter=%d) started, consumer uid: %d", src_tsid, skip_trace_filter, static_cast(consumer->uid_)); @@ -4462,6 +4502,12 @@ base::Status TracingServiceImpl::FinishCloneSession( cloned_session->final_flush_outcome = final_flush_outcome ? TraceStats::FINAL_FLUSH_SUCCEEDED : TraceStats::FINAL_FLUSH_FAILED; + if (output_file_fd) { + cloned_session->write_into_file = std::move(output_file_fd); + cloned_session->write_period_ms = 0; + ReadBuffersIntoFile(cloned_session->id); + } + return base::OkStatus(); } @@ -4827,7 +4873,7 @@ void TracingServiceImpl::ConsumerEndpointImpl::CloneSession( base::Status result = service_->FlushAndCloneSession(this, std::move(args)); if (!result.ok()) { - consumer_->OnSessionCloned({false, result.message(), {}}); + consumer_->OnSessionCloned({false, result.message(), {}, false}); } } diff --git a/src/tracing/service/tracing_service_impl.h b/src/tracing/service/tracing_service_impl.h index 2f8076de655..fe4e9c5a942 100644 --- a/src/tracing/service/tracing_service_impl.h +++ b/src/tracing/service/tracing_service_impl.h @@ -508,6 +508,7 @@ class TracingServiceImpl : public TracingService { bool skip_trace_filter = false; std::optional clone_trigger; int64_t clone_started_timestamp_ns = 0; + base::ScopedFile output_file_fd; }; // Holds the state of a tracing session. A tracing session is uniquely bound @@ -871,7 +872,8 @@ class TracingServiceImpl : public TracingService { bool final_flush_outcome, std::optional clone_trigger, base::Uuid*, - int64_t clone_started_timestamp_ns); + int64_t clone_started_timestamp_ns, + base::ScopedFile output_file_fd); void OnFlushDoneForClone(TracingSessionID src_tsid, PendingCloneID clone_id, const std::set& buf_ids, diff --git a/src/tracing/service/tracing_service_impl_unittest.cc b/src/tracing/service/tracing_service_impl_unittest.cc index 2618b636933..1d94fe7a7f3 100644 --- a/src/tracing/service/tracing_service_impl_unittest.cc +++ b/src/tracing/service/tracing_service_impl_unittest.cc @@ -33,6 +33,7 @@ #include "perfetto/base/proc_utils.h" #include "perfetto/base/time.h" #include "perfetto/ext/base/file_utils.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/sys_types.h" @@ -142,6 +143,13 @@ MATCHER_P(HasTriggerMode, mode, "") { return HasTriggerModeInternal(arg, mode); } +MATCHER_P(HasLifecycleField, field, "") { + return ExplainMatchResult( + Contains(Property(&protos::gen::TracePacket::service_event, + Property(field, Eq(true)))), + arg, result_listener); +} + MATCHER_P(LowerCase, m, "Lower case " + testing::DescribeMatcher(m, negation)) { @@ -206,6 +214,27 @@ std::vector GetReceivedTriggers( return triggers; } +std::vector GetForTestingStrings( + const std::vector& trace) { + std::vector strings; + for (const protos::gen::TracePacket& packet : trace) { + if (packet.has_for_testing()) { + strings.push_back(packet.for_testing().str()); + } + } + return strings; +} + +bool ParseNotEmptyTraceFromFile(base::TempFile& trace_file, + protos::gen::Trace& out) { + std::string trace_str; + if (!base::ReadFile(trace_file.path(), &trace_str)) + return false; + if (trace_str.empty()) + return false; + return out.ParseFromString(trace_str); +} + class MockClock : public tracing_service::Clock { public: ~MockClock() override = default; @@ -2250,6 +2279,374 @@ TEST_F(TracingServiceImplTest, WriteIntoFileWithPath) { Property(&protos::gen::TestEvent::str, Eq("payload"))))); } +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionBeforeWrite) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + auto write_into_file_session_file = base::TempFile::Create(); + auto cloned_session_file = base::TempFile::Create(); + + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(100000); // 100s + + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + // Don't flush, keep data in the producer buffer. + + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // Assert that clone doesn't trigger 'write_into_file' session to write it + // buffers to file. + ASSERT_EQ(base::GetFileSize(write_into_file_session_file.path()).value_or(-1), + 0ul); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + // Verify the content of the cloned session output file. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1")); + } + + // Write more data to the 'write_into_file' session after the clone. + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #2"); + } + writer->Flush(); + writer.reset(); + + consumer->DisableTracing(); + producer->WaitForDataSourceStop("data_source"); + consumer->WaitForTracingDisabled(); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } +} + +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionAfterWrite) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + auto write_into_file_session_file = base::TempFile::Create(); + auto cloned_session_file = base::TempFile::Create(); + + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(100000); // 100s + + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + writer->Flush(); + + // Advance timer, traced should write the data to the 'write_into_file' + // session output file. + AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); + + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #2"); + } + writer->Flush(); + + // At this moment we have only 'payload #1' written into file. + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1")); + } + + // Now do the clone, cloned session should contains data both from the + // 'write_into_file' session output file and the session buffers. + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + // Verify the content of the cloned session output file. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } + clone_consumer->FreeBuffers(); + + writer.reset(); + consumer->DisableTracing(); + producer->WaitForDataSourceStop("data_source"); + consumer->WaitForTracingDisabled(); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1", "payload #2")); + } +} + +// In this test we check that all the lifecycle events that we expect to have in +// the regular clone session are also present in the cloned 'write_into_file' +// session. This is test is needed, because we have a slightly different code +// path when we clone the 'write_into_file' session. +TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionLifecycleEvents) { + if (!base::flags::buffer_clone_preserve_read_iter) { + GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; + } + + using TracingServiceEvent = protos::gen::TracingServiceEvent; + std::unique_ptr producer; + std::unique_ptr consumer; + std::unique_ptr clone_consumer; + std::unique_ptr writer; + + base::TempFile write_into_file_session_file = base::TempFile::Create(); + base::TempFile cloned_session_file = base::TempFile::Create(); + + auto create_trace_config_fn = []() { + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + return trace_config; + }; + + auto clone_session_fn = [&](base::ScopedFile clone_fd = base::ScopedFile()) { + static int i = 0; + auto checkpoint_name = "on_clone_done_" + std::to_string(i++); + auto clone_done = task_runner.CreateCheckpoint(checkpoint_name); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = std::move(clone_fd); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint(checkpoint_name); + }; + + auto shutdown_producer_and_consumers_fn = [&]() { + writer.reset(); + clone_consumer->FreeBuffers(); + consumer->FreeBuffers(); + producer->WaitForDataSourceStop("data_source"); + clone_consumer.reset(); + consumer.reset(); + producer.reset(); + }; + + auto assert_packets_fn = + [&](const std::vector& packets) { + EXPECT_THAT(GetForTestingStrings(packets), ElementsAre("payload")); + EXPECT_THAT(packets, Contains(Property( + &protos::gen::TracePacket::has_trace_config, + Eq(true)))); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::tracing_started)); + EXPECT_THAT( + packets, + HasLifecycleField(&TracingServiceEvent::all_data_sources_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::clone_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::flush_started)); + EXPECT_THAT(packets, + HasLifecycleField(&TracingServiceEvent::has_buffer_cloned)); + EXPECT_THAT( + packets, + Contains(Property( + &protos::gen::TracePacket::trace_stats, + Property(&protos::gen::TraceStats::final_flush_outcome, + Eq(protos::gen::TraceStats::FINAL_FLUSH_SUCCEEDED))))); + }; + + // Clone the regular session. + { + producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + TraceConfig trace_config = create_trace_config_fn(); + consumer->EnableTracing(trace_config); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + writer = producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + + clone_session_fn(); + + const auto& packets = clone_consumer->ReadBuffers(); + assert_packets_fn(packets); + + shutdown_producer_and_consumers_fn(); + } + + // Clone the 'write_into_file' session. + { + producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer_1"); + producer->RegisterDataSource("data_source"); + + consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + TraceConfig trace_config = create_trace_config_fn(); + trace_config.set_write_into_file(true); + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + writer = producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + + clone_session_fn(base::ScopedFile(dup(cloned_session_file.fd()))); + + // ReadBuffers returns single service event, all the data is already written + // into the file. + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_EQ(clone_consumer_buffers.size(), 1ul); + EXPECT_THAT( + clone_consumer_buffers, + HasLifecycleField( + &protos::gen::TracingServiceEvent::read_tracing_buffers_completed)); + + { + // Verify the content of the cloned session output file. + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_session_file, trace)); + assert_packets_fn(trace.packet()); + } + + shutdown_producer_and_consumers_fn(); + { + // Just in case, also verify that 'write_into_file' session write the + // payload to the file when stopped. + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), ElementsAre("payload")); + } + } +} + TEST_F(TracingServiceImplTest, WriteIntoFileFilterMultipleChunks) { static const size_t kNumTestPackets = 5; static const size_t kPayloadSize = 500 * 1024UL; @@ -5677,7 +6074,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args; args.unique_session_name = "my_unique_session_name"; - consumer2->endpoint()->CloneSession(args); + consumer2->endpoint()->CloneSession(std::move(args)); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -5722,7 +6119,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_f; args_f.unique_session_name = "my_unique_session_name"; - consumer3->endpoint()->CloneSession(args_f); + consumer3->endpoint()->CloneSession(std::move(args_f)); task_runner.RunUntilCheckpoint("clone_failed"); // But it should be possible to clone that by id. @@ -5734,7 +6131,7 @@ TEST_F(TracingServiceImplTest, CloneSessionByName) { }); ConsumerEndpoint::CloneSessionArgs args_s; args_s.tsid = GetLastTracingSessionId(consumer3.get()); - consumer3->endpoint()->CloneSession(args_s); + consumer3->endpoint()->CloneSession(std::move(args_s)); task_runner.RunUntilCheckpoint("clone_success"); } } @@ -5833,7 +6230,7 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { args.clone_trigger_trusted_producer_uid = kCloneTriggerProducerUid; args.clone_trigger_boot_time_ns = kCloneTriggerTimestamp; args.clone_trigger_delay_ms = kCloneTriggerDelayMs; - consumer2->endpoint()->CloneSession(args); + consumer2->endpoint()->CloneSession(std::move(args)); // CloneSession() will implicitly issue a flush. Linearize with that. producer->ExpectFlush(writer.get()); task_runner.RunUntilCheckpoint("clone_done"); @@ -5884,6 +6281,62 @@ TEST_F(TracingServiceImplTest, CloneSessionEmitsTrigger) { &protos::gen::TracePacket::has_clone_snapshot_trigger, Eq(true))))); } +TEST_F(TracingServiceImplTest, CloneWithFileDescriptorNoWriteIntoFile) { + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr clone_consumer = CreateMockConsumer(); + clone_consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + + consumer->EnableTracing(trace_config); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload"); + } + writer->Flush(); + + base::TempFile cloned_session_file = base::TempFile::Create(); + + auto clone_done = task_runner.CreateCheckpoint("clone_done"); + EXPECT_CALL(*clone_consumer, OnSessionCloned(_)) + .WillOnce([clone_done](const Consumer::OnSessionClonedArgs& args) { + ASSERT_TRUE(args.success); + ASSERT_TRUE(args.error.empty()); + clone_done(); + }); + ConsumerEndpoint::CloneSessionArgs clone_args; + clone_args.tsid = GetLastTracingSessionId(consumer.get()); + clone_args.output_file_fd = base::ScopedFile(dup(cloned_session_file.fd())); + clone_consumer->endpoint()->CloneSession(std::move(clone_args)); + producer->ExpectFlush(writer.get()); + task_runner.RunUntilCheckpoint("clone_done"); + + // Assert traced doesn't write buffers to the file descriptor if session to + // clone is not the 'write_into_file' session. + EXPECT_EQ(base::GetFileSize(cloned_session_file.path()).value_or(-1), 0ul); + auto clone_consumer_buffers = clone_consumer->ReadBuffers(); + EXPECT_THAT(GetForTestingStrings(clone_consumer_buffers), + ElementsAre("payload")); + + auto consumer_buffers = consumer->ReadBuffers(); + EXPECT_THAT(GetForTestingStrings(consumer_buffers), ElementsAre("payload")); +} + TEST_F(TracingServiceImplTest, InvalidBufferSizes) { std::unique_ptr consumer = CreateMockConsumer(); consumer->Connect(svc.get()); diff --git a/src/tracing/test/mock_consumer.cc b/src/tracing/test/mock_consumer.cc index 3446de6bfac..4399a9bfb31 100644 --- a/src/tracing/test/mock_consumer.cc +++ b/src/tracing/test/mock_consumer.cc @@ -80,7 +80,7 @@ void MockConsumer::FreeBuffers() { void MockConsumer::CloneSession(TracingSessionID tsid) { ConsumerEndpoint::CloneSessionArgs args; args.tsid = tsid; - service_endpoint_->CloneSession(args); + service_endpoint_->CloneSession(std::move(args)); } void MockConsumer::WaitForTracingDisabledWithError( diff --git a/test/cmdline_integrationtest.cc b/test/cmdline_integrationtest.cc index 4a03c559ba3..cce59d2aa0d 100644 --- a/test/cmdline_integrationtest.cc +++ b/test/cmdline_integrationtest.cc @@ -20,6 +20,7 @@ #include "perfetto/base/build_config.h" #include "perfetto/base/logging.h" +#include "perfetto/ext/base/flags.h" #include "perfetto/ext/base/pipe.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/utils.h" @@ -1130,6 +1131,87 @@ TEST_F(PerfettoCmdlineTest, CloneByName) { ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); } +TEST_F(PerfettoCmdlineTest, CloneWriteIntoFileSession) { + protos::gen::TraceConfig trace_config = + CreateTraceConfigForTest(kTestMessageCount, kTestMessageSize); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(10); + trace_config.set_unique_session_name("my_session_name"); + + const std::string write_into_file_path = RandomTraceFileName(); + ScopedFileRemove remove_on_test_exit(write_into_file_path); + auto perfetto_proc = ExecPerfetto( + { + "-o", + write_into_file_path, + "-c", + "-", + }, + trace_config.SerializeAsString()); + + const std::string cloned_file_path = RandomTraceFileName(); + ScopedFileRemove remove_on_test_exit_1(cloned_file_path); + auto clone_proc = ExecPerfetto( + {"--out", cloned_file_path, "--clone-by-name", "my_session_name"}); + + StartServiceIfRequiredNoNewExecsAfterThis(); + + auto* fake_producer = test_helper().ConnectFakeProducer(); + EXPECT_TRUE(fake_producer); + + std::thread background_trace([&perfetto_proc]() { + std::string stderr_str; + EXPECT_EQ(0, perfetto_proc.Run(&stderr_str)) << stderr_str; + }); + + test_helper().WaitForProducerEnabled(); + auto on_data_written = task_runner_.CreateCheckpoint("data_written"); + fake_producer->ProduceEventBatch(test_helper().WrapTask(on_data_written)); + task_runner_.RunUntilCheckpoint("data_written"); + + // Wait until all the data for the 'write_into_file' session is written into + // file. + bool write_into_file_data_ready = false; + for (int i = 0; i < 100; i++) { + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + protos::gen::Trace trace; + if (!ParseNotEmptyTraceFromFile(write_into_file_path, trace)) { + continue; + } + ssize_t test_packets_count = + std::count_if(trace.packet().begin(), trace.packet().end(), + [](const protos::gen::TracePacket& tp) { + return tp.has_for_testing(); + }); + if (test_packets_count == kTestMessageCount) { + write_into_file_data_ready = true; + break; + } + } + ASSERT_TRUE(write_into_file_data_ready); + + // Now we clone the session. + std::string stderr_str; + EXPECT_EQ(0, clone_proc.Run(&stderr_str)) << stderr_str; + + perfetto_proc.SendSigterm(); + background_trace.join(); + // And now we assert that both original 'write_into_file' and the cloned + // session have the same events. + { + protos::gen::Trace trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(write_into_file_path, trace)); + ExpectTraceContainsTestMessages(trace, kTestMessageCount); + ExpectTraceContainsTestMessagesWithSize(trace, kTestMessageSize); + } + { + protos::gen::Trace cloned_trace; + ASSERT_TRUE(ParseNotEmptyTraceFromFile(cloned_file_path, cloned_trace)); + ExpectTraceContainsTestMessages(cloned_trace, kTestMessageCount); + ExpectTraceContainsTestMessagesWithSize(cloned_trace, kTestMessageSize); + } +} + // Regression test for b/279753347: --save-for-bugreport would create an empty // file if no session with bugreport_score was active. TEST_F(PerfettoCmdlineTest, UnavailableBugreportLeavesNoEmptyFiles) { From ab3c9c9ea1470e2fa462dad5ad6d54ea41008ba9 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Fri, 10 Oct 2025 15:05:51 +0100 Subject: [PATCH 051/370] ui: Fix pgup/pgdown scrolling in the timeline (#3248) https://github.com/google/perfetto/pull/3028 added a focusable div around the entire UI to handle hotkeys more elegantly in embedded applications. It transpires, however, that when the body is focused, the browser does some magic such scrolling scrollable containers when pgup/pgdown is pressed, that it doesn't do when a div is focused, even if the scrollable element is inside it. The PR was also causing some other issues such as the focusable div would lose focus every now and again meaning that hotkeys would randomly stop working, including when blurring any element programmatically with `element.blur()`. This patch adds a `focusable` property to the HotkeyContext component which, when disabled, makes the HotkeyContext un-focusable and binds the keydown event handlers to the document instead. This effectively restores the previous functionality but allows the focusable functionality to be enabled e.g. for embedded applications. --- ui/src/frontend/index.ts | 22 +++++++++++++++++----- ui/src/widgets/hotkey_context.ts | 27 ++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/ui/src/frontend/index.ts b/ui/src/frontend/index.ts index 57f4da37a15..fa8abaede00 100644 --- a/ui/src/frontend/index.ts +++ b/ui/src/frontend/index.ts @@ -363,11 +363,23 @@ function onCssLoaded() { } return m(ThemeProvider, {theme: themeSetting.get() as 'dark' | 'light'}, [ - m(HotkeyContext, {hotkeys, fillHeight: true, autoFocus: true}, [ - m(OverlayContainer, {fillParent: true}, [ - m(UiMain, {key: themeSetting.get()}), - ]), - ]), + m( + HotkeyContext, + { + hotkeys, + fillHeight: true, + // When embedded, hotkeys should be scoped to the context element to + // avoid interfering with the parent page. In standalone mode, + // document-level binding provides better UX (e.g., PGUP/PGDN scroll + // behavior). + focusable: false, + }, + [ + m(OverlayContainer, {fillParent: true}, [ + m(UiMain, {key: themeSetting.get()}), + ]), + ], + ), ]); }, }); diff --git a/ui/src/widgets/hotkey_context.ts b/ui/src/widgets/hotkey_context.ts index 3d90ff572ef..8e6b946cb1b 100644 --- a/ui/src/widgets/hotkey_context.ts +++ b/ui/src/widgets/hotkey_context.ts @@ -37,12 +37,23 @@ export interface HotkeyContextAttrs { // If true, a focus ring will be shown when the context is focused. // Defaults to false. readonly showFocusRing?: boolean; + + // Controls where keyboard events are captured: + // - true (default): Binds to this element; requires element focus. + // Use for scoped contexts (e.g., modals, embedded mode). + // - false: Binds to document for global hotkeys; no tabindex set. + // Provides better UX in standalone apps (e.g., PGUP/PGDN scrolling), + // but may interfere with parent pages when embedded. + // Defaults to true. + readonly focusable?: boolean; } export class HotkeyContext implements m.ClassComponent { private hotkeys?: HotkeyConfig[]; + private eventTarget?: EventTarget; view(vnode: m.Vnode): m.Children { + const focusable = vnode.attrs.focusable ?? true; return m( '.pf-hotkey-context', { @@ -50,7 +61,8 @@ export class HotkeyContext implements m.ClassComponent { // This is needed to capture key events. // The -1 value means it won't be focusable by tabbing, but can be // focused programmatically. - tabindex: -1, + // Omit tabindex when focusable is false (document binding). + tabindex: focusable ? -1 : undefined, className: classNames( vnode.attrs.fillHeight && 'pf-hotkey-context--fill-height', vnode.attrs.showFocusRing && 'pf-hotkey-context--show-focus-ring', @@ -61,9 +73,13 @@ export class HotkeyContext implements m.ClassComponent { } oncreate(vnode: m.VnodeDOM) { - vnode.dom.addEventListener('keydown', this.onKeyDown); + const focusable = vnode.attrs.focusable ?? true; + // If focusable is false, bind to document for global hotkeys. + // Otherwise, bind to the element itself. + this.eventTarget = focusable ? vnode.dom : document; + this.eventTarget.addEventListener('keydown', this.onKeyDown); this.hotkeys = vnode.attrs.hotkeys; - if (vnode.attrs.autoFocus) { + if (vnode.attrs.autoFocus && focusable) { toHTMLElement(vnode.dom).focus(); } } @@ -72,8 +88,9 @@ export class HotkeyContext implements m.ClassComponent { this.hotkeys = vnode.attrs.hotkeys; } - onremove(vnode: m.VnodeDOM) { - vnode.dom.removeEventListener('keydown', this.onKeyDown); + onremove(_vnode: m.VnodeDOM) { + this.eventTarget?.removeEventListener('keydown', this.onKeyDown); + this.eventTarget = undefined; this.hotkeys = undefined; } From b8d811e0549c00b680c2126acfd457271dae68f3 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Fri, 10 Oct 2025 15:17:57 +0100 Subject: [PATCH 052/370] ui: Theme aware selected slice outline and timeline overlays (#3247) Add a new theme color --pf-color-timeline-overlay for decorations that overlay the timeline and use it for selected slice outlines + waker overlays. In light mode these colors are the same as before (black), but in dark mode the colors have been changed to white. This might not be the best color for this in dark mode, but using the opposite color avoids bikeshedding for the sake of this PR. Light: image image Dark: image image --- ui/src/assets/theme_provider.scss | 18 ++++++---- ui/src/base/canvas_utils.ts | 2 +- ui/src/base/color.ts | 1 + .../components/tracks/base_counter_track.ts | 6 ++-- ui/src/components/tracks/base_slice_track.ts | 11 ++++-- ui/src/core/track_manager_unittest.ts | 3 +- ui/src/frontend/css_constants.ts | 3 ++ .../frontend/viewer_page/track_tree_view.ts | 25 ++++++++++++- ui/src/frontend/viewer_page/track_view.ts | 27 +++----------- .../dev.perfetto.CpuFreq/cpu_freq_track.ts | 6 ++-- .../dev.perfetto.Sched/waker_overlay.ts | 36 ++++++++++++------- ui/src/public/{theme.ts => canvas_colors.ts} | 3 +- ui/src/public/track.ts | 8 +++-- 13 files changed, 91 insertions(+), 58 deletions(-) rename ui/src/public/{theme.ts => canvas_colors.ts} (92%) diff --git a/ui/src/assets/theme_provider.scss b/ui/src/assets/theme_provider.scss index eb77ecc5493..6b6f3fd84da 100644 --- a/ui/src/assets/theme_provider.scss +++ b/ui/src/assets/theme_provider.scss @@ -34,9 +34,6 @@ --pf-color-border: #ccc; --pf-color-border-secondary: #e0e0e0; --pf-color-text-hint: #808080; - --pf-color-track-summary-collapsed: #f4fafb; - --pf-color-track-summary-expanded: #262f3b; - --pf-color-track-summary-expanded-text: #e8eaed; --pf-color-box-shadow: rgba(0, 0, 0, 0.2); --pf-color-neutral: gray; --pf-color-accent: #2667e7; @@ -51,6 +48,11 @@ --pf-color-warning: rgb(232, 158, 0); --pf-color-text-on-warning: var(--pf-color-text); + --pf-color-track-summary-collapsed: #f4fafb; + --pf-color-track-summary-expanded: #262f3b; + --pf-color-track-summary-expanded-text: #e8eaed; + --pf-color-timeline-overlay: black; + // In light mode, the sidebar has a custom distinct blue color scheme. --pf-sidebar-surface: #262f3c; --pf-sidebar-surface-secondary: #19212b; @@ -70,13 +72,10 @@ --pf-color-border: #626568; --pf-color-border-secondary: #404042; --pf-color-text-hint: #9aa0a6; - --pf-color-track-summary-collapsed: #2f3437; - --pf-color-track-summary-expanded: #454d55; - --pf-color-track-summary-expanded-text: #e8eaed; --pf-color-box-shadow: rgba(0, 0, 0, 0.4); --pf-color-neutral: gray; --pf-color-accent: #2667e7; - --pf-color-highlight: #9b7c00; + --pf-color-highlight: #5f4d06; --pf-color-primary: #7197e3; --pf-color-text-on-primary: #333; @@ -87,6 +86,11 @@ --pf-color-warning: rgb(244, 188, 67); --pf-color-text-on-warning: #333; + --pf-color-track-summary-collapsed: #2f3437; + --pf-color-track-summary-expanded: #454d55; + --pf-color-track-summary-expanded-text: #e8eaed; + --pf-color-timeline-overlay: white; + // In dark mode, the sidebar uses the same styles as the rest of the app --pf-sidebar-surface: var(--pf-color-background-secondary); --pf-sidebar-surface-secondary: var(--pf-color-background); diff --git a/ui/src/base/canvas_utils.ts b/ui/src/base/canvas_utils.ts index 1120f54f9d0..82cb6b6291f 100644 --- a/ui/src/base/canvas_utils.ts +++ b/ui/src/base/canvas_utils.ts @@ -21,8 +21,8 @@ export function drawDoubleHeadedArrow( y: number, length: number, showArrowHeads: boolean, + color: string, width = 2, - color = 'black', ) { ctx.beginPath(); ctx.lineWidth = width; diff --git a/ui/src/base/color.ts b/ui/src/base/color.ts index 4518e60d911..9fa992f5437 100644 --- a/ui/src/base/color.ts +++ b/ui/src/base/color.ts @@ -67,6 +67,7 @@ export interface Color { // Set one or more HSL values. setHSL(hsl: Partial): Color; + // Set the alpha value (0-1) or remove it (undefined). setAlpha(alpha: number | undefined): Color; } diff --git a/ui/src/components/tracks/base_counter_track.ts b/ui/src/components/tracks/base_counter_track.ts index 2f19319b3e1..6dcc9137aa0 100644 --- a/ui/src/components/tracks/base_counter_track.ts +++ b/ui/src/components/tracks/base_counter_track.ts @@ -748,7 +748,7 @@ export abstract class BaseCounterTrack implements TrackRenderer { await this.maybeRequestData(rawCountersKey); } - render({ctx, size, timescale, theme}: TrackRenderContext): void { + render({ctx, size, timescale, colors}: TrackRenderContext): void { // In any case, draw whatever we have (which might be stale/incomplete). const limits = this.limits; const data = this.counters; @@ -894,11 +894,11 @@ export abstract class BaseCounterTrack implements TrackRenderer { // Write the Y scale on the top left corner. ctx.textBaseline = 'alphabetic'; - ctx.fillStyle = theme.COLOR_BACKGROUND; + ctx.fillStyle = colors.COLOR_BACKGROUND; ctx.globalAlpha = 0.6; ctx.fillRect(0, 0, 42, 18); ctx.globalAlpha = 1; - ctx.fillStyle = theme.COLOR_TEXT; + ctx.fillStyle = colors.COLOR_TEXT; ctx.textAlign = 'left'; ctx.fillText(`${yLabel}`, 4, 14); diff --git a/ui/src/components/tracks/base_slice_track.ts b/ui/src/components/tracks/base_slice_track.ts index 64073bd9aa3..98386ab74c4 100644 --- a/ui/src/components/tracks/base_slice_track.ts +++ b/ui/src/components/tracks/base_slice_track.ts @@ -420,7 +420,13 @@ export abstract class BaseSliceTrack< await this.maybeRequestData(rawSlicesKey); } - render({ctx, size, visibleWindow, timescale}: TrackRenderContext): void { + render({ + ctx, + size, + visibleWindow, + timescale, + colors, + }: TrackRenderContext): void { // TODO(hjd): fonts and colors should come from the CSS and not hardcoded // here. @@ -638,9 +644,8 @@ export abstract class BaseSliceTrack< // Draw a thicker border around the selected slice (or chevron). const slice = discoveredSelection; - const color = slice.colorScheme; const y = padding + slice.depth * (sliceHeight + rowSpacing); - ctx.strokeStyle = color.base.setHSL({s: 100, l: 10}).cssString; + ctx.strokeStyle = colors.COLOR_TIMELINE_OVERLAY; ctx.beginPath(); const THICKNESS = 3; ctx.lineWidth = THICKNESS; diff --git a/ui/src/core/track_manager_unittest.ts b/ui/src/core/track_manager_unittest.ts index 2826c35cb1a..0d5584a931b 100644 --- a/ui/src/core/track_manager_unittest.ts +++ b/ui/src/core/track_manager_unittest.ts @@ -52,7 +52,7 @@ const dummyCtx: TrackRenderContext = { visibleWindow, resolution: Duration.ZERO, timescale: new TimeScale(visibleWindow, {left: 0, right: 0}), - theme: { + colors: { COLOR_BORDER: 'hotpink', COLOR_BORDER_SECONDARY: 'hotpink', COLOR_BACKGROUND_SECONDARY: 'hotpink', @@ -61,6 +61,7 @@ const dummyCtx: TrackRenderContext = { COLOR_TEXT: 'hotpink', COLOR_TEXT_MUTED: 'hotpink', COLOR_NEUTRAL: 'hotpink', + COLOR_TIMELINE_OVERLAY: 'hotpink', }, }; diff --git a/ui/src/frontend/css_constants.ts b/ui/src/frontend/css_constants.ts index db2bf12afa2..1a12ad515a1 100644 --- a/ui/src/frontend/css_constants.ts +++ b/ui/src/frontend/css_constants.ts @@ -29,6 +29,7 @@ export let COLOR_TEXT = 'hotpink'; export let COLOR_TEXT_MUTED = 'hotpink'; export let COLOR_NEUTRAL = 'hotpink'; export let COLOR_HIGHLIGHT = 'hotpink'; +export let COLOR_TIMELINE_OVERLAY = 'hotpink'; export function initCssConstants(element?: Element) { function getCssStr(prop: string): string | undefined { @@ -65,4 +66,6 @@ export function initCssConstants(element?: Element) { COLOR_TEXT_MUTED = getCssStr('--pf-color-text-muted') ?? COLOR_TEXT_MUTED; COLOR_NEUTRAL = getCssStr('--pf-color-neutral') ?? COLOR_NEUTRAL; COLOR_HIGHLIGHT = getCssStr('--pf-color-highlight') ?? COLOR_HIGHLIGHT; + COLOR_TIMELINE_OVERLAY = + getCssStr('--pf-color-timeline-overlay') ?? COLOR_TIMELINE_OVERLAY; } diff --git a/ui/src/frontend/viewer_page/track_tree_view.ts b/ui/src/frontend/viewer_page/track_tree_view.ts index 8175b6bb5b0..eaf45a60158 100644 --- a/ui/src/frontend/viewer_page/track_tree_view.ts +++ b/ui/src/frontend/viewer_page/track_tree_view.ts @@ -49,7 +49,14 @@ import {TrackNode} from '../../public/workspace'; import {VirtualOverlayCanvas} from '../../widgets/virtual_overlay_canvas'; import { COLOR_ACCENT, + COLOR_BACKGROUND, + COLOR_BACKGROUND_SECONDARY, + COLOR_BORDER, COLOR_BORDER_SECONDARY, + COLOR_NEUTRAL, + COLOR_TEXT, + COLOR_TEXT_MUTED, + COLOR_TIMELINE_OVERLAY, TRACK_SHELL_WIDTH, } from '../css_constants'; import {renderFlows} from './flow_events_renderer'; @@ -65,6 +72,7 @@ import {EmptyState} from '../../widgets/empty_state'; import {Button, ButtonVariant} from '../../widgets/button'; import {Intent} from '../../widgets/common'; import {CursorTooltip} from '../../widgets/cursor_tooltip'; +import {CanvasColors} from '../../public/canvas_colors'; const VIRTUAL_TRACK_SCROLLING = featureFlags.register({ id: 'virtualTrackScrolling', @@ -373,6 +381,18 @@ export class TrackTreeView implements m.ClassComponent { this.drawGridLines(ctx, timescale, timelineRect); + const colors: CanvasColors = { + COLOR_BORDER, + COLOR_BORDER_SECONDARY, + COLOR_BACKGROUND_SECONDARY, + COLOR_ACCENT, + COLOR_BACKGROUND, + COLOR_NEUTRAL, + COLOR_TEXT, + COLOR_TEXT_MUTED, + COLOR_TIMELINE_OVERLAY, + }; + const tracksOnCanvas = this.drawTracks( renderedTracks, floatingCanvasRect, @@ -380,6 +400,7 @@ export class TrackTreeView implements m.ClassComponent { ctx, timelineRect, visibleWindow, + colors, ); renderFlows(this.trace, ctx, size, renderedTracks, rootNode, timescale); @@ -390,7 +411,7 @@ export class TrackTreeView implements m.ClassComponent { this.updateInteractions(timelineRect, timescale, size, renderedTracks); this.trace.tracks.overlays.forEach((overlay) => { - overlay.render(ctx, timescale, size, renderedTracks); + overlay.render(ctx, timescale, size, renderedTracks, colors); }); const renderTime = performance.now() - start; @@ -431,6 +452,7 @@ export class TrackTreeView implements m.ClassComponent { ctx: CanvasRenderingContext2D, timelineRect: Rect2D, visibleWindow: HighPrecisionTimeSpan, + colors: CanvasColors, ) { let tracksOnCanvas = 0; for (const trackView of renderedTracks) { @@ -448,6 +470,7 @@ export class TrackTreeView implements m.ClassComponent { visibleWindow, this.perfStatsEnabled, this.trackPerfStats, + colors, ); ++tracksOnCanvas; } diff --git a/ui/src/frontend/viewer_page/track_view.ts b/ui/src/frontend/viewer_page/track_view.ts index 1d6357db2ac..d84437f2847 100644 --- a/ui/src/frontend/viewer_page/track_view.ts +++ b/ui/src/frontend/viewer_page/track_view.ts @@ -40,22 +40,13 @@ import {Button} from '../../widgets/button'; import {MenuDivider, MenuItem, PopupMenu} from '../../widgets/menu'; import {TrackShell} from '../../widgets/track_shell'; import {Tree, TreeNode} from '../../widgets/tree'; -import { - COLOR_ACCENT, - COLOR_BACKGROUND, - COLOR_BACKGROUND_SECONDARY, - COLOR_BORDER, - COLOR_BORDER_SECONDARY, - COLOR_NEUTRAL, - COLOR_TEXT, - COLOR_TEXT_MUTED, -} from '../css_constants'; +import {COLOR_ACCENT} from '../css_constants'; import {calculateResolution} from './resolution'; import {Trace} from '../../public/trace'; import {Anchor, linkify} from '../../widgets/anchor'; import {showModal} from '../../widgets/modal'; import {Popup} from '../../widgets/popup'; -import {Theme} from '../../public/theme'; +import {CanvasColors} from '../../public/canvas_colors'; import {CodeSnippet} from '../../widgets/code_snippet'; const TRACK_HEIGHT_MIN_PX = 18; @@ -268,6 +259,7 @@ export class TrackView { visibleWindow: HighPrecisionTimeSpan, perfStatsEnabled: boolean, trackPerfStats: WeakMap, + colors: CanvasColors, ) { // For each track we rendered in view(), render it to the canvas. We know the // vertical bounds, so we just need to combine it with the horizontal bounds @@ -301,17 +293,6 @@ export class TrackView { return; } - const theme: Theme = { - COLOR_BORDER, - COLOR_BORDER_SECONDARY, - COLOR_BACKGROUND_SECONDARY, - COLOR_ACCENT, - COLOR_BACKGROUND, - COLOR_NEUTRAL, - COLOR_TEXT, - COLOR_TEXT_MUTED, - }; - const start = performance.now(); node.uri && renderer?.render({ @@ -321,7 +302,7 @@ export class TrackView { resolution: maybeNewResolution.value, ctx, timescale, - theme, + colors, }); this.highlightIfTrackInAreaSelection(ctx, timescale, trackRect); diff --git a/ui/src/plugins/dev.perfetto.CpuFreq/cpu_freq_track.ts b/ui/src/plugins/dev.perfetto.CpuFreq/cpu_freq_track.ts index 9ea3f98f1e2..0626cb53574 100644 --- a/ui/src/plugins/dev.perfetto.CpuFreq/cpu_freq_track.ts +++ b/ui/src/plugins/dev.perfetto.CpuFreq/cpu_freq_track.ts @@ -259,7 +259,7 @@ export class CpuFreqTrack implements TrackRenderer { size, timescale, visibleWindow, - theme, + colors, }: TrackRenderContext): void { // TODO: fonts and colors should come from the CSS and not hardcoded here. const data = this.fetcher.data; @@ -411,11 +411,11 @@ export class CpuFreqTrack implements TrackRenderer { // Write the Y scale on the top left corner. ctx.textBaseline = 'alphabetic'; - ctx.fillStyle = theme.COLOR_BACKGROUND; + ctx.fillStyle = colors.COLOR_BACKGROUND; ctx.globalAlpha = 0.6; ctx.fillRect(0, 0, 42, 18); ctx.globalAlpha = 1; - ctx.fillStyle = theme.COLOR_TEXT; + ctx.fillStyle = colors.COLOR_TEXT; ctx.textAlign = 'left'; ctx.fillText(`${yLabel}`, 4, 14); diff --git a/ui/src/plugins/dev.perfetto.Sched/waker_overlay.ts b/ui/src/plugins/dev.perfetto.Sched/waker_overlay.ts index 7bc1ea7c538..2af2970c1e2 100644 --- a/ui/src/plugins/dev.perfetto.Sched/waker_overlay.ts +++ b/ui/src/plugins/dev.perfetto.Sched/waker_overlay.ts @@ -24,6 +24,7 @@ import { getSchedWakeupInfo, SchedWakeupInfo, } from '../../components/sql_utils/sched'; +import {CanvasColors} from '../../public/canvas_colors'; import {Selection, TrackEventSelection} from '../../public/selection'; import {Trace} from '../../public/trace'; import {Overlay, TrackBounds} from '../../public/track'; @@ -48,6 +49,7 @@ export class WakerOverlay implements Overlay { timescale: TimeScale, size: Size2D, renderedTracks: ReadonlyArray, + colors: CanvasColors, ): void { const selection = this.trace.selection.selection; @@ -75,7 +77,13 @@ export class WakerOverlay implements Overlay { } // Draw the vertical line at the wakeup timestamp - this.drawWakeupLine(canvasCtx, timescale, size.height, wakeup.wakeupTs); + drawVerticalLineAtTime( + canvasCtx, + timescale, + wakeup.wakeupTs, + size.height, + colors.COLOR_TIMELINE_OVERLAY, + ); // Draw the marker on the waker CPU track if (wakeup.wakerCpu !== undefined) { @@ -85,6 +93,7 @@ export class WakerOverlay implements Overlay { renderedTracks, wakeup.wakeupTs, wakeup.wakerCpu, + colors.COLOR_TIMELINE_OVERLAY, ); } @@ -95,6 +104,9 @@ export class WakerOverlay implements Overlay { wakeup.wakeupTs, selection.trackUri, selection.ts, + colors.COLOR_TIMELINE_OVERLAY, + colors.COLOR_BACKGROUND, + colors.COLOR_TEXT, ); } @@ -119,21 +131,13 @@ export class WakerOverlay implements Overlay { return cache; } - private drawWakeupLine( - canvasCtx: CanvasRenderingContext2D, - timescale: TimeScale, - height: number, - wakeupTs: time, - ): void { - drawVerticalLineAtTime(canvasCtx, timescale, wakeupTs, height, `black`); - } - private drawWakerMarker( canvasCtx: CanvasRenderingContext2D, timescale: TimeScale, renderedTracks: ReadonlyArray, wakeupTs: time, wakerCpu: number, + color: string, ): void { const wakerCpuTrackUri = uriForSchedTrack(wakerCpu); const wakerTrack = renderedTracks.find( @@ -152,7 +156,7 @@ export class WakerOverlay implements Overlay { canvasCtx.beginPath(); const yCenter = MARGIN + rectHeight / 2; canvasCtx.moveTo(wakeupPosPx, yCenter + DIAMOND_SIZE); - canvasCtx.fillStyle = 'black'; + canvasCtx.fillStyle = color; canvasCtx.lineTo(wakeupPosPx + DIAMOND_SIZE * 0.75, yCenter); canvasCtx.lineTo(wakeupPosPx, yCenter - DIAMOND_SIZE); canvasCtx.lineTo(wakeupPosPx - DIAMOND_SIZE * 0.75, yCenter); @@ -167,6 +171,9 @@ export class WakerOverlay implements Overlay { wakeupTs: time, wakedTrackUri: string, wakedSliceTs: time, + arrowColor: string, + backgroundColor: string, + textColor: string, ): void { const wakedTrack = renderedTracks.find( (track) => wakedTrackUri === track.node.uri, @@ -191,6 +198,7 @@ export class WakerOverlay implements Overlay { MARGIN + rectHeight, latencyWidthPx, latencyWidthPx >= 20, // Only draw arrow heads if width is sufficient + arrowColor, ); // Draw latency text if space permits @@ -203,17 +211,19 @@ export class WakerOverlay implements Overlay { const textBgY = MARGIN + rectHeight - ARROW_HEIGHT; // Semi-transparent background for text - canvasCtx.fillStyle = 'rgba(255,255,255,0.7)'; + canvasCtx.globalAlpha = 0.7; + canvasCtx.fillStyle = backgroundColor; canvasCtx.fillRect( textX - measured.width / 2 - 1, textBgY, measured.width + 2, ARROW_HEIGHT - 1, // Height adjusted to fit within arrow bounds ); + canvasCtx.globalAlpha = 1.0; // Latency text canvasCtx.textBaseline = 'bottom'; - canvasCtx.fillStyle = 'black'; + canvasCtx.fillStyle = textColor; canvasCtx.textAlign = 'center'; canvasCtx.fillText(displayText, textX, textY); } diff --git a/ui/src/public/theme.ts b/ui/src/public/canvas_colors.ts similarity index 92% rename from ui/src/public/theme.ts rename to ui/src/public/canvas_colors.ts index 075e19c633f..948d7d5ca83 100644 --- a/ui/src/public/theme.ts +++ b/ui/src/public/canvas_colors.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -export interface Theme { +export interface CanvasColors { COLOR_BORDER: string; COLOR_BORDER_SECONDARY: string; COLOR_BACKGROUND_SECONDARY: string; @@ -21,4 +21,5 @@ export interface Theme { COLOR_TEXT: string; COLOR_TEXT_MUTED: string; COLOR_NEUTRAL: string; + COLOR_TIMELINE_OVERLAY: string; } diff --git a/ui/src/public/track.ts b/ui/src/public/track.ts index ef9b2969178..58ac999ecb1 100644 --- a/ui/src/public/track.ts +++ b/ui/src/public/track.ts @@ -22,7 +22,7 @@ import {TrackEventDetailsPanel} from './details_panel'; import {TrackEventDetails, TrackEventSelection} from './selection'; import {SourceDataset} from '../trace_processor/dataset'; import {TrackNode} from './workspace'; -import {Theme} from './theme'; +import {CanvasColors} from './canvas_colors'; import {z} from 'zod'; export interface TrackFilterCriteria { @@ -110,7 +110,10 @@ export interface TrackRenderContext extends TrackContext { */ readonly timescale: TimeScale; - readonly theme: Theme; + /** + * Semantic colors which can vary depending on the current theme. + */ + readonly colors: CanvasColors; } // A definition of a track, including a renderer implementation and metadata. @@ -393,5 +396,6 @@ export interface Overlay { timescale: TimeScale, size: Size2D, tracks: ReadonlyArray, + theme: CanvasColors, ): void; } From c0c005e133fac74f96d6a6ba035e97432e4feac7 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:08:24 +0100 Subject: [PATCH 053/370] exp: Single node operations as blocks (#3246) If the operation is a single node operation, like "aggregation" or "modify columns" it will be snapped onto the parent node and create a node block --- .../dev.perfetto.ExplorePage/explore_page.ts | 2 +- .../dev.perfetto.ExplorePage/json_handler.ts | 2 +- .../query_builder/builder.scss | 6 +- .../query_builder/builder.ts | 4 +- .../query_builder/{ => graph}/arrow.ts | 0 .../query_builder/{ => graph}/graph.scss | 2 +- .../query_builder/{ => graph}/graph.ts | 182 +++++++++++++----- .../query_builder/graph/node_block.scss | 54 ++++++ .../query_builder/graph/node_block.ts | 68 +++++++ .../query_builder/{ => graph}/node_box.scss | 22 ++- .../query_builder/{ => graph}/node_box.ts | 113 ++++++----- .../query_builder/graph/node_container.scss | 32 +++ .../query_builder/graph/node_container.ts | 63 ++++++ .../dev.perfetto.ExplorePage/query_node.ts | 5 +- .../sql_json_handler.ts | 2 +- 15 files changed, 444 insertions(+), 113 deletions(-) rename ui/src/plugins/dev.perfetto.ExplorePage/query_builder/{ => graph}/arrow.ts (100%) rename ui/src/plugins/dev.perfetto.ExplorePage/query_builder/{ => graph}/graph.scss (98%) rename ui/src/plugins/dev.perfetto.ExplorePage/query_builder/{ => graph}/graph.ts (82%) create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts rename ui/src/plugins/dev.perfetto.ExplorePage/query_builder/{ => graph}/node_box.scss (91%) rename ui/src/plugins/dev.perfetto.ExplorePage/query_builder/{ => graph}/node_box.ts (63%) create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.ts diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts index 156de3cbdc5..fc36a77753f 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts @@ -27,7 +27,7 @@ import {AggregationNode} from './query_builder/nodes/aggregation_node'; import {ModifyColumnsNode} from './query_builder/nodes/modify_columns_node'; import {Trace} from '../../public/trace'; import {IntervalIntersectNode} from './query_builder/nodes/interval_intersect_node'; -import {NodeBoxLayout} from './query_builder/node_box'; +import {NodeBoxLayout} from './query_builder/graph/node_box'; import {exportStateAsJson, importStateFromJson} from './json_handler'; import {showImportWithStatementModal} from './sql_json_handler'; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts index 5f4a6203cff..b2fcd014e2d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts @@ -39,7 +39,7 @@ import { IntervalIntersectNodeState, IntervalIntersectSerializedState, } from './query_builder/nodes/interval_intersect_node'; -import {NodeBoxLayout} from './query_builder/node_box'; +import {NodeBoxLayout} from './query_builder/graph/node_box'; import {Trace} from '../../public/trace'; import {SqlModules} from '../../plugins/dev.perfetto.SqlModules/sql_modules'; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss index d44a5cc0169..ef3d4f09fe9 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss @@ -14,9 +14,11 @@ @import "../../../assets/theme"; @import "./data_explorer.scss"; -@import "./graph.scss"; +@import "./graph/graph.scss"; @import "./help.scss"; -@import "./node_box.scss"; +@import "./graph/node_box.scss"; +@import "./graph/node_container.scss"; +@import "./graph/node_block.scss"; @import "./node_explorer.scss"; @import "./operations/operation_component.scss"; @import "./nodes/sources/slices_source.scss"; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts index 2164493133d..3314b01909a 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts @@ -19,7 +19,7 @@ import {SqlModules} from '../../dev.perfetto.SqlModules/sql_modules'; import {QueryNode, Query, isAQuery, queryToRun, NodeType} from '../query_node'; import {ExplorePageHelp} from './help'; import {NodeExplorer} from './node_explorer'; -import {Graph} from './graph'; +import {Graph} from './graph/graph'; import {Trace} from 'src/public/trace'; import {DataExplorer} from './data_explorer'; import { @@ -34,7 +34,7 @@ import {SqlSourceNode} from './nodes/sources/sql_source'; import {QueryService} from './query_service'; import {findErrors, findWarnings} from './query_builder_utils'; import {NodeIssues} from './node_issues'; -import {NodeBoxLayout} from './node_box'; +import {NodeBoxLayout} from './graph/node_box'; export interface BuilderAttrs { readonly trace: Trace; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/arrow.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/arrow.ts similarity index 100% rename from ui/src/plugins/dev.perfetto.ExplorePage/query_builder/arrow.ts rename to ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/arrow.ts diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss similarity index 98% rename from ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.scss rename to ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss index f2f2d88d810..7402e8b7ce8 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -@import "../../../assets/theme"; +@import "../../../../assets/theme"; .pf-node-graph { position: relative; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts similarity index 82% rename from ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.ts rename to ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts index e0db2582109..3ea15c3a7bd 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts @@ -14,12 +14,12 @@ import m from 'mithril'; -import {Icons} from '../../../base/semantic_icons'; -import {Button, ButtonVariant} from '../../../widgets/button'; -import {Intent} from '../../../widgets/common'; -import {MenuItem, PopupMenu} from '../../../widgets/menu'; -import {QueryNode} from '../query_node'; -import {FilterDefinition} from '../../../components/widgets/data_grid/common'; +import {Icons} from '../../../../base/semantic_icons'; +import {Button, ButtonVariant} from '../../../../widgets/button'; +import {Intent} from '../../../../widgets/common'; +import {MenuItem, PopupMenu} from '../../../../widgets/menu'; +import {QueryNode, singleNodeOperation} from '../../query_node'; +import {FilterDefinition} from '../../../../components/widgets/data_grid/common'; import { NodeBox, @@ -28,8 +28,9 @@ import { PADDING, DEFAULT_NODE_WIDTH, } from './node_box'; +import {NodeBlock} from './node_block'; import {Arrow, Port} from './arrow'; -import {Icon} from '../../../widgets/icon'; +import {Icon} from '../../../../widgets/icon'; const BUTTONS_AREA_WIDTH = 300; const BUTTONS_AREA_HEIGHT = 50; @@ -227,9 +228,7 @@ export class Graph implements m.ClassComponent { } this.dragNode = node; - const nodeElem = (event.target as HTMLElement).closest( - '.pf-node-box', - ) as HTMLElement; + const nodeElem = event.currentTarget as HTMLElement; this.resolvedNodeLayouts.set(node, { ...layout, @@ -363,9 +362,122 @@ export class Graph implements m.ClassComponent { ); } + + private identifyNodeBlocks(allNodes: QueryNode[]): { + nodeToBlock: Map; + renderedAsPartOfBlock: Set; + } { + const renderedAsPartOfBlock = new Set(); + const nodeToBlock = new Map(); + + for (const node of allNodes) { + if (renderedAsPartOfBlock.has(node)) continue; + const block: QueryNode[] = [node]; + let currentNode = node; + while ( + currentNode.nextNodes.length === 1 && + singleNodeOperation(currentNode.nextNodes[0].type) + ) { + currentNode = currentNode.nextNodes[0]; + block.push(currentNode); + } + if (block.length > 1) { + nodeToBlock.set(node, block); + for (const blockNode of block) { + renderedAsPartOfBlock.add(blockNode); + } + } + } + return {nodeToBlock, renderedAsPartOfBlock}; + } + + private renderNodesAndBlocks( + attrs: GraphAttrs, + allNodes: QueryNode[], + nodeToBlock: Map, + renderedAsPartOfBlock: Set, + onNodeRendered: (node: QueryNode, element: HTMLElement) => void, + ): m.Child[] { + const {selectedNode, onNodeSelected} = attrs; + const children: m.Child[] = []; + for (const node of allNodes) { + if (renderedAsPartOfBlock.has(node) && !nodeToBlock.has(node)) { + continue; + } + + const block = nodeToBlock.get(node); + if (block) { + const layout = this.resolvedNodeLayouts.get(node)!; + children.push( + m(NodeBlock, { + nodes: block, + isSelected: selectedNode ? block.includes(selectedNode) : false, + isDragging: this.dragNode === node, + layout, + onNodeSelected, + onNodeDragStart: this.onNodeDragStart, + onDuplicateNode: attrs.onDuplicateNode, + onDeleteNode: attrs.onDeleteNode, + onAddAggregation: attrs.onAddAggregation, + onModifyColumns: attrs.onAddModifyColumns, + onAddIntervalIntersect: attrs.onAddIntervalIntersect, + onNodeRendered, + onRemoveFilter: attrs.onRemoveFilter, + }), + ); + } else { + const layout = this.resolvedNodeLayouts.get(node)!; + children.push( + m(NodeBox, { + node, + isSelected: selectedNode === node, + isDragging: this.dragNode === node, + layout, + onNodeSelected, + onNodeDragStart: this.onNodeDragStart, + onDuplicateNode: attrs.onDuplicateNode, + onDeleteNode: attrs.onDeleteNode, + onAddAggregation: attrs.onAddAggregation, + onModifyColumns: attrs.onAddModifyColumns, + onAddIntervalIntersect: attrs.onAddIntervalIntersect, + onNodeRendered, + onRemoveFilter: attrs.onRemoveFilter, + }), + ); + } + } + return children; + } + + private renderArrows( + allNodes: QueryNode[], + nodeToBlock: Map, + renderedAsPartOfBlock: Set, + ): m.Child[] { + const children: m.Child[] = []; + for (const node of allNodes) { + if (renderedAsPartOfBlock.has(node) && !nodeToBlock.has(node)) { + continue; + } + const block = nodeToBlock.get(node); + const lastNodeInGroup = block ? block[block.length - 1] : node; + + for (const nextNode of lastNodeInGroup.nextNodes) { + const from = this.resolvedNodeLayouts.get(lastNodeInGroup); + const to = this.resolvedNodeLayouts.get(nextNode); + if (from && to) { + const fromPort = getOutputPorts(from, 1)[0]; + const toPort = getInputPorts(to, 1)[0]; + children.push(m(Arrow, {from: fromPort, to: toPort})); + } + } + } + return children; + } + view({attrs}: m.CVnode) { this.attrs = attrs; - const {rootNodes, onNodeSelected, selectedNode} = attrs; + const {rootNodes} = attrs; const onNodeRendered = (node: QueryNode, element: HTMLElement) => { const layout = this.resolvedNodeLayouts.get(node); @@ -417,39 +529,23 @@ export class Graph implements m.ClassComponent { if (allNodes.length === 0) { children.push(this.renderEmptyNodeGraph(attrs)); } else { - for (const node of allNodes) { - const layout = this.resolvedNodeLayouts.get(node)!; - const inputPorts = getInputPorts(layout, node.prevNodes?.length ?? 1); - for (let i = 0; i < (node.prevNodes?.length ?? 0); i++) { - const prevNode = node.prevNodes![i]; - const from = this.resolvedNodeLayouts.get(prevNode); - if (from) { - const outputPorts = getOutputPorts(from, prevNode.nextNodes.length); - const fromPort = - outputPorts[prevNode.nextNodes.indexOf(node)] ?? outputPorts[0]; - const toPort = inputPorts[i]; - children.push(m(Arrow, {from: fromPort, to: toPort})); - } - } + const {nodeToBlock, renderedAsPartOfBlock} = + this.identifyNodeBlocks(allNodes); + + children.push( + ...this.renderNodesAndBlocks( + attrs, + allNodes, + nodeToBlock, + renderedAsPartOfBlock, + onNodeRendered, + ), + ); + + children.push( + ...this.renderArrows(allNodes, nodeToBlock, renderedAsPartOfBlock), + ); - children.push( - m(NodeBox, { - node, - isSelected: selectedNode === node, - isDragging: this.dragNode === node, - layout, - onNodeSelected, - onNodeDragStart: this.onNodeDragStart, - onDuplicateNode: attrs.onDuplicateNode, - onDeleteNode: attrs.onDeleteNode, - onAddAggregation: attrs.onAddAggregation, - onModifyColumns: attrs.onAddModifyColumns, - onAddIntervalIntersect: attrs.onAddIntervalIntersect, - onNodeRendered, - onRemoveFilter: attrs.onRemoveFilter, - }), - ); - } children.push(this.renderControls(attrs)); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss new file mode 100644 index 00000000000..5aead99eeed --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss @@ -0,0 +1,54 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law of or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import "../../../../assets/theme"; + +.pf-node-block { + .pf-node-box__warning-icon { + position: absolute; + top: -0.5rem; + right: -0.5rem; + } + + .pf-node-box-add-button { + position: absolute; + bottom: -0.5rem; + right: -0.5rem; + display: none; + } + + &:hover .pf-node-box-add-button, + &.pf-node-container--selected .pf-node-box-add-button { + display: flex; + } +} + +.pf-node-block__node { + position: relative; + padding: 0.625rem 0.75rem; + &:not(:last-child) { + border-bottom: 2px solid var(--pf-color-border); + } + + .pf-button { + display: none; + position: absolute; + top: -0.5rem; + right: -0.5rem; + } + + &:hover .pf-button { + display: flex; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts new file mode 100644 index 00000000000..973696e7051 --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts @@ -0,0 +1,68 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import m from 'mithril'; + +import { + NodeBoxAttrs, + NodeBoxContent, + renderAddButton, + renderFilters, + renderWarningIcon, +} from './node_box'; +import {QueryNode} from '../../query_node'; +import {NodeContainer} from './node_container'; + +export interface NodeBlockAttrs extends Omit { + nodes: QueryNode[]; +} + +export const NodeBlock: m.Component = { + view({attrs}) { + const { + nodes, + layout, + onNodeSelected, + onNodeDragStart, + isSelected, + onNodeRendered, + } = attrs; + const firstNode = nodes[0]; + const lastNode = nodes[nodes.length - 1]; + + return m( + NodeContainer, + { + node: firstNode, + layout, + isSelected, + onNodeDragStart, + onNodeRendered, + }, + m( + '.pf-node-block', + nodes.map((n) => + m( + '.pf-node-block__node', + {onclick: () => onNodeSelected(n)}, + m(NodeBoxContent, {node: n}), + renderFilters({...attrs, node: n}), + ), + ), + renderWarningIcon(lastNode), + renderAddButton({...attrs, node: lastNode}), + ), + ); + }, +}; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss similarity index 91% rename from ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.scss rename to ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss index 01de8fb7944..8d194269b2a 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss @@ -12,18 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -@import "../../../assets/theme"; +@import "../../../../assets/theme"; .pf-node-box { display: flex; - position: absolute; align-items: center; gap: 0.375rem; padding: 0.625rem 0.75rem; - border: 1px solid var(--pf-color-border); - border-radius: 8px; - background-color: var(--pf-color-background); - box-shadow: 0 2px 4px var(--pf-color-box-shadow); cursor: grab; transition: border-color 0.2s ease-in-out, @@ -91,10 +86,6 @@ margin-top: 0.5rem; } -.pf-node-box { - position: absolute; -} - .pf-node-box-add-button { position: absolute; bottom: -0.5rem; @@ -117,3 +108,14 @@ .pf-node-box-port { z-index: 1; } + +.pf-node-box .pf-button { + display: none; + position: absolute; + top: -0.5rem; + right: -0.5rem; +} + +.pf-node-box:hover .pf-button { + display: flex; +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts similarity index 63% rename from ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts rename to ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts index 35b94aafea1..184638752d8 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts @@ -14,14 +14,16 @@ import m from 'mithril'; -import {classNames} from '../../../base/classnames'; -import {Icons} from '../../../base/semantic_icons'; -import {Button} from '../../../widgets/button'; -import {MenuItem, PopupMenu} from '../../../widgets/menu'; -import {QueryNode} from '../query_node'; -import {FilterDefinition} from '../../../components/widgets/data_grid/common'; -import {Chip} from '../../../widgets/chip'; -import {Icon} from '../../../widgets/icon'; +import {classNames} from '../../../../base/classnames'; +import {Icons} from '../../../../base/semantic_icons'; +import {Button} from '../../../../widgets/button'; +import {MenuItem, PopupMenu} from '../../../../widgets/menu'; +import {QueryNode} from '../../query_node'; +import {FilterDefinition} from '../../../../components/widgets/data_grid/common'; +import {Chip} from '../../../../widgets/chip'; +import {Icon} from '../../../../widgets/icon'; + +import {NodeContainer} from './node_container'; export const PADDING = 20; export const NODE_HEIGHT = 50; @@ -54,7 +56,7 @@ export interface NodeBoxAttrs { readonly onRemoveFilter: (node: QueryNode, filter: FilterDefinition) => void; } -function renderWarningIcon(node: QueryNode): m.Child { +export function renderWarningIcon(node: QueryNode): m.Child { if (!node.state.issues || !node.state.issues.hasIssues()) return null; const iconClasses = classNames('pf-node-box__warning-icon'); @@ -66,7 +68,7 @@ function renderWarningIcon(node: QueryNode): m.Child { }); } -function renderContextMenu(attrs: NodeBoxAttrs): m.Child { +export function renderContextMenu(attrs: NodeBoxAttrs): m.Child { const {node, onDuplicateNode, onDeleteNode} = attrs; const menuItems: m.Child[] = [ m(MenuItem, { @@ -91,7 +93,7 @@ function renderContextMenu(attrs: NodeBoxAttrs): m.Child { ); } -function renderAddButton(attrs: NodeBoxAttrs): m.Child { +export function renderAddButton(attrs: NodeBoxAttrs): m.Child { const {node, onAddAggregation, onModifyColumns, onAddIntervalIntersect} = attrs; return m( @@ -117,7 +119,7 @@ function renderAddButton(attrs: NodeBoxAttrs): m.Child { ); } -function renderFilters(attrs: NodeBoxAttrs): m.Child { +export function renderFilters(attrs: NodeBoxAttrs): m.Child { const {node, onRemoveFilter} = attrs; if (!node.state.filters || node.state.filters.length === 0) return null; @@ -137,60 +139,69 @@ function renderFilters(attrs: NodeBoxAttrs): m.Child { ); } -export const NodeBox: m.Component = { - oncreate({attrs, dom}) { - attrs.onNodeRendered(attrs.node, dom as HTMLElement); - }, - onupdate({attrs, dom}) { - attrs.onNodeRendered(attrs.node, dom as HTMLElement); +export const NodeBoxContent: m.Component<{node: QueryNode}> = { + view({attrs}) { + const {node} = attrs; + return m( + '.pf-node-box__content', + m('span.pf-node-box__title', node.getTitle()), + m('.pf-node-box__details', node.nodeDetails?.()), + ); }, +}; + +export const NodeBox: m.Component = { view({attrs}) { - const {node, layout, isSelected, onNodeSelected, onNodeDragStart} = attrs; + const { + node, + layout, + isSelected, + onNodeSelected, + onNodeDragStart, + onNodeRendered, + } = attrs; const conditionalClasses = classNames( - isSelected && 'pf-node-box__selected', !node.validate() && 'pf-node-box__invalid', node.state.issues?.queryError && 'pf-node-box__invalid-query', node.state.issues?.responseError && 'pf-node-box__invalid-response', ); - const boxStyle = { - left: `${layout.x}px`, - top: `${layout.y}px`, - }; - return m( - '.pf-node-box', + NodeContainer, { - class: conditionalClasses, - style: boxStyle, - onclick: () => onNodeSelected(node), - draggable: true, - ondragstart: (event: DragEvent) => onNodeDragStart(node, event, layout), + node, + layout, + isSelected, + onNodeDragStart, + onNodeRendered, }, - node.prevNodes?.map((_, i) => { - const portCount = node.prevNodes ? node.prevNodes.length : 0; - const left = `calc(${((i + 1) * 100) / (portCount + 1)}% - 5px)`; - return m('.pf-node-box-port.pf-node-box-port-top', { - style: {left}, - }); - }), - renderWarningIcon(node), m( - '.pf-node-box__content', - m('span.pf-node-box__title', node.getTitle()), - m('.pf-node-box__details', node.nodeDetails?.()), + '.pf-node-box', + { + class: conditionalClasses, + onclick: () => onNodeSelected(node), + }, + node.prevNodes?.map((_, i) => { + const portCount = node.prevNodes ? node.prevNodes.length : 0; + const left = `calc(${((i + 1) * 100) / (portCount + 1)}% - 5px)`; + return m('.pf-node-box-port.pf-node-box-port-top', { + style: {left}, + }); + }), + renderWarningIcon(node), + m(NodeBoxContent, {node}), renderFilters(attrs), + renderContextMenu(attrs), + node.nextNodes.map((_, i) => { + const portCount = node.nextNodes.length; + const left = `calc(${((i + 1) * 100) / (portCount + 1)}% - 5px)`; + return m('.pf-node-box-port.pf-node-box-port-bottom', { + style: {left}, + }); + }), + renderAddButton(attrs), ), - renderContextMenu(attrs), - node.nextNodes.map((_, i) => { - const portCount = node.nextNodes.length; - const left = `calc(${((i + 1) * 100) / (portCount + 1)}% - 5px)`; - return m('.pf-node-box-port.pf-node-box-port-bottom', { - style: {left}, - }); - }), - renderAddButton(attrs), ); }, }; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss new file mode 100644 index 00000000000..efbcc3d1e69 --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss @@ -0,0 +1,32 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import "../../../../assets/theme"; + +.pf-node-container { + position: absolute; + border: 1px solid var(--pf-color-border); + border-radius: 8px; + background-color: var(--pf-color-background); + box-shadow: 0 2px 4px var(--pf-color-box-shadow); + + &--selected { + border-color: var(--pf-color-primary); + } + + &--dragging { + opacity: 0.4; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.ts new file mode 100644 index 00000000000..2ab7cabadde --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.ts @@ -0,0 +1,63 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {classNames} from '../../../../base/classnames'; +import m from 'mithril'; +import {QueryNode} from '../../query_node'; +import {NodeBoxLayout} from './node_box'; + +export interface NodeContainerAttrs { + node: QueryNode; + layout: NodeBoxLayout; + isSelected: boolean; + onNodeDragStart: ( + node: QueryNode, + event: DragEvent, + layout: NodeBoxLayout, + ) => void; + onNodeRendered: (node: QueryNode, element: HTMLElement) => void; +} + +export const NodeContainer: m.Component = { + oncreate({attrs, dom}) { + attrs.onNodeRendered(attrs.node, dom as HTMLElement); + }, + onupdate({attrs, dom}) { + attrs.onNodeRendered(attrs.node, dom as HTMLElement); + }, + view({attrs, children}) { + const {layout, onNodeDragStart, isSelected, node} = attrs; + + const boxClass = classNames( + 'pf-node-container', + isSelected && 'pf-node-container--selected', + ); + + const boxStyle = { + left: `${layout.x}px`, + top: `${layout.y}px`, + }; + + return m( + '.pf-node-container', + { + class: boxClass, + style: boxStyle, + draggable: true, + ondragstart: (event: DragEvent) => onNodeDragStart(node, event, layout), + }, + children, + ); + }, +}; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index 46669daa887..a805f40eebe 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -31,7 +31,6 @@ export enum NodeType { kSqlSource, // Single node operations - kSubQuery, kAggregation, kModifyColumns, @@ -39,6 +38,10 @@ export enum NodeType { kIntervalIntersect, } +export function singleNodeOperation(type: NodeType): boolean { + return type === NodeType.kAggregation || type === NodeType.kModifyColumns; +} + // All information required to create a new node. export interface QueryNodeState { prevNodes?: QueryNode[]; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts b/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts index 2a44c93eec9..cfcfc3cf661 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts @@ -13,7 +13,7 @@ // limitations under the License. import {NodeType} from './query_node'; -import {NodeBoxLayout} from './query_builder/node_box'; +import {NodeBoxLayout} from './query_builder/graph/node_box'; import {Trace} from '../../public/trace'; import {SqlModules} from '../dev.perfetto.SqlModules/sql_modules'; import {ExplorePageState} from './explore_page'; From bb5998781cbb175d01cc6f8ac565e759d36a673a Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:09:15 +0100 Subject: [PATCH 054/370] exp: ModifyColumns node styling and usability (#3253) Nicer ModifyColumns node editing. Added validation of new columns before adding them --- .../nodes/modify_columns_node.scss | 59 +++- .../nodes/modify_columns_node.ts | 311 +++++++++++------- 2 files changed, 235 insertions(+), 135 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss index 879a558efc7..0cb19e17363 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss @@ -12,24 +12,49 @@ // See the License for the specific language governing permissions and // limitations under the License. -.pf-node-details-box { - border: 1px solid var(--pf-border-color); - border-radius: 4px; - padding: 8px; - margin-top: 8px; -} +.pf-modify-columns-node { + .pf-node-details-box { + border: 1px solid var(--pf-border-color); + border-radius: 4px; + padding: 8px; + margin-top: 8px; + } -.pf-node-details-box strong { - display: block; - margin-bottom: 4px; -} + .pf-node-details-box strong { + display: block; + margin-bottom: 4px; + } -.pf-node-details-box div { - font-size: 0.8em; - padding: 2px 0; -} + .pf-node-details-box div { + font-size: 0.8em; + padding: 2px 0; + } + + .pf-node-details-message { + font-style: italic; + color: var(--pf-text-color-light); + } + + .pf-columns-box-title { + font-size: 1.2em; + font-weight: 500; + margin: 0 0 1rem 0; + } + + .pf-column { + display: flex; + align-items: center; + gap: 8px; + padding: 1px 0; + } + + .pf-drag-handle { + opacity: 0; + cursor: grab; + transition: opacity 0.2s ease-in-out; + } -.pf-node-details-message { - font-style: italic; - color: var(--pf-text-color-light); + .pf-column:hover .pf-drag-handle { + opacity: 1; + } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 68bd213e7c7..b571e33e810 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -19,7 +19,10 @@ import { nextNodeId, NodeType, } from '../../query_node'; +import {Button, ButtonVariant} from '../../../../widgets/button'; +import {Card, CardStack} from '../../../../widgets/card'; import {Checkbox} from '../../../../widgets/checkbox'; +import {Icon} from '../../../../widgets/icon'; import {TextInput} from '../../../../widgets/text_input'; import { ColumnInfo, @@ -162,13 +165,7 @@ export class ModifyColumnsNode implements QueryNode { return m('div', c.column.name); } }); - details.push( - m( - '.pf-node-details-box', - m('strong', 'Selected columns:'), - ...selectedItems, - ), - ); + details.push(m('.pf-node-details-box', ...selectedItems)); } } @@ -192,137 +189,215 @@ export class ModifyColumnsNode implements QueryNode { nodeSpecificModify(): m.Child { return m( - 'div', + 'div.pf-modify-columns-node', m( - 'div.pf-column-list', - this.state.selectedColumns.map((col, index) => + CardStack, + m( + Card, + m('h2.pf-columns-box-title', 'Selected Columns'), m( - '.pf-column', - { - draggable: true, - ondragstart: (e: DragEvent) => { - e.dataTransfer!.setData('text/plain', index.toString()); - }, - ondragover: (e: DragEvent) => { - e.preventDefault(); - }, - ondrop: (e: DragEvent) => { - e.preventDefault(); - const from = parseInt( - e.dataTransfer!.getData('text/plain'), - 10, - ); - const to = index; - const [removed] = this.state.selectedColumns.splice(from, 1); - this.state.selectedColumns.splice(to, 0, removed); - }, - }, - m(Checkbox, { - checked: col.checked, - label: col.column.name, - onchange: (e) => { - col.checked = (e.target as HTMLInputElement).checked; - }, - }), - m(TextInput, { - oninput: (e: Event) => { - col.alias = (e.target as HTMLInputElement).value; - }, - placeholder: 'alias', - value: col.alias ? col.alias : '', - }), + 'div.pf-column-list', + this.state.selectedColumns.map((col, index) => + this.renderSelectedColumn(col, index), + ), ), ), - ), - this.state.newColumns.map((col, index) => m( - '.pf-column', - { - draggable: true, - ondragstart: (e: DragEvent) => { - e.dataTransfer!.setData( - 'text/plain', - (this.state.selectedColumns.length + index).toString(), - ); - }, - ondragover: (e: DragEvent) => { - e.preventDefault(); - }, - ondrop: (e: DragEvent) => { - e.preventDefault(); - const from = parseInt(e.dataTransfer!.getData('text/plain'), 10); - const to = this.state.selectedColumns.length + index; - if (from < this.state.selectedColumns.length) { - const [removed] = this.state.selectedColumns.splice(from, 1); - this.state.newColumns.splice( - to - this.state.selectedColumns.length, - 0, - { - expression: removed.column.name, - name: removed.alias || '', - }, - ); - } else { - const [removed] = this.state.newColumns.splice( - from - this.state.selectedColumns.length, - 1, - ); - this.state.newColumns.splice( - to - this.state.selectedColumns.length, - 0, - removed, - ); - } - }, - }, - m(TextInput, { - oninput: (e: Event) => { - col.expression = (e.target as HTMLInputElement).value; - }, - placeholder: 'expression', - value: col.expression, - }), - m(TextInput, { - oninput: (e: Event) => { - col.name = (e.target as HTMLInputElement).value; - }, - placeholder: 'name', - value: col.name, - }), - m( - 'button', - { - onclick: () => { - this.state.newColumns.splice(index, 1); - }, - }, - 'Remove', + Card, + this.state.newColumns.map((col, index) => + this.renderNewColumn(col, index), ), + this.renderAddColumnButton(), ), ), + this.renderFilterOperation(), + ); + } + + private renderSelectedColumn(col: ColumnInfo, index: number): m.Child { + return m( + '.pf-column', + { + ondragover: (e: DragEvent) => { + e.preventDefault(); + }, + ondrop: (e: DragEvent) => { + e.preventDefault(); + const from = parseInt(e.dataTransfer!.getData('text/plain'), 10); + const to = index; + + const newSelectedColumns = [...this.state.selectedColumns]; + const [removed] = newSelectedColumns.splice(from, 1); + newSelectedColumns.splice(to, 0, removed); + this.state.selectedColumns = newSelectedColumns; + this.state.onchange?.(); + }, + }, m( - 'button.pf-add-column-button', + 'span.pf-drag-handle', { - onclick: () => { - this.state.newColumns.push({ - expression: '', - name: '', + draggable: true, + ondragstart: (e: DragEvent) => { + e.dataTransfer!.setData('text/plain', index.toString()); + }, + }, + '☰', + ), + m(Checkbox, { + checked: col.checked, + label: col.column.name, + onchange: (e) => { + const newSelectedColumns = [...this.state.selectedColumns]; + newSelectedColumns[index] = { + ...newSelectedColumns[index], + checked: (e.target as HTMLInputElement).checked, + }; + this.state.selectedColumns = newSelectedColumns; + this.state.onchange?.(); + }, + }), + m(TextInput, { + oninput: (e: Event) => { + const newSelectedColumns = [...this.state.selectedColumns]; + newSelectedColumns[index] = { + ...newSelectedColumns[index], + alias: (e.target as HTMLInputElement).value, + }; + this.state.selectedColumns = newSelectedColumns; + this.state.onchange?.(); + }, + placeholder: 'alias', + value: col.alias ? col.alias : '', + }), + ); + } + + private isNewColumnValid(col: NewColumn): boolean { + return col.expression.trim() !== '' && col.name.trim() !== ''; + } + + private renderNewColumn(col: NewColumn, index: number): m.Child { + const isValid = this.isNewColumnValid(col); + + return m( + '.pf-column', + { + ondragover: (e: DragEvent) => { + e.preventDefault(); + }, + ondrop: (e: DragEvent) => { + e.preventDefault(); + const from = parseInt(e.dataTransfer!.getData('text/plain'), 10); + const to = this.state.selectedColumns.length + index; + + const newSelectedColumns = [...this.state.selectedColumns]; + const newNewColumns = [...this.state.newColumns]; + + if (from < this.state.selectedColumns.length) { + const [removed] = newSelectedColumns.splice(from, 1); + newNewColumns.splice(to - this.state.selectedColumns.length, 0, { + expression: removed.column.name, + name: removed.alias || '', }); + } else { + const [removed] = newNewColumns.splice( + from - this.state.selectedColumns.length, + 1, + ); + newNewColumns.splice( + to - this.state.selectedColumns.length, + 0, + removed, + ); + } + this.state.selectedColumns = newSelectedColumns; + this.state.newColumns = newNewColumns; + this.state.onchange?.(); + }, + }, + m( + 'span.pf-drag-handle', + { + draggable: true, + ondragstart: (e: DragEvent) => { + e.dataTransfer!.setData( + 'text/plain', + (this.state.selectedColumns.length + index).toString(), + ); }, }, - 'Add column', + '☰', ), - m(FilterOperation, { - filters: this.state.filters, - sourceCols: this.finalCols, - onFiltersChanged: (newFilters: ReadonlyArray) => { - this.state.filters = newFilters as FilterDefinition[]; + m(TextInput, { + oninput: (e: Event) => { + const newNewColumns = [...this.state.newColumns]; + newNewColumns[index] = { + ...newNewColumns[index], + expression: (e.target as HTMLInputElement).value, + }; + this.state.newColumns = newNewColumns; this.state.onchange?.(); }, + placeholder: 'expression', + value: col.expression, }), + m(TextInput, { + oninput: (e: Event) => { + const newNewColumns = [...this.state.newColumns]; + newNewColumns[index] = { + ...newNewColumns[index], + name: (e.target as HTMLInputElement).value, + }; + this.state.newColumns = newNewColumns; + this.state.onchange?.(); + }, + placeholder: 'name', + value: col.name, + }), + !isValid && m(Icon, {icon: 'warning'}), + m( + 'button', + { + onclick: () => { + const newNewColumns = [...this.state.newColumns]; + newNewColumns.splice(index, 1); + this.state.newColumns = newNewColumns; + this.state.onchange?.(); + }, + }, + m(Icon, {icon: 'close'}), + ), ); } + private renderAddColumnButton(): m.Child { + return m(Button, { + label: 'Add column', + variant: ButtonVariant.Outlined, + onclick: () => { + this.state.newColumns = [ + ...this.state.newColumns, + { + expression: '', + name: '', + }, + ]; + this.state.onchange?.(); + }, + }); + } + + private renderFilterOperation(): m.Child { + return m(FilterOperation, { + filters: this.state.filters, + sourceCols: this.finalCols, + onFiltersChanged: (newFilters: ReadonlyArray) => { + this.state.filters = newFilters as FilterDefinition[]; + this.state.onchange?.(); + }, + }); + } + clone(): QueryNode { return new ModifyColumnsNode(this.state); } From 9a74b9d0c02a178dcf3e79a4b94dd8d3d28e092c Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:30:11 +0100 Subject: [PATCH 055/370] exp: Better titles styling (#3249) Remove titles from the node block nodes (not the source one) and improve the nodeDetails shown on the node --- .../query_builder/graph/node_box.ts | 7 +++++-- .../query_builder/nodes/aggregation_node.ts | 2 +- .../query_builder/nodes/sources/table_source.ts | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts index 184638752d8..0854a80b24d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts @@ -18,7 +18,7 @@ import {classNames} from '../../../../base/classnames'; import {Icons} from '../../../../base/semantic_icons'; import {Button} from '../../../../widgets/button'; import {MenuItem, PopupMenu} from '../../../../widgets/menu'; -import {QueryNode} from '../../query_node'; +import {QueryNode, singleNodeOperation} from '../../query_node'; import {FilterDefinition} from '../../../../components/widgets/data_grid/common'; import {Chip} from '../../../../widgets/chip'; import {Icon} from '../../../../widgets/icon'; @@ -142,9 +142,12 @@ export function renderFilters(attrs: NodeBoxAttrs): m.Child { export const NodeBoxContent: m.Component<{node: QueryNode}> = { view({attrs}) { const {node} = attrs; + const hasCustomTitle = node.state.customTitle !== undefined; + const shouldShowTitle = !singleNodeOperation(node.type) || hasCustomTitle; + return m( '.pf-node-box__content', - m('span.pf-node-box__title', node.getTitle()), + shouldShowTitle && m('span.pf-node-box__title', node.getTitle()), m('.pf-node-box__details', node.nodeDetails?.()), ); }, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 98f3547bdd5..8f57d08f421 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -181,7 +181,7 @@ export class AggregationNode implements QueryNode { } if (details.length === 0) { - return; + return m('div', `No aggregation`); } return m('.pf-aggregation-node-details', details); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts index b4b4914c69d..47b95c060ab 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts @@ -187,7 +187,7 @@ export class TableSourceNode extends SourceNode { } getTitle(): string { - return this.state.customTitle ?? `Table ${this.state.sqlTable?.name}`; + return this.state.customTitle ?? `${this.state.sqlTable?.name}`; } isMaterialised(): boolean { From 4a50a18aedb5f91792838acf61d0f71ce6c149aa Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Fri, 10 Oct 2025 17:54:39 +0100 Subject: [PATCH 056/370] ui: Fix MultiselectInput widget (#3257) Fix several bugs with the MultiselectInput widget: - Fix popup open/close behavior. - Fix enter to add/remove elements not working as expected. --- .../dev.perfetto.WidgetsPage/widgets_page.ts | 7 +- ui/src/widgets/multiselect_input.ts | 151 ++++++++++-------- ui/src/widgets/popup.ts | 29 +++- 3 files changed, 110 insertions(+), 77 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts index f79f165364c..45c3e709057 100644 --- a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts +++ b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts @@ -383,7 +383,12 @@ function ControlledPopup() { return m( Popup, { - trigger: m(Button, {label: `${popupOpen ? 'Close' : 'Open'} Popup`}), + trigger: m(Button, { + label: `${popupOpen ? 'Close' : 'Open'} Popup`, + onclick: () => { + popupOpen = true; + }, + }), isOpen: popupOpen, onChange: (shouldOpen: boolean) => (popupOpen = shouldOpen), }, diff --git a/ui/src/widgets/multiselect_input.ts b/ui/src/widgets/multiselect_input.ts index d8d96fbe942..3c23b67d362 100644 --- a/ui/src/widgets/multiselect_input.ts +++ b/ui/src/widgets/multiselect_input.ts @@ -13,15 +13,46 @@ // limitations under the License. /** - * This is a multiselect widgets that allows users to select multiple items from - * a list of options by typing or clicking rather than just clicking I.e. using - * checkboxes. + * MultiselectInput - A widget for selecting multiple items from a list with + * auto-complete. + * + * This widget provides a text-input-based interface for multi-selection, + * combining typing to filter with clicking to select. Selected items appear as + * removable chips in the input field. + * + * Features: + * - Type to filter available options + * - Click options to toggle selection + * - Selected items shown as chips with remove buttons + * - Keyboard navigation with arrow keys + * - Popup automatically opens on focus, closes on blur + * + * User Interactions: + * - Click anywhere in the input area to focus and open the popup + * - Type text to filter the available options + * - Click an option in the popup to toggle its selection + * - Click the × on a chip to remove that selection + * - Click outside the widget or tab away to close the popup + * + * Keyboard Shortcuts: + * - Enter: Toggle selection of the currently highlighted option + * - ArrowUp/ArrowDown: Navigate through filtered options + * - Backspace (when input empty): Remove the last selected chip + * - Escape: Close the popup by blurring the input + * + * Implementation Details: + * - Popup state is tied to input focus (focused = open, blurred = closed) + * - Clicking inside the popup prevents input blur via + * mousedown.preventDefault() + * - All keyboard handling uses Mithril's event system (no manual event + * listeners) + * - Uses controlled mode for the Popup widget (no automatic toggle on trigger + * click) */ import m from 'mithril'; import {HTMLAttrs, Intent} from './common'; import {Icon} from './icon'; -import {bindEventListener, findRef} from '../base/dom_utils'; import {Popup, PopupPosition} from './popup'; import {EmptyState} from './empty_state'; import {classNames} from '../base/classnames'; @@ -41,16 +72,12 @@ export interface MultiselectInputAttrs extends HTMLAttrs { readonly placeholder?: string; } -const INPUT_REF = 'input'; - export class MultiselectInput implements m.ClassComponent { - private keyEventHandler?: Disposable; private currentTextValue = ''; private selectedItemIndex = 0; - private popupShouldOpen = false; - private isFocused = false; + private popupIsOpen = false; view({attrs}: m.CVnode) { const {selectedOptions, placeholder, options, ...htmlAttrs} = attrs; @@ -61,24 +88,13 @@ export class MultiselectInput className: 'pf-multiselect-input__popup', position: PopupPosition.Bottom, matchWidth: true, - onChange: (open: boolean) => { - this.popupShouldOpen = open; - }, - // Keep the popup open if the input is focused or the the popup has been - // asked to be opened. - isOpen: this.popupShouldOpen || this.isFocused, + isOpen: this.popupIsOpen, + // Disable Popup's built-in close handlers - we manage via input focus/blur + closeOnEscape: false, + closeOnOutsideClick: false, trigger: m( '.pf-multiselect-input', - { - onclick: (ev: Event) => { - const target = ev.currentTarget as HTMLElement; - const inputElement = findRef(target, INPUT_REF); - if (inputElement) { - (inputElement as HTMLInputElement).focus(); - } - }, - ...htmlAttrs, - }, + htmlAttrs, // Render the selected options as tags in the text field m( Stack, @@ -96,60 +112,33 @@ export class MultiselectInput }), ), m('input', { - ref: INPUT_REF, value: this.currentTextValue, placeholder, onfocus: () => { - this.isFocused = true; - console.log(this.popupShouldOpen, this.isFocused); + this.popupIsOpen = true; }, onblur: () => { - this.isFocused = false; - console.log(this.popupShouldOpen, this.isFocused); + this.popupIsOpen = false; }, - oninput: (ev: InputEvent) => { - const el = ev.target as HTMLInputElement; - this.currentTextValue = el.value; - this.selectedItemIndex = 0; - }, - }), - ), - }, - this.renderOptionsPopup(attrs), - ); - } - - private renderOptionsPopup(attrs: MultiselectInputAttrs) { - const {onOptionAdd, onOptionRemove, selectedOptions} = attrs; - - const filtered = this.filterOptions(attrs); - if (filtered.length === 0) { - return m(EmptyState, {title: 'No results found', icon: 'search_off'}); - } - - return m( - '.pf-multiselect-input__scroller', - { - oncreate: () => { - this.keyEventHandler = bindEventListener( - document, - 'keydown', - (ev: KeyboardEvent) => { - // We need to trigger a redraw as we're circumventing mithril's - // event system here. - m.redraw(); + onkeydown: (ev: KeyboardEvent) => { const filteredOptions = this.filterOptions(attrs); - if (ev.key === 'Enter') { + + if (ev.key === 'Escape') { + // Blur the input, which will close the popup via onblur + (ev.target as HTMLInputElement).blur(); + ev.preventDefault(); + } else if (ev.key === 'Enter') { if (filteredOptions.length > 0) { const option = filteredOptions[this.selectedItemIndex]; const alreadyAdded = selectedOptions.includes(option.key); if (alreadyAdded) { - onOptionRemove(option.key); + attrs.onOptionRemove(option.key); } else { - onOptionAdd(option.key); + attrs.onOptionAdd(option.key); } this.currentTextValue = ''; } + ev.preventDefault(); } else if (ev.key === 'ArrowUp') { if (filteredOptions.length > 0) { this.selectedItemIndex = Math.max( @@ -171,15 +160,39 @@ export class MultiselectInput this.currentTextValue === '' && selectedOptions.length > 0 ) { - onOptionRemove(selectedOptions[selectedOptions.length - 1]); + attrs.onOptionRemove( + selectedOptions[selectedOptions.length - 1], + ); ev.preventDefault(); } } }, - ); - }, - onremove: () => { - this.keyEventHandler?.[Symbol.dispose](); + oninput: (ev: InputEvent) => { + const el = ev.target as HTMLInputElement; + this.currentTextValue = el.value; + this.selectedItemIndex = 0; + }, + }), + ), + }, + this.renderOptionsPopup(attrs), + ); + } + + private renderOptionsPopup(attrs: MultiselectInputAttrs) { + const {onOptionAdd, onOptionRemove, selectedOptions} = attrs; + + const filtered = this.filterOptions(attrs); + if (filtered.length === 0) { + return m(EmptyState, {title: 'No results found', icon: 'search_off'}); + } + + return m( + '.pf-multiselect-input__scroller', + { + onmousedown: (e: MouseEvent) => { + // Prevent input from losing focus when clicking inside popup + e.preventDefault(); }, }, filtered.map((o, index) => { diff --git a/ui/src/widgets/popup.ts b/ui/src/widgets/popup.ts index 4a725debfaf..3113c93c05e 100644 --- a/ui/src/widgets/popup.ts +++ b/ui/src/widgets/popup.ts @@ -62,7 +62,11 @@ export interface PopupAttrs { // Defaults to true. closeOnOutsideClick?: boolean; // Controls whether the popup is open or not. - // If omitted, the popup operates in uncontrolled mode. + // When provided, the popup operates in controlled mode and will not + // automatically toggle on trigger clicks. The parent component must + // handle opening the popup (e.g., via the trigger's onclick handler). + // When omitted, the popup operates in uncontrolled mode and + // automatically toggles when the trigger is clicked. isOpen?: boolean; // Called when the popup isOpen state should be changed in controlled mode. onChange?: OnChangeCallback; @@ -130,13 +134,16 @@ export class Popup implements m.ClassComponent { closeOnOutsideClick = true, } = attrs; + // Detect if we're in controlled mode (parent provides isOpen prop) + const isControlled = attrs.isOpen !== undefined; + this.isOpen = isOpen; this.onChange = onChange; this.closeOnEscape = closeOnEscape; this.closeOnOutsideClick = closeOnOutsideClick; return [ - this.renderTrigger(trigger, isOpen), + this.renderTrigger(trigger, isOpen, isControlled), isOpen && this.renderPopup(attrs, children), ]; } @@ -145,16 +152,24 @@ export class Popup implements m.ClassComponent { // eslint-disable-next-line @typescript-eslint/no-explicit-any trigger: m.Vnode, isOpen: boolean, + isControlled: boolean, ): m.Children { - trigger.attrs = { + const baseAttrs = { ...trigger.attrs, ref: Popup.TRIGGER_REF, - onclick: (e: MouseEvent) => { - this.togglePopup(); - e.preventDefault(); - }, active: isOpen, }; + + // In controlled mode, don't override the trigger's onclick. + // Let the parent handle opening/closing via the isOpen prop. + if (!isControlled) { + baseAttrs.onclick = (e: MouseEvent) => { + this.togglePopup(); + e.preventDefault(); + }; + } + + trigger.attrs = baseAttrs; return trigger; } From 0fde4213e1af1de023b881b886d273eeea4493b4 Mon Sep 17 00:00:00 2001 From: Kirill Timofeev Date: Fri, 10 Oct 2025 19:44:20 +0100 Subject: [PATCH 057/370] Flush buffers before periodically write them into file. (#3241) For `write_into_file` sessions, each time we periodically write buffers into file, we first issue a Flush() to all data source, forcing them to commit their data into the tracing service. This helps us to always write latest data to the file. Add `no_flush_before_write_into_file` configuration option to disable this new behaviour. --- .../public/protos/config/trace_config.pzc.h | 5 + protos/perfetto/config/perfetto_config.proto | 18 +- protos/perfetto/config/trace_config.proto | 18 +- protos/perfetto/trace/perfetto_trace.proto | 18 +- .../perfetto/trace/perfetto_trace_pb2.py | 4088 ++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 6 +- src/tracing/service/tracing_service_impl.cc | 99 +- src/tracing/service/tracing_service_impl.h | 6 +- .../service/tracing_service_impl_unittest.cc | 88 + 9 files changed, 2265 insertions(+), 2081 deletions(-) diff --git a/include/perfetto/public/protos/config/trace_config.pzc.h b/include/perfetto/public/protos/config/trace_config.pzc.h index f006a299c2b..473af8e40a2 100644 --- a/include/perfetto/public/protos/config/trace_config.pzc.h +++ b/include/perfetto/public/protos/config/trace_config.pzc.h @@ -292,6 +292,11 @@ PERFETTO_PB_FIELD(perfetto_protos_TraceConfig, uint32_t, exclusive_prio, 41); +PERFETTO_PB_FIELD(perfetto_protos_TraceConfig, + VARINT, + bool, + no_flush_before_write_into_file, + 42); PERFETTO_PB_MSG(perfetto_protos_TraceConfig_SessionSemaphore); PERFETTO_PB_FIELD(perfetto_protos_TraceConfig_SessionSemaphore, diff --git a/protos/perfetto/config/perfetto_config.proto b/protos/perfetto/config/perfetto_config.proto index 41a2f93c044..974399675ba 100644 --- a/protos/perfetto/config/perfetto_config.proto +++ b/protos/perfetto/config/perfetto_config.proto @@ -4202,7 +4202,7 @@ message DataSourceConfig { // It contains the general config for the logging buffer(s) and the configs for // all the data source being enabled. // -// Next id: 42. +// Next id: 43. message TraceConfig { message BufferConfig { optional uint32 size_kb = 1; @@ -4938,6 +4938,22 @@ message TraceConfig { // Introduced in: perfetto v52. // Supported on: Android 25Q3+. optional uint32 exclusive_prio = 41; + + // If true && |write_into_file|, do NOT flush buffers when periodically write + // them into file. + // + // By default, if |write_into_file| is set, each time we periodically write + // buffers into file, we first issue a Flush() to all data source, forcing + // them to commit their data into the tracing service. This helps us to always + // write latest data to the file. + // + // Before this flag was introduced, the default behavior was NOT to flush + // buffers when periodically write them into file. If true this flag + // returns the old default behavior. + // + // Introduced in: perfetto v53. + // Supported on: Android 25Q4+. + optional bool no_flush_before_write_into_file = 42; } // End of protos/perfetto/config/trace_config.proto diff --git a/protos/perfetto/config/trace_config.proto b/protos/perfetto/config/trace_config.proto index 537a603f69c..dccba160b72 100644 --- a/protos/perfetto/config/trace_config.proto +++ b/protos/perfetto/config/trace_config.proto @@ -27,7 +27,7 @@ import "protos/perfetto/config/priority_boost/priority_boost_config.proto"; // It contains the general config for the logging buffer(s) and the configs for // all the data source being enabled. // -// Next id: 42. +// Next id: 43. message TraceConfig { message BufferConfig { optional uint32 size_kb = 1; @@ -763,4 +763,20 @@ message TraceConfig { // Introduced in: perfetto v52. // Supported on: Android 25Q3+. optional uint32 exclusive_prio = 41; + + // If true && |write_into_file|, do NOT flush buffers when periodically write + // them into file. + // + // By default, if |write_into_file| is set, each time we periodically write + // buffers into file, we first issue a Flush() to all data source, forcing + // them to commit their data into the tracing service. This helps us to always + // write latest data to the file. + // + // Before this flag was introduced, the default behavior was NOT to flush + // buffers when periodically write them into file. If true this flag + // returns the old default behavior. + // + // Introduced in: perfetto v53. + // Supported on: Android 25Q4+. + optional bool no_flush_before_write_into_file = 42; } diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 39da36991fa..93d0e2aa536 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -4202,7 +4202,7 @@ message DataSourceConfig { // It contains the general config for the logging buffer(s) and the configs for // all the data source being enabled. // -// Next id: 42. +// Next id: 43. message TraceConfig { message BufferConfig { optional uint32 size_kb = 1; @@ -4938,6 +4938,22 @@ message TraceConfig { // Introduced in: perfetto v52. // Supported on: Android 25Q3+. optional uint32 exclusive_prio = 41; + + // If true && |write_into_file|, do NOT flush buffers when periodically write + // them into file. + // + // By default, if |write_into_file| is set, each time we periodically write + // buffers into file, we first issue a Flush() to all data source, forcing + // them to commit their data into the tracing service. This helps us to always + // write latest data to the file. + // + // Before this flag was introduced, the default behavior was NOT to flush + // buffers when periodically write them into file. If true this flag + // returns the old default behavior. + // + // Introduced in: perfetto v53. + // Supported on: Android 25Q4+. + optional bool no_flush_before_write_into_file = 42; } // End of protos/perfetto/config/trace_config.proto diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 9b6f9ebe634..652d22b0c09 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe0$\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -219,36 +219,36 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=217926 - _BUILTINCLOCK._serialized_end=218241 - _ANDROIDLOGID._serialized_start=218244 - _ANDROIDLOGID._serialized_end=218386 - _ANDROIDLOGPRIORITY._serialized_start=218389 - _ANDROIDLOGPRIORITY._serialized_end=218544 - _PROTOLOGLEVEL._serialized_start=218547 - _PROTOLOGLEVEL._serialized_end=218746 - _ATOMID._serialized_start=218750 - _ATOMID._serialized_end=264917 - _MEMINFOCOUNTERS._serialized_start=264920 - _MEMINFOCOUNTERS._serialized_end=265853 - _VMSTATCOUNTERS._serialized_start=265856 - _VMSTATCOUNTERS._serialized_end=271489 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271492 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271640 - _TRAFFICDIRECTION._serialized_start=271642 - _TRAFFICDIRECTION._serialized_end=271714 - _TRUSTEDOVERLAY._serialized_start=271716 - _TRUSTEDOVERLAY._serialized_end=271770 - _HWCCOMPOSITIONTYPE._serialized_start=271773 - _HWCCOMPOSITIONTYPE._serialized_end=271964 - _FTRACEPARSESTATUS._serialized_start=271967 - _FTRACEPARSESTATUS._serialized_end=272679 - _FTRACECLOCK._serialized_start=272682 - _FTRACECLOCK._serialized_end=272827 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272830 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273518 - _CHROMERAILMODE._serialized_start=273520 - _CHROMERAILMODE._serialized_end=273645 + _BUILTINCLOCK._serialized_start=217967 + _BUILTINCLOCK._serialized_end=218282 + _ANDROIDLOGID._serialized_start=218285 + _ANDROIDLOGID._serialized_end=218427 + _ANDROIDLOGPRIORITY._serialized_start=218430 + _ANDROIDLOGPRIORITY._serialized_end=218585 + _PROTOLOGLEVEL._serialized_start=218588 + _PROTOLOGLEVEL._serialized_end=218787 + _ATOMID._serialized_start=218791 + _ATOMID._serialized_end=264958 + _MEMINFOCOUNTERS._serialized_start=264961 + _MEMINFOCOUNTERS._serialized_end=265894 + _VMSTATCOUNTERS._serialized_start=265897 + _VMSTATCOUNTERS._serialized_end=271530 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271533 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271681 + _TRAFFICDIRECTION._serialized_start=271683 + _TRAFFICDIRECTION._serialized_end=271755 + _TRUSTEDOVERLAY._serialized_start=271757 + _TRUSTEDOVERLAY._serialized_end=271811 + _HWCCOMPOSITIONTYPE._serialized_start=271814 + _HWCCOMPOSITIONTYPE._serialized_end=272005 + _FTRACEPARSESTATUS._serialized_start=272008 + _FTRACEPARSESTATUS._serialized_end=272720 + _FTRACECLOCK._serialized_start=272723 + _FTRACECLOCK._serialized_end=272868 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272871 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273559 + _CHROMERAILMODE._serialized_start=273561 + _CHROMERAILMODE._serialized_end=273686 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 @@ -452,2017 +452,2017 @@ _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_start=20091 _DATASOURCECONFIG_BUFFEREXHAUSTEDPOLICY._serialized_end=20252 _TRACECONFIG._serialized_start=20268 - _TRACECONFIG._serialized_end=24972 - _TRACECONFIG_BUFFERCONFIG._serialized_start=22077 - _TRACECONFIG_BUFFERCONFIG._serialized_end=22311 - _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_start=22240 - _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_end=22299 - _TRACECONFIG_DATASOURCE._serialized_start=22314 - _TRACECONFIG_DATASOURCE._serialized_end=22472 - _TRACECONFIG_BUILTINDATASOURCE._serialized_start=22475 - _TRACECONFIG_BUILTINDATASOURCE._serialized_end=22794 - _TRACECONFIG_PRODUCERCONFIG._serialized_start=22796 - _TRACECONFIG_PRODUCERCONFIG._serialized_end=22878 - _TRACECONFIG_STATSDMETADATA._serialized_start=22881 - _TRACECONFIG_STATSDMETADATA._serialized_end=23023 - _TRACECONFIG_GUARDRAILOVERRIDES._serialized_start=23025 - _TRACECONFIG_GUARDRAILOVERRIDES._serialized_end=23119 - _TRACECONFIG_TRIGGERCONFIG._serialized_start=23122 - _TRACECONFIG_TRIGGERCONFIG._serialized_end=23580 - _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_start=23356 - _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_end=23479 - _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_start=23481 - _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_end=23574 - _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_start=23582 - _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_end=23631 - _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_start=23634 - _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_end=23785 - _TRACECONFIG_TRACEFILTER._serialized_start=23788 - _TRACECONFIG_TRACEFILTER._serialized_end=24385 - _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_start=23932 - _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_end=24086 - _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_start=24088 - _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_end=24181 - _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_start=24184 - _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_end=24385 - _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_start=24388 - _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_end=24539 - _TRACECONFIG_CMDTRACESTARTDELAY._serialized_start=24541 - _TRACECONFIG_CMDTRACESTARTDELAY._serialized_end=24605 - _TRACECONFIG_SESSIONSEMAPHORE._serialized_start=24607 - _TRACECONFIG_SESSIONSEMAPHORE._serialized_end=24672 - _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_start=24674 - _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_end=24759 - _TRACECONFIG_COMPRESSIONTYPE._serialized_start=24761 - _TRACECONFIG_COMPRESSIONTYPE._serialized_end=24842 - _TRACECONFIG_STATSDLOGGING._serialized_start=24844 - _TRACECONFIG_STATSDLOGGING._serialized_end=24948 - _UTSNAME._serialized_start=24974 - _UTSNAME._serialized_end=25051 - _SYSTEMINFO._serialized_start=25054 - _SYSTEMINFO._serialized_end=25504 - _TRACESTATS._serialized_start=25507 - _TRACESTATS._serialized_end=27060 - _TRACESTATS_BUFFERSTATS._serialized_start=26142 - _TRACESTATS_BUFFERSTATS._serialized_end=26664 - _TRACESTATS_WRITERSTATS._serialized_start=26667 - _TRACESTATS_WRITERSTATS._serialized_end=26802 - _TRACESTATS_FILTERSTATS._serialized_start=26805 - _TRACESTATS_FILTERSTATS._serialized_end=26959 - _TRACESTATS_FINALFLUSHOUTCOME._serialized_start=26961 - _TRACESTATS_FINALFLUSHOUTCOME._serialized_end=27060 - _ANDROIDGAMEINTERVENTIONLIST._serialized_start=27063 - _ANDROIDGAMEINTERVENTIONLIST._serialized_end=27462 - _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_start=27220 - _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_end=27310 - _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_start=27313 - _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_end=27462 - _ANDROIDLOGPACKET._serialized_start=27465 - _ANDROIDLOGPACKET._serialized_end=28027 - _ANDROIDLOGPACKET_LOGEVENT._serialized_start=27602 - _ANDROIDLOGPACKET_LOGEVENT._serialized_end=27958 - _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_start=27862 - _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_end=27958 - _ANDROIDLOGPACKET_STATS._serialized_start=27960 - _ANDROIDLOGPACKET_STATS._serialized_end=28027 - _ANDROIDSYSTEMPROPERTY._serialized_start=28030 - _ANDROIDSYSTEMPROPERTY._serialized_end=28169 - _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_start=28125 - _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_end=28169 - _APPWAKELOCKINFO._serialized_start=28171 - _APPWAKELOCKINFO._serialized_end=28285 - _APPWAKELOCKBUNDLE._serialized_start=28288 - _APPWAKELOCKBUNDLE._serialized_end=28420 - _BLUETOOTHTRACEEVENT._serialized_start=28423 - _BLUETOOTHTRACEEVENT._serialized_end=28644 - _ANDROIDCAMERAFRAMEEVENT._serialized_start=28647 - _ANDROIDCAMERAFRAMEEVENT._serialized_end=29545 - _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_start=29234 - _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_end=29367 - _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_start=29370 - _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_end=29545 - _ANDROIDCAMERASESSIONSTATS._serialized_start=29548 - _ANDROIDCAMERASESSIONSTATS._serialized_end=30115 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_start=29669 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_end=30115 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_start=29848 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_end=29966 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_start=29969 - _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_end=30115 - _CPUPERUIDDATA._serialized_start=30117 - _CPUPERUIDDATA._serialized_end=30199 - _FRAMETIMELINEEVENT._serialized_start=30202 - _FRAMETIMELINEEVENT._serialized_end=32843 - _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_start=30695 - _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_end=30815 - _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_start=30818 - _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_end=31466 - _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_start=31468 - _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_end=31539 - _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_start=31542 - _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_end=32084 - _FRAMETIMELINEEVENT_FRAMEEND._serialized_start=32086 - _FRAMETIMELINEEVENT_FRAMEEND._serialized_end=32112 - _FRAMETIMELINEEVENT_JANKTYPE._serialized_start=32115 - _FRAMETIMELINEEVENT_JANKTYPE._serialized_end=32475 - _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_start=32477 - _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_end=32577 - _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_start=32580 - _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_end=32718 - _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_start=32720 - _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_end=32834 - _GPUMEMTOTALEVENT._serialized_start=32845 - _GPUMEMTOTALEVENT._serialized_end=32906 - _GRAPHICSFRAMEEVENT._serialized_start=32909 - _GRAPHICSFRAMEEVENT._serialized_end=33406 - _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_start=33003 - _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_end=33165 - _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_start=33168 - _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_end=33406 - _INITIALDISPLAYSTATE._serialized_start=33408 - _INITIALDISPLAYSTATE._serialized_end=33472 - _KERNELWAKELOCKDATA._serialized_start=33475 - _KERNELWAKELOCKDATA._serialized_end=33853 - _KERNELWAKELOCKDATA_WAKELOCK._serialized_start=33638 - _KERNELWAKELOCKDATA_WAKELOCK._serialized_end=33853 - _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_start=33768 - _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_end=33853 - _NETWORKPACKETEVENT._serialized_start=33856 - _NETWORKPACKETEVENT._serialized_end=34115 - _NETWORKPACKETBUNDLE._serialized_start=34118 - _NETWORKPACKETBUNDLE._serialized_end=34352 - _NETWORKPACKETCONTEXT._serialized_start=34354 - _NETWORKPACKETCONTEXT._serialized_end=34439 - _PACKAGESLIST._serialized_start=34442 - _PACKAGESLIST._serialized_end=34674 - _PACKAGESLIST_PACKAGEINFO._serialized_start=34560 - _PACKAGESLIST_PACKAGEINFO._serialized_end=34674 - _PIXELMODEMEVENTS._serialized_start=34676 - _PIXELMODEMEVENTS._serialized_end=34736 - _PIXELMODEMTOKENDATABASE._serialized_start=34738 - _PIXELMODEMTOKENDATABASE._serialized_end=34781 - _PROTOLOGMESSAGE._serialized_start=34784 - _PROTOLOGMESSAGE._serialized_end=34939 - _PROTOLOGVIEWERCONFIG._serialized_start=34942 - _PROTOLOGVIEWERCONFIG._serialized_end=35278 - _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_start=35097 - _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_end=35230 - _PROTOLOGVIEWERCONFIG_GROUP._serialized_start=35232 - _PROTOLOGVIEWERCONFIG_GROUP._serialized_end=35278 - _SHELLTRANSITION._serialized_start=35281 - _SHELLTRANSITION._serialized_end=35818 - _SHELLTRANSITION_TARGET._serialized_start=35744 - _SHELLTRANSITION_TARGET._serialized_end=35818 - _SHELLHANDLERMAPPINGS._serialized_start=35820 - _SHELLHANDLERMAPPINGS._serialized_end=35897 - _SHELLHANDLERMAPPING._serialized_start=35899 - _SHELLHANDLERMAPPING._serialized_end=35946 - _RECTPROTO._serialized_start=35948 - _RECTPROTO._serialized_end=36017 - _REGIONPROTO._serialized_start=36019 - _REGIONPROTO._serialized_end=36080 - _SIZEPROTO._serialized_start=36082 - _SIZEPROTO._serialized_end=36115 - _TRANSFORMPROTO._serialized_start=36117 - _TRANSFORMPROTO._serialized_end=36203 - _COLORPROTO._serialized_start=36205 - _COLORPROTO._serialized_end=36261 - _INPUTWINDOWINFOPROTO._serialized_start=36264 - _INPUTWINDOWINFOPROTO._serialized_end=36839 - _BLURREGION._serialized_start=36842 - _BLURREGION._serialized_end=37052 - _COLORTRANSFORMPROTO._serialized_start=37054 - _COLORTRANSFORMPROTO._serialized_end=37092 - _BOXSHADOWSETTINGS._serialized_start=37095 - _BOXSHADOWSETTINGS._serialized_end=37301 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37189 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37301 - _BORDERSETTINGS._serialized_start=37303 - _BORDERSETTINGS._serialized_end=37356 - _LAYERSTRACEFILEPROTO._serialized_start=37359 - _LAYERSTRACEFILEPROTO._serialized_end=37575 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37501 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37575 - _LAYERSSNAPSHOTPROTO._serialized_start=37578 - _LAYERSSNAPSHOTPROTO._serialized_end=37837 - _LAYERSPROTO._serialized_start=37839 - _LAYERSPROTO._serialized_end=37897 - _DISPLAYPROTO._serialized_start=37900 - _DISPLAYPROTO._serialized_end=38165 - _LAYERPROTO._serialized_start=38168 - _LAYERPROTO._serialized_end=40871 - _LAYERPROTO_METADATAENTRY._serialized_start=40824 - _LAYERPROTO_METADATAENTRY._serialized_end=40871 - _POSITIONPROTO._serialized_start=40873 - _POSITIONPROTO._serialized_end=40910 - _FLOATRECTPROTO._serialized_start=40912 - _FLOATRECTPROTO._serialized_end=40986 - _CORNERRADIIPROTO._serialized_start=40988 - _CORNERRADIIPROTO._serialized_end=41054 - _ACTIVEBUFFERPROTO._serialized_start=41056 - _ACTIVEBUFFERPROTO._serialized_end=41153 - _BARRIERLAYERPROTO._serialized_start=41155 - _BARRIERLAYERPROTO._serialized_end=41208 - _TRANSACTIONTRACEFILE._serialized_start=41211 - _TRANSACTIONTRACEFILE._serialized_end=41446 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41372 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41446 - _TRANSACTIONTRACEENTRY._serialized_start=41449 - _TRANSACTIONTRACEENTRY._serialized_end=41851 - _DISPLAYINFO._serialized_start=41854 - _DISPLAYINFO._serialized_end=42188 - _LAYERCREATIONARGS._serialized_start=42191 - _LAYERCREATIONARGS._serialized_end=42352 - _TRANSFORM._serialized_start=42354 - _TRANSFORM._serialized_end=42445 - _TRANSACTIONBARRIER._serialized_start=42447 - _TRANSACTIONBARRIER._serialized_end=42504 - _TRANSACTIONSTATE._serialized_start=42507 - _TRANSACTIONSTATE._serialized_end=42864 - _LAYERSTATE._serialized_start=42867 - _LAYERSTATE._serialized_end=47559 - _LAYERSTATE_MATRIX22._serialized_start=44578 - _LAYERSTATE_MATRIX22._serialized_end=44644 - _LAYERSTATE_CORNERRADII._serialized_start=44646 - _LAYERSTATE_CORNERRADII._serialized_end=44707 - _LAYERSTATE_COLOR3._serialized_start=44709 - _LAYERSTATE_COLOR3._serialized_end=44750 - _LAYERSTATE_BUFFERDATA._serialized_start=44753 - _LAYERSTATE_BUFFERDATA._serialized_end=45541 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=44969 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45080 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45083 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45541 - _LAYERSTATE_WINDOWINFO._serialized_start=45544 - _LAYERSTATE_WINDOWINFO._serialized_end=45958 - _LAYERSTATE_CHANGESLSB._serialized_start=45961 - _LAYERSTATE_CHANGESLSB._serialized_end=46721 - _LAYERSTATE_CHANGESMSB._serialized_start=46724 - _LAYERSTATE_CHANGESMSB._serialized_end=47344 - _LAYERSTATE_FLAGS._serialized_start=47347 - _LAYERSTATE_FLAGS._serialized_end=47509 - _LAYERSTATE_DROPINPUTMODE._serialized_start=47511 - _LAYERSTATE_DROPINPUTMODE._serialized_end=47559 - _DISPLAYSTATE._serialized_start=47562 - _DISPLAYSTATE._serialized_end=47965 - _DISPLAYSTATE_CHANGES._serialized_start=47818 - _DISPLAYSTATE_CHANGES._serialized_end=47965 - _WINSCOPEEXTENSIONS._serialized_start=47967 - _WINSCOPEEXTENSIONS._serialized_end=47993 - _CHROMEBENCHMARKMETADATA._serialized_start=47996 - _CHROMEBENCHMARKMETADATA._serialized_end=48238 - _CHROMEMETADATAPACKET._serialized_start=48241 - _CHROMEMETADATAPACKET._serialized_end=48520 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48480 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48520 - _BACKGROUNDTRACINGMETADATA._serialized_start=48523 - _BACKGROUNDTRACINGMETADATA._serialized_end=49568 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48739 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49568 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49043 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49149 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49152 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49430 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49297 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49430 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49433 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49568 - _CHROMETRACEDVALUE._serialized_start=49571 - _CHROMETRACEDVALUE._serialized_end=49910 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49877 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49910 - _CHROMESTRINGTABLEENTRY._serialized_start=49912 - _CHROMESTRINGTABLEENTRY._serialized_end=49966 - _CHROMETRACEEVENT._serialized_start=49969 - _CHROMETRACEEVENT._serialized_end=50610 - _CHROMETRACEEVENT_ARG._serialized_start=50342 - _CHROMETRACEEVENT_ARG._serialized_end=50610 - _CHROMEMETADATA._serialized_start=50613 - _CHROMEMETADATA._serialized_end=50741 - _CHROMELEGACYJSONTRACE._serialized_start=50744 - _CHROMELEGACYJSONTRACE._serialized_end=50892 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50847 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50892 - _CHROMEEVENTBUNDLE._serialized_start=50895 - _CHROMEEVENTBUNDLE._serialized_end=51190 - _CHROMETRIGGER._serialized_start=51192 - _CHROMETRIGGER._serialized_end=51273 - _V8STRING._serialized_start=51275 - _V8STRING._serialized_end=51361 - _INTERNEDV8STRING._serialized_start=51363 - _INTERNEDV8STRING._serialized_end=51470 - _INTERNEDV8JSSCRIPT._serialized_start=51473 - _INTERNEDV8JSSCRIPT._serialized_end=51798 - _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51668 - _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51798 - _INTERNEDV8WASMSCRIPT._serialized_start=51800 - _INTERNEDV8WASMSCRIPT._serialized_end=51887 - _INTERNEDV8JSFUNCTION._serialized_start=51890 - _INTERNEDV8JSFUNCTION._serialized_end=52999 - _INTERNEDV8JSFUNCTION_KIND._serialized_start=52117 - _INTERNEDV8JSFUNCTION_KIND._serialized_end=52999 - _INTERNEDV8ISOLATE._serialized_start=53002 - _INTERNEDV8ISOLATE._serialized_end=53329 - _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53210 - _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53329 - _V8JSCODE._serialized_start=53332 - _V8JSCODE._serialized_end=53694 - _V8JSCODE_TIER._serialized_start=53558 - _V8JSCODE_TIER._serialized_end=53678 - _V8INTERNALCODE._serialized_start=53697 - _V8INTERNALCODE._serialized_end=54178 - _V8INTERNALCODE_TYPE._serialized_start=53920 - _V8INTERNALCODE_TYPE._serialized_end=54178 - _V8WASMCODE._serialized_start=54181 - _V8WASMCODE._serialized_end=54504 - _V8WASMCODE_TIER._serialized_start=54443 - _V8WASMCODE_TIER._serialized_end=54504 - _V8REGEXPCODE._serialized_start=54507 - _V8REGEXPCODE._serialized_end=54683 - _V8CODEMOVE._serialized_start=54686 - _V8CODEMOVE._serialized_end=54911 - _V8CODEDEFAULTS._serialized_start=54913 - _V8CODEDEFAULTS._serialized_end=54942 - _CLOCKSNAPSHOT._serialized_start=54945 - _CLOCKSNAPSHOT._serialized_end=55347 - _CLOCKSNAPSHOT_CLOCK._serialized_start=55077 - _CLOCKSNAPSHOT_CLOCK._serialized_end=55347 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55176 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55347 - _CSWITCHETWEVENT._serialized_start=55350 - _CSWITCHETWEVENT._serialized_end=56968 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55926 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56671 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56673 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56724 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56727 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56862 - _READYTHREADETWEVENT._serialized_start=56971 - _READYTHREADETWEVENT._serialized_end=57491 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57230 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57318 - _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57320 - _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57442 - _MEMINFOETWEVENT._serialized_start=57494 - _MEMINFOETWEVENT._serialized_end=57894 - _FILEIOCREATEETWEVENT._serialized_start=57897 - _FILEIOCREATEETWEVENT._serialized_end=58061 - _FILEIODIRENUMETWEVENT._serialized_start=58064 - _FILEIODIRENUMETWEVENT._serialized_end=58232 - _FILEIOINFOETWEVENT._serialized_start=58235 - _FILEIOINFOETWEVENT._serialized_end=58365 - _FILEIOREADWRITEETWEVENT._serialized_start=58368 - _FILEIOREADWRITEETWEVENT._serialized_end=58514 - _FILEIOSIMPLEOPETWEVENT._serialized_start=58516 - _FILEIOSIMPLEOPETWEVENT._serialized_end=58610 - _FILEIOOPENDETWEVENT._serialized_start=58612 - _FILEIOOPENDETWEVENT._serialized_end=58689 - _ETWTRACEEVENT._serialized_start=58692 - _ETWTRACEEVENT._serialized_end=59337 - _ETWTRACEEVENTBUNDLE._serialized_start=59339 - _ETWTRACEEVENTBUNDLE._serialized_end=59420 - _EVDEVEVENT._serialized_start=59423 - _EVDEVEVENT._serialized_end=59609 - _EVDEVEVENT_INPUTEVENT._serialized_start=59519 - _EVDEVEVENT_INPUTEVENT._serialized_end=59600 - _FILEDESCRIPTORSET._serialized_start=59611 - _FILEDESCRIPTORSET._serialized_end=59682 - _FILEDESCRIPTORPROTO._serialized_start=59685 - _FILEDESCRIPTORPROTO._serialized_end=60004 - _DESCRIPTORPROTO._serialized_start=60007 - _DESCRIPTORPROTO._serialized_end=60473 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60418 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60461 - _UNINTERPRETEDOPTION._serialized_start=60476 - _UNINTERPRETEDOPTION._serialized_end=60762 - _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60711 - _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60762 - _FIELDOPTIONS._serialized_start=60764 - _FIELDOPTIONS._serialized_end=60863 - _FIELDDESCRIPTORPROTO._serialized_start=60866 - _FIELDDESCRIPTORPROTO._serialized_end=61553 - _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61168 - _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61478 - _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61480 - _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61547 - _ONEOFDESCRIPTORPROTO._serialized_start=61555 - _ONEOFDESCRIPTORPROTO._serialized_end=61639 - _ENUMDESCRIPTORPROTO._serialized_start=61642 - _ENUMDESCRIPTORPROTO._serialized_end=61770 - _ENUMVALUEDESCRIPTORPROTO._serialized_start=61772 - _ENUMVALUEDESCRIPTORPROTO._serialized_end=61834 - _ONEOFOPTIONS._serialized_start=61836 - _ONEOFOPTIONS._serialized_end=61869 - _EXTENSIONDESCRIPTOR._serialized_start=61871 - _EXTENSIONDESCRIPTOR._serialized_end=61951 - _INODEFILEMAP._serialized_start=61954 - _INODEFILEMAP._serialized_end=62218 - _INODEFILEMAP_ENTRY._serialized_start=62072 - _INODEFILEMAP_ENTRY._serialized_end=62218 - _INODEFILEMAP_ENTRY_TYPE._serialized_start=62174 - _INODEFILEMAP_ENTRY_TYPE._serialized_end=62218 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62220 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62297 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62300 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62442 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62444 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62522 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62525 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62668 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62670 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62744 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62746 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62854 - _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62857 - _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63046 - _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63049 - _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63198 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63200 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63256 - _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63258 - _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63376 - _BINDERLOCKFTRACEEVENT._serialized_start=63378 - _BINDERLOCKFTRACEEVENT._serialized_end=63414 - _BINDERLOCKEDFTRACEEVENT._serialized_start=63416 - _BINDERLOCKEDFTRACEEVENT._serialized_end=63454 - _BINDERUNLOCKFTRACEEVENT._serialized_start=63456 - _BINDERUNLOCKFTRACEEVENT._serialized_end=63494 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63496 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63621 - _BINDERCOMMANDFTRACEEVENT._serialized_start=63623 - _BINDERCOMMANDFTRACEEVENT._serialized_end=63662 - _BINDERRETURNFTRACEEVENT._serialized_start=63664 - _BINDERRETURNFTRACEEVENT._serialized_end=63702 - _BLOCKRQISSUEFTRACEEVENT._serialized_start=63705 - _BLOCKRQISSUEFTRACEEVENT._serialized_end=63834 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63836 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=63942 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=63944 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64047 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64049 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64155 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64157 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64264 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64266 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64368 - _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64370 - _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64495 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64497 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64569 - _BLOCKGETRQFTRACEEVENT._serialized_start=64571 - _BLOCKGETRQFTRACEEVENT._serialized_end=64670 - _BLOCKPLUGFTRACEEVENT._serialized_start=64672 - _BLOCKPLUGFTRACEEVENT._serialized_end=64708 - _BLOCKRQABORTFTRACEEVENT._serialized_start=64710 - _BLOCKRQABORTFTRACEEVENT._serialized_end=64826 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64829 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=64963 - _BLOCKRQINSERTFTRACEEVENT._serialized_start=64966 - _BLOCKRQINSERTFTRACEEVENT._serialized_end=65096 - _BLOCKRQREMAPFTRACEEVENT._serialized_start=65099 - _BLOCKRQREMAPFTRACEEVENT._serialized_end=65240 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65242 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65360 - _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65362 - _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65463 - _BLOCKSPLITFTRACEEVENT._serialized_start=65465 - _BLOCKSPLITFTRACEEVENT._serialized_end=65565 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65567 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65639 - _BLOCKUNPLUGFTRACEEVENT._serialized_start=65641 - _BLOCKUNPLUGFTRACEEVENT._serialized_end=65694 - _BLOCKIOSTARTFTRACEEVENT._serialized_start=65697 - _BLOCKIOSTARTFTRACEEVENT._serialized_end=65842 - _BLOCKIODONEFTRACEEVENT._serialized_start=65845 - _BLOCKIODONEFTRACEEVENT._serialized_end=65989 - _CGROUPATTACHTASKFTRACEEVENT._serialized_start=65992 - _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66134 - _CGROUPMKDIRFTRACEEVENT._serialized_start=66136 - _CGROUPMKDIRFTRACEEVENT._serialized_end=66230 - _CGROUPREMOUNTFTRACEEVENT._serialized_start=66232 - _CGROUPREMOUNTFTRACEEVENT._serialized_end=66303 - _CGROUPRMDIRFTRACEEVENT._serialized_start=66305 - _CGROUPRMDIRFTRACEEVENT._serialized_end=66399 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66402 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66547 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66549 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66624 - _CGROUPRELEASEFTRACEEVENT._serialized_start=66626 - _CGROUPRELEASEFTRACEEVENT._serialized_end=66722 - _CGROUPRENAMEFTRACEEVENT._serialized_start=66724 - _CGROUPRENAMEFTRACEEVENT._serialized_end=66819 - _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66821 - _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66894 - _CLKENABLEFTRACEEVENT._serialized_start=66896 - _CLKENABLEFTRACEEVENT._serialized_end=66932 - _CLKDISABLEFTRACEEVENT._serialized_start=66934 - _CLKDISABLEFTRACEEVENT._serialized_end=66971 - _CLKSETRATEFTRACEEVENT._serialized_start=66973 - _CLKSETRATEFTRACEEVENT._serialized_end=67024 - _CMAALLOCSTARTFTRACEEVENT._serialized_start=67026 - _CMAALLOCSTARTFTRACEEVENT._serialized_end=67096 - _CMAALLOCINFOFTRACEEVENT._serialized_start=67099 - _CMAALLOCINFOFTRACEEVENT._serialized_end=67295 - _CMAALLOCFINISHFTRACEEVENT._serialized_start=67297 - _CMAALLOCFINISHFTRACEEVENT._serialized_end=67412 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67414 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67535 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67538 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67682 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67685 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67822 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67825 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=67964 - _MMCOMPACTIONENDFTRACEEVENT._serialized_start=67967 - _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68102 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68104 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68191 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68193 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68308 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68310 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68428 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68430 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68482 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68484 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68598 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68600 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68677 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68679 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68766 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68768 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68871 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68873 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=68989 - _PARAMSETVALUECPMFTRACEEVENT._serialized_start=68991 - _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69068 - _CPUHPEXITFTRACEEVENT._serialized_start=69070 - _CPUHPEXITFTRACEEVENT._serialized_end=69146 - _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69148 - _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69231 - _CPUHPENTERFTRACEEVENT._serialized_start=69233 - _CPUHPENTERFTRACEEVENT._serialized_end=69311 - _CPUHPLATENCYFTRACEEVENT._serialized_start=69313 - _CPUHPLATENCYFTRACEEVENT._serialized_end=69393 - _CPUHPPAUSEFTRACEEVENT._serialized_start=69395 - _CPUHPPAUSEFTRACEEVENT._serialized_end=69482 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69485 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69655 - _DCVSHFREQFTRACEEVENT._serialized_start=69657 - _DCVSHFREQFTRACEEVENT._serialized_end=69706 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69708 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69827 - _DMAFENCEINITFTRACEEVENT._serialized_start=69829 - _DMAFENCEINITFTRACEEVENT._serialized_end=69920 - _DMAFENCEEMITFTRACEEVENT._serialized_start=69922 - _DMAFENCEEMITFTRACEEVENT._serialized_end=70013 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70015 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70110 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70112 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70208 - _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70210 - _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70304 - _DMAHEAPSTATFTRACEEVENT._serialized_start=70306 - _DMAHEAPSTATFTRACEEVENT._serialized_end=70383 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70386 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70515 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70517 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70582 - _DPUDSIRXFTRACEEVENT._serialized_start=70584 - _DPUDSIRXFTRACEEVENT._serialized_end=70634 - _DPUDSITXFTRACEEVENT._serialized_start=70636 - _DPUDSITXFTRACEEVENT._serialized_end=70719 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70721 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70809 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70811 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70893 - _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70895 - _DRMVBLANKEVENTFTRACEEVENT._serialized_end=70982 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=70984 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71061 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71064 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71226 - _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71229 - _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71421 - _DWC3CTRLREQFTRACEEVENT._serialized_start=71423 - _DWC3CTRLREQFTRACEEVENT._serialized_end=71549 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71552 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71711 - _DWC3EPQUEUEFTRACEEVENT._serialized_start=71714 - _DWC3EPQUEUEFTRACEEVENT._serialized_end=71871 - _DWC3EVENTFTRACEEVENT._serialized_start=71873 - _DWC3EVENTFTRACEEVENT._serialized_end=71941 - _DWC3FREEREQUESTFTRACEEVENT._serialized_start=71944 - _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72105 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72107 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72230 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72233 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72438 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72441 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72645 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72647 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72724 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72727 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72891 - _DWC3PREPARETRBFTRACEEVENT._serialized_start=72894 - _DWC3PREPARETRBFTRACEEVENT._serialized_end=73085 - _DWC3READLFTRACEEVENT._serialized_start=73087 - _DWC3READLFTRACEEVENT._serialized_end=73167 - _DWC3WRITELFTRACEEVENT._serialized_start=73169 - _DWC3WRITELFTRACEEVENT._serialized_end=73250 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73252 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73348 - _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73350 - _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73445 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73447 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73537 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73539 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73607 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73609 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73707 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73710 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73903 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73905 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=73988 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=73990 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74071 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74073 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74158 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74161 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74363 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74366 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74534 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74537 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74765 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74768 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=74975 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=74977 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75080 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75082 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75176 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75178 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75284 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75286 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75357 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75359 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75452 - _EXT4DROPINODEFTRACEEVENT._serialized_start=75454 - _EXT4DROPINODEFTRACEEVENT._serialized_end=75520 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75522 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75635 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75637 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75723 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75726 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75854 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75856 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=75970 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=75972 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76048 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76051 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76184 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76186 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76270 - _EXT4ESSHRINKFTRACEEVENT._serialized_start=76272 - _EXT4ESSHRINKFTRACEEVENT._serialized_end=76385 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76387 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76469 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76471 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76557 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76559 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76643 - _EXT4EVICTINODEFTRACEEVENT._serialized_start=76645 - _EXT4EVICTINODEFTRACEEVENT._serialized_end=76713 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76716 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76865 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76868 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77067 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77070 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77229 - _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77231 - _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77311 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77313 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77397 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77399 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77501 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77504 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77648 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77650 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77748 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77750 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77850 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77853 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78046 - _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78048 - _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78113 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78116 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78302 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78304 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78401 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78403 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78516 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78518 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78616 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78619 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78756 - _EXT4FORGETFTRACEEVENT._serialized_start=78758 - _EXT4FORGETFTRACEEVENT._serialized_end=78857 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78859 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=78971 - _EXT4FREEINODEFTRACEEVENT._serialized_start=78973 - _EXT4FREEINODEFTRACEEVENT._serialized_end=79081 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79083 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79208 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79210 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79303 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79305 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79407 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79410 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79554 - _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79556 - _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79639 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79641 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79745 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79748 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79877 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79879 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=79957 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=79959 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80073 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80075 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80178 - _EXT4LOADINODEFTRACEEVENT._serialized_start=80180 - _EXT4LOADINODEFTRACEEVENT._serialized_end=80232 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80234 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80294 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80296 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80365 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80367 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80424 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80426 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80488 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80490 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80559 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80561 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80670 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80672 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80781 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80783 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80864 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80866 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=80955 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=80958 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81348 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81350 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81471 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81473 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81591 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81594 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81820 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81822 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=81943 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=81945 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82040 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82042 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82124 - _EXT4READPAGEFTRACEEVENT._serialized_start=82126 - _EXT4READPAGEFTRACEEVENT._serialized_end=82192 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82194 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82263 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82266 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82466 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82469 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82646 - _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82648 - _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82717 - _EXT4SYNCFSFTRACEEVENT._serialized_start=82719 - _EXT4SYNCFSFTRACEEVENT._serialized_end=82769 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82771 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82880 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82882 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=82990 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=82992 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83064 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83066 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83137 - _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83139 - _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83223 - _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83225 - _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83291 - _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83293 - _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83387 - _EXT4WRITEENDFTRACEEVENT._serialized_start=83389 - _EXT4WRITEENDFTRACEEVENT._serialized_end=83482 - _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83484 - _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83551 - _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83554 - _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83778 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83781 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=83943 - _EXT4ZERORANGEFTRACEEVENT._serialized_start=83945 - _EXT4ZERORANGEFTRACEEVENT._serialized_end=84040 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84042 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84142 - _F2FSEVICTINODEFTRACEEVENT._serialized_start=84145 - _F2FSEVICTINODEFTRACEEVENT._serialized_end=84287 - _F2FSFALLOCATEFTRACEEVENT._serialized_start=84290 - _F2FSFALLOCATEFTRACEEVENT._serialized_end=84428 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84430 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84549 - _F2FSGETVICTIMFTRACEEVENT._serialized_start=84552 - _F2FSGETVICTIMFTRACEEVENT._serialized_end=84758 - _F2FSIGETFTRACEEVENT._serialized_start=84761 - _F2FSIGETFTRACEEVENT._serialized_end=84897 - _F2FSIGETEXITFTRACEEVENT._serialized_start=84899 - _F2FSIGETEXITFTRACEEVENT._serialized_end=84963 - _F2FSNEWINODEFTRACEEVENT._serialized_start=84965 - _F2FSNEWINODEFTRACEEVENT._serialized_end=85029 - _F2FSREADPAGEFTRACEEVENT._serialized_start=85032 - _F2FSREADPAGEFTRACEEVENT._serialized_end=85175 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85177 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85256 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85259 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85389 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85391 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85493 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85496 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85641 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85643 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85765 - _F2FSSYNCFSFTRACEEVENT._serialized_start=85767 - _F2FSSYNCFSFTRACEEVENT._serialized_end=85832 - _F2FSTRUNCATEFTRACEEVENT._serialized_start=85835 - _F2FSTRUNCATEFTRACEEVENT._serialized_end=85975 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=85977 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86083 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86085 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86159 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86161 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86267 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86269 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86380 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86382 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86461 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86463 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86549 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86551 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86643 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86645 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86718 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86720 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86824 - _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86826 - _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86924 - _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86926 - _F2FSUNLINKEXITFTRACEEVENT._serialized_end=86992 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=86995 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87126 - _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87128 - _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87222 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87224 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87317 - _F2FSWRITEENDFTRACEEVENT._serialized_start=87319 - _F2FSWRITEENDFTRACEEVENT._serialized_end=87412 - _F2FSIOSTATFTRACEEVENT._serialized_start=87415 - _F2FSIOSTATFTRACEEVENT._serialized_end=87840 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87843 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88426 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88428 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88518 - _F2FSGCBEGINFTRACEEVENT._serialized_start=88521 - _F2FSGCBEGINFTRACEEVENT._serialized_end=88791 - _F2FSGCENDFTRACEEVENT._serialized_start=88794 - _F2FSGCENDFTRACEEVENT._serialized_end=89022 - _FASTRPCDMASTATFTRACEEVENT._serialized_start=89024 - _FASTRPCDMASTATFTRACEEVENT._serialized_end=89102 - _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89104 - _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89172 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89174 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89273 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89275 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89344 - _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89346 - _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89468 - _FENCEINITFTRACEEVENT._serialized_start=89470 - _FENCEINITFTRACEEVENT._serialized_end=89558 - _FENCEDESTROYFTRACEEVENT._serialized_start=89560 - _FENCEDESTROYFTRACEEVENT._serialized_end=89651 - _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89653 - _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89749 - _FENCESIGNALEDFTRACEEVENT._serialized_start=89751 - _FENCESIGNALEDFTRACEEVENT._serialized_end=89843 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89845 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=89953 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=89955 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90068 - _DOSYSOPENFTRACEEVENT._serialized_start=90070 - _DOSYSOPENFTRACEEVENT._serialized_end=90139 - _OPENEXECFTRACEEVENT._serialized_start=90141 - _OPENEXECFTRACEEVENT._serialized_end=90180 - _PRINTFTRACEEVENT._serialized_start=90182 - _PRINTFTRACEEVENT._serialized_end=90225 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90227 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90283 - _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90285 - _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90392 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90394 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90482 - _GENERICFTRACEEVENT._serialized_start=90485 - _GENERICFTRACEEVENT._serialized_end=90679 - _GENERICFTRACEEVENT_FIELD._serialized_start=90585 - _GENERICFTRACEEVENT_FIELD._serialized_end=90679 - _KPROBEEVENT._serialized_start=90682 - _KPROBEEVENT._serialized_end=90872 - _KPROBEEVENT_KPROBETYPE._serialized_start=90766 - _KPROBEEVENT_KPROBETYPE._serialized_end=90872 - _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90874 - _GOOGLEICCEVENTFTRACEEVENT._serialized_end=90935 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=90937 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=90998 - _GPUMEMTOTALFTRACEEVENT._serialized_start=91000 - _GPUMEMTOTALFTRACEEVENT._serialized_end=91067 - _DRMSCHEDJOBFTRACEEVENT._serialized_start=91069 - _DRMSCHEDJOBFTRACEEVENT._serialized_end=91191 - _DRMRUNJOBFTRACEEVENT._serialized_start=91193 - _DRMRUNJOBFTRACEEVENT._serialized_end=91313 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91315 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91361 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91363 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91465 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91467 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91539 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91542 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91702 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91705 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91863 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91865 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=91974 - _HYPENTERFTRACEEVENT._serialized_start=91976 - _HYPENTERFTRACEEVENT._serialized_end=91997 - _HYPEXITFTRACEEVENT._serialized_start=91999 - _HYPEXITFTRACEEVENT._serialized_end=92019 - _HOSTHCALLFTRACEEVENT._serialized_start=92021 - _HOSTHCALLFTRACEEVENT._serialized_end=92072 - _HOSTSMCFTRACEEVENT._serialized_start=92074 - _HOSTSMCFTRACEEVENT._serialized_end=92125 - _HOSTMEMABORTFTRACEEVENT._serialized_start=92127 - _HOSTMEMABORTFTRACEEVENT._serialized_end=92179 - _HOSTFFACALLFTRACEEVENT._serialized_start=92182 - _HOSTFFACALLFTRACEEVENT._serialized_end=92317 - _IOMMUIDMAPFTRACEEVENT._serialized_start=92319 - _IOMMUIDMAPFTRACEEVENT._serialized_end=92382 - _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92384 - _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92439 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92441 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92502 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92504 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92565 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92567 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92597 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92599 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92672 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92674 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92739 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92741 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92803 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92805 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92836 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92838 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92892 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92894 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=92945 - _I2CREADFTRACEEVENT._serialized_start=92947 - _I2CREADFTRACEEVENT._serialized_end=93045 - _I2CWRITEFTRACEEVENT._serialized_start=93047 - _I2CWRITEFTRACEEVENT._serialized_end=93159 - _I2CRESULTFTRACEEVENT._serialized_start=93161 - _I2CRESULTFTRACEEVENT._serialized_end=93233 - _I2CREPLYFTRACEEVENT._serialized_start=93235 - _I2CREPLYFTRACEEVENT._serialized_end=93347 - _SMBUSREADFTRACEEVENT._serialized_start=93349 - _SMBUSREADFTRACEEVENT._serialized_end=93455 - _SMBUSWRITEFTRACEEVENT._serialized_start=93457 - _SMBUSWRITEFTRACEEVENT._serialized_end=93577 - _SMBUSRESULTFTRACEEVENT._serialized_start=93580 - _SMBUSRESULTFTRACEEVENT._serialized_end=93721 - _SMBUSREPLYFTRACEEVENT._serialized_start=93723 - _SMBUSREPLYFTRACEEVENT._serialized_end=93843 - _IONSTATFTRACEEVENT._serialized_start=93845 - _IONSTATFTRACEEVENT._serialized_end=93922 - _IPIENTRYFTRACEEVENT._serialized_start=93924 - _IPIENTRYFTRACEEVENT._serialized_end=93961 - _IPIEXITFTRACEEVENT._serialized_start=93963 - _IPIEXITFTRACEEVENT._serialized_end=93999 - _IPIRAISEFTRACEEVENT._serialized_start=94001 - _IPIRAISEFTRACEEVENT._serialized_end=94059 - _SOFTIRQENTRYFTRACEEVENT._serialized_start=94061 - _SOFTIRQENTRYFTRACEEVENT._serialized_end=94099 - _SOFTIRQEXITFTRACEEVENT._serialized_start=94101 - _SOFTIRQEXITFTRACEEVENT._serialized_end=94138 - _SOFTIRQRAISEFTRACEEVENT._serialized_start=94140 - _SOFTIRQRAISEFTRACEEVENT._serialized_end=94178 - _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94180 - _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94252 - _IRQHANDLEREXITFTRACEEVENT._serialized_start=94254 - _IRQHANDLEREXITFTRACEEVENT._serialized_end=94307 - _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94309 - _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94353 - _LOCALTIMEREXITFTRACEEVENT._serialized_start=94355 - _LOCALTIMEREXITFTRACEEVENT._serialized_end=94398 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94400 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94463 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94465 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94578 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94581 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94830 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94832 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94927 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94930 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95271 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95273 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95338 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95340 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95406 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95408 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95475 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95477 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95540 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95542 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95606 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95608 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95673 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95675 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95726 - _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95728 - _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95811 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95813 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95915 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95917 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96021 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96023 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96135 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96138 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96266 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96269 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96401 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96403 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96517 - _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96519 - _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96562 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96564 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96659 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96661 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96758 - _IONPREFETCHINGFTRACEEVENT._serialized_start=96760 - _IONPREFETCHINGFTRACEEVENT._serialized_end=96800 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96802 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96893 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96895 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=96988 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=96990 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97088 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97090 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97190 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97192 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97274 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97276 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97360 - _KFREEFTRACEEVENT._serialized_start=97362 - _KFREEFTRACEEVENT._serialized_end=97412 - _KMALLOCFTRACEEVENT._serialized_start=97414 - _KMALLOCFTRACEEVENT._serialized_end=97525 - _KMALLOCNODEFTRACEEVENT._serialized_start=97528 - _KMALLOCNODEFTRACEEVENT._serialized_end=97657 - _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97659 - _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97777 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97780 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97916 - _KMEMCACHEFREEFTRACEEVENT._serialized_start=97918 - _KMEMCACHEFREEFTRACEEVENT._serialized_end=97976 - _MIGRATEPAGESENDFTRACEEVENT._serialized_start=97978 - _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98020 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98022 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98066 - _MIGRATERETRYFTRACEEVENT._serialized_start=98068 - _MIGRATERETRYFTRACEEVENT._serialized_end=98108 - _MMPAGEALLOCFTRACEEVENT._serialized_start=98110 - _MMPAGEALLOCFTRACEEVENT._serialized_end=98216 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98219 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98405 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98407 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98504 - _MMPAGEFREEFTRACEEVENT._serialized_start=98506 - _MMPAGEFREEFTRACEEVENT._serialized_end=98571 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98573 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98644 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98646 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98737 - _RSSSTATFTRACEEVENT._serialized_start=98739 - _RSSSTATFTRACEEVENT._serialized_end=98818 - _IONHEAPSHRINKFTRACEEVENT._serialized_start=98820 - _IONHEAPSHRINKFTRACEEVENT._serialized_end=98903 - _IONHEAPGROWFTRACEEVENT._serialized_start=98905 - _IONHEAPGROWFTRACEEVENT._serialized_end=98986 - _IONBUFFERCREATEFTRACEEVENT._serialized_start=98988 - _IONBUFFERCREATEFTRACEEVENT._serialized_end=99043 - _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99045 - _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99101 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99104 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99257 - _DMABUFRSSSTATFTRACEEVENT._serialized_start=99259 - _DMABUFRSSSTATFTRACEEVENT._serialized_end=99332 - _KVMACCESSFAULTFTRACEEVENT._serialized_start=99334 - _KVMACCESSFAULTFTRACEEVENT._serialized_end=99374 - _KVMACKIRQFTRACEEVENT._serialized_start=99376 - _KVMACKIRQFTRACEEVENT._serialized_end=99428 - _KVMAGEHVAFTRACEEVENT._serialized_start=99430 - _KVMAGEHVAFTRACEEVENT._serialized_end=99480 - _KVMAGEPAGEFTRACEEVENT._serialized_start=99482 - _KVMAGEPAGEFTRACEEVENT._serialized_end=99566 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99568 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99618 - _KVMARMSETDREG32FTRACEEVENT._serialized_start=99620 - _KVMARMSETDREG32FTRACEEVENT._serialized_end=99677 - _KVMARMSETREGSETFTRACEEVENT._serialized_start=99679 - _KVMARMSETREGSETFTRACEEVENT._serialized_end=99734 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99736 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99800 - _KVMENTRYFTRACEEVENT._serialized_start=99802 - _KVMENTRYFTRACEEVENT._serialized_end=99840 - _KVMEXITFTRACEEVENT._serialized_start=99842 - _KVMEXITFTRACEEVENT._serialized_end=99908 - _KVMFPUFTRACEEVENT._serialized_start=99910 - _KVMFPUFTRACEEVENT._serialized_end=99943 - _KVMGETTIMERMAPFTRACEEVENT._serialized_start=99945 - _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100056 - _KVMGUESTFAULTFTRACEEVENT._serialized_start=100058 - _KVMGUESTFAULTFTRACEEVENT._serialized_end=100142 - _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100144 - _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100185 - _KVMHVCARM64FTRACEEVENT._serialized_start=100187 - _KVMHVCARM64FTRACEEVENT._serialized_end=100253 - _KVMIRQLINEFTRACEEVENT._serialized_start=100255 - _KVMIRQLINEFTRACEEVENT._serialized_end=100342 - _KVMMMIOFTRACEEVENT._serialized_start=100344 - _KVMMMIOFTRACEEVENT._serialized_end=100417 - _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100419 - _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100492 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100494 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100558 - _KVMSETIRQFTRACEEVENT._serialized_start=100560 - _KVMSETIRQFTRACEEVENT._serialized_end=100633 - _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100635 - _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100674 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100676 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100735 - _KVMSYSACCESSFTRACEEVENT._serialized_start=100738 - _KVMSYSACCESSFTRACEEVENT._serialized_end=100877 - _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100879 - _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100918 - _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100920 - _KVMTIMEREMULATEFTRACEEVENT._serialized_end=100988 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=100990 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101043 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101045 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101124 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101126 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101202 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101204 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101279 - _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101281 - _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101351 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101353 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101410 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101412 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101457 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101459 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101528 - _KVMWFXARM64FTRACEEVENT._serialized_start=101530 - _KVMWFXARM64FTRACEEVENT._serialized_end=101587 - _TRAPREGFTRACEEVENT._serialized_start=101589 - _TRAPREGFTRACEEVENT._serialized_end=101673 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101675 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101753 - _LOWMEMORYKILLFTRACEEVENT._serialized_start=101755 - _LOWMEMORYKILLFTRACEEVENT._serialized_end=101871 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101873 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=101986 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=101988 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102077 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102079 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102196 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102198 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102321 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102323 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102444 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102446 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102568 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102570 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102695 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102697 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102820 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102822 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102914 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102916 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103006 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103008 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103116 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103118 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103217 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103219 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103319 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103321 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103417 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103419 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103521 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103523 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103621 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103623 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103720 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103722 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103821 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103823 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103910 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103912 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=103995 - _MALIMALIPMMCUONFTRACEEVENT._serialized_start=103997 - _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104079 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104081 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104181 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104183 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104278 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104280 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104366 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104368 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104462 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104464 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104557 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104559 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104649 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104651 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104742 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104744 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104839 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104841 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104928 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104930 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105022 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105024 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105113 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105115 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105204 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105206 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105293 - _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105295 - _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105359 - _MDPCOMMITFTRACEEVENT._serialized_start=105361 - _MDPCOMMITFTRACEEVENT._serialized_end=105451 - _MDPPERFSETOTFTRACEEVENT._serialized_start=105453 - _MDPPERFSETOTFTRACEEVENT._serialized_end=105544 - _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105547 - _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105815 - _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105817 - _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105900 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105902 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106002 - _MDPCOMPAREBWFTRACEEVENT._serialized_start=106005 - _MDPCOMPAREBWFTRACEEVENT._serialized_end=106169 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106171 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106283 - _MDPSSPPSETFTRACEEVENT._serialized_start=106286 - _MDPSSPPSETFTRACEEVENT._serialized_end=106551 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106553 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106618 - _MDPMISRCRCFTRACEEVENT._serialized_start=106620 - _MDPMISRCRCFTRACEEVENT._serialized_end=106693 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106695 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106820 - _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106822 - _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106900 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106902 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=106947 - _MDPMIXERUPDATEFTRACEEVENT._serialized_start=106949 - _MDPMIXERUPDATEFTRACEEVENT._serialized_end=106995 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=106998 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107158 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107160 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107232 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107234 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107303 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107306 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107512 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107514 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107595 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107597 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107645 - _MMEVENTRECORDFTRACEEVENT._serialized_start=107647 - _MMEVENTRECORDFTRACEEVENT._serialized_end=107736 - _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107738 - _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107810 - _NETDEVXMITFTRACEEVENT._serialized_start=107812 - _NETDEVXMITFTRACEEVENT._serialized_end=107891 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107894 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108273 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108275 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108319 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108321 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108401 - _MARKVICTIMFTRACEEVENT._serialized_start=108403 - _MARKVICTIMFTRACEEVENT._serialized_end=108439 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108441 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108503 - _DSIRXFTRACEEVENT._serialized_start=108505 - _DSIRXFTRACEEVENT._serialized_end=108552 - _DSITXFTRACEEVENT._serialized_start=108554 - _DSITXFTRACEEVENT._serialized_end=108616 - _PANELWRITEGENERICFTRACEEVENT._serialized_start=108618 - _PANELWRITEGENERICFTRACEEVENT._serialized_end=108745 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108748 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109136 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109138 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109186 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109188 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109272 - _CPUFREQUENCYFTRACEEVENT._serialized_start=109274 - _CPUFREQUENCYFTRACEEVENT._serialized_end=109330 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109332 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109415 - _CPUIDLEFTRACEEVENT._serialized_start=109417 - _CPUIDLEFTRACEEVENT._serialized_end=109468 - _CLOCKENABLEFTRACEEVENT._serialized_start=109470 - _CLOCKENABLEFTRACEEVENT._serialized_end=109539 - _CLOCKDISABLEFTRACEEVENT._serialized_start=109541 - _CLOCKDISABLEFTRACEEVENT._serialized_end=109611 - _CLOCKSETRATEFTRACEEVENT._serialized_start=109613 - _CLOCKSETRATEFTRACEEVENT._serialized_end=109683 - _SUSPENDRESUMEFTRACEEVENT._serialized_start=109685 - _SUSPENDRESUMEFTRACEEVENT._serialized_end=109755 - _GPUFREQUENCYFTRACEEVENT._serialized_start=109757 - _GPUFREQUENCYFTRACEEVENT._serialized_end=109813 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109815 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109877 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109879 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=109943 - _GPUWORKPERIODFTRACEEVENT._serialized_start=109946 - _GPUWORKPERIODFTRACEEVENT._serialized_end=110079 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110081 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110194 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110196 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110275 - _CONSOLEFTRACEEVENT._serialized_start=110277 - _CONSOLEFTRACEEVENT._serialized_end=110310 - _SYSENTERFTRACEEVENT._serialized_start=110312 - _SYSENTERFTRACEEVENT._serialized_end=110359 - _SYSEXITFTRACEEVENT._serialized_start=110361 - _SYSEXITFTRACEEVENT._serialized_end=110406 - _REGULATORDISABLEFTRACEEVENT._serialized_start=110408 - _REGULATORDISABLEFTRACEEVENT._serialized_end=110451 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110453 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110504 - _REGULATORENABLEFTRACEEVENT._serialized_start=110506 - _REGULATORENABLEFTRACEEVENT._serialized_end=110548 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110550 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110600 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110602 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110649 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110651 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110723 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110725 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110792 - _RPMSTATUSFTRACEEVENT._serialized_start=110794 - _RPMSTATUSFTRACEEVENT._serialized_end=110846 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110848 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=110973 - _SCHEDSWITCHFTRACEEVENT._serialized_start=110976 - _SCHEDSWITCHFTRACEEVENT._serialized_end=111132 - _SCHEDWAKEUPFTRACEEVENT._serialized_start=111134 - _SCHEDWAKEUPFTRACEEVENT._serialized_end=111236 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111238 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111315 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111317 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111398 - _SCHEDWAKINGFTRACEEVENT._serialized_start=111400 - _SCHEDWAKINGFTRACEEVENT._serialized_end=111502 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111504 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111609 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111611 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111688 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111690 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111774 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111776 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111885 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111887 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=111957 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=111959 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112015 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112017 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112087 - _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112089 - _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112177 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112180 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112508 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112511 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112648 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112650 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112774 - _SCMCALLSTARTFTRACEEVENT._serialized_start=112776 - _SCMCALLSTARTFTRACEEVENT._serialized_end=112842 - _SCMCALLENDFTRACEEVENT._serialized_start=112844 - _SCMCALLENDFTRACEEVENT._serialized_end=112867 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112869 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=112990 - _SDESDEEVTLOGFTRACEEVENT._serialized_start=112992 - _SDESDEEVTLOGFTRACEEVENT._serialized_end=113066 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113069 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113249 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113252 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113535 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113537 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113653 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113655 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113755 - _SIGNALDELIVERFTRACEEVENT._serialized_start=113757 - _SIGNALDELIVERFTRACEEVENT._serialized_end=113828 - _SIGNALGENERATEFTRACEEVENT._serialized_start=113830 - _SIGNALGENERATEFTRACEEVENT._serialized_end=113942 - _KFREESKBFTRACEEVENT._serialized_start=113944 - _KFREESKBFTRACEEVENT._serialized_end=114018 - _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114021 - _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114196 - _SYNCPTFTRACEEVENT._serialized_start=114198 - _SYNCPTFTRACEEVENT._serialized_end=114250 - _SYNCTIMELINEFTRACEEVENT._serialized_start=114252 - _SYNCTIMELINEFTRACEEVENT._serialized_end=114306 - _SYNCWAITFTRACEEVENT._serialized_start=114308 - _SYNCWAITFTRACEEVENT._serialized_end=114374 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114376 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114464 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114466 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114514 - _ZEROFTRACEEVENT._serialized_start=114516 - _ZEROFTRACEEVENT._serialized_end=114589 - _TASKNEWTASKFTRACEEVENT._serialized_start=114591 - _TASKNEWTASKFTRACEEVENT._serialized_end=114686 - _TASKRENAMEFTRACEEVENT._serialized_start=114688 - _TASKRENAMEFTRACEEVENT._serialized_end=114781 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114784 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114921 - _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114923 - _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115021 - _CDEVUPDATEFTRACEEVENT._serialized_start=115023 - _CDEVUPDATEFTRACEEVENT._serialized_end=115076 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115079 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115307 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115310 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115472 - _HRTIMERSTARTFTRACEEVENT._serialized_start=115474 - _HRTIMERSTARTFTRACEEVENT._serialized_end=115586 - _HRTIMERCANCELFTRACEEVENT._serialized_start=115588 - _HRTIMERCANCELFTRACEEVENT._serialized_end=115631 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115633 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115712 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115714 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115761 - _TIMERSTARTFTRACEEVENT._serialized_start=115764 - _TIMERSTARTFTRACEEVENT._serialized_end=115908 - _TIMERCANCELFTRACEEVENT._serialized_start=115910 - _TIMERCANCELFTRACEEVENT._serialized_end=115949 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=115951 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116043 - _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116045 - _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116088 - _TRUSTYSMCFTRACEEVENT._serialized_start=116090 - _TRUSTYSMCFTRACEEVENT._serialized_end=116160 - _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116162 - _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116201 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116203 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116279 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116281 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116326 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116328 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116400 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116402 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116507 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116509 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116553 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116555 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116616 - _TRUSTYIRQFTRACEEVENT._serialized_start=116618 - _TRUSTYIRQFTRACEEVENT._serialized_end=116653 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116655 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116738 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116740 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116812 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116814 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116888 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116891 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117021 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117023 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117100 - _TRUSTYIPCREADFTRACEEVENT._serialized_start=117102 - _TRUSTYIPCREADFTRACEEVENT._serialized_end=117160 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117162 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117276 - _TRUSTYIPCRXFTRACEEVENT._serialized_start=117278 - _TRUSTYIPCRXFTRACEEVENT._serialized_end=117350 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117352 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117423 - _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117426 - _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117612 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117614 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117675 - _V4L2QBUFFTRACEEVENT._serialized_start=117678 - _V4L2QBUFFTRACEEVENT._serialized_end=118089 - _V4L2DQBUFFTRACEEVENT._serialized_start=118092 - _V4L2DQBUFFTRACEEVENT._serialized_end=118504 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118507 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118877 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118880 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119249 - _VB2V4L2QBUFFTRACEEVENT._serialized_start=119252 - _VB2V4L2QBUFFTRACEEVENT._serialized_end=119618 - _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119621 - _VB2V4L2DQBUFFTRACEEVENT._serialized_end=119988 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=119991 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120156 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120159 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120327 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120329 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120389 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120391 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120455 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120458 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120654 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120657 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120857 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120859 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=120955 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=120957 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121016 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121018 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121090 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121092 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121137 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121140 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121373 - _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121376 - _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121521 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121523 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121571 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121573 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121637 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121639 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121705 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121707 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121819 - _FTRACEEVENT._serialized_start=121823 - _FTRACEEVENT._serialized_end=166726 - _FTRACECPUSTATS._serialized_start=166729 - _FTRACECPUSTATS._serialized_end=166922 - _FTRACEKPROBESTATS._serialized_start=166924 - _FTRACEKPROBESTATS._serialized_end=166973 - _FTRACESTATS._serialized_start=166976 - _FTRACESTATS._serialized_end=167559 - _FTRACESTATS_PHASE._serialized_start=167497 - _FTRACESTATS_PHASE._serialized_end=167559 - _FTRACEEVENTBUNDLE._serialized_start=167562 - _FTRACEEVENTBUNDLE._serialized_end=168642 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168100 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168466 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168468 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168552 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168554 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168642 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168644 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168706 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168709 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169127 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168870 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169127 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169129 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169186 - _GENERICKERNELPROCESSTREE._serialized_start=169189 - _GENERICKERNELPROCESSTREE._serialized_end=169481 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169354 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169426 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169428 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169481 - _GPUCOUNTEREVENT._serialized_start=169484 - _GPUCOUNTEREVENT._serialized_end=169735 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169649 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169735 - _GPULOG._serialized_start=169738 - _GPULOG._serialized_end=169998 - _GPULOG_SEVERITY._serialized_start=169835 - _GPULOG_SEVERITY._serialized_end=169998 - _GPURENDERSTAGEEVENT._serialized_start=170001 - _GPURENDERSTAGEEVENT._serialized_end=170920 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170510 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170550 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170553 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170914 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170821 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170864 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170866 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170914 - _INTERNEDGRAPHICSCONTEXT._serialized_start=170923 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171093 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171035 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171093 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171096 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171334 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171275 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171334 - _VULKANAPIEVENT._serialized_start=171337 - _VULKANAPIEVENT._serialized_end=171780 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171523 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171637 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171640 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171771 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171782 - _VULKANMEMORYEVENTANNOTATION._serialized_end=171904 - _VULKANMEMORYEVENT._serialized_start=171907 - _VULKANMEMORYEVENT._serialized_end=172779 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172392 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172525 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172527 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172644 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172647 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172779 - _INTERNEDSTRING._serialized_start=172781 - _INTERNEDSTRING._serialized_end=172823 - _LINE._serialized_start=172825 - _LINE._serialized_end=172901 - _ADDRESSSYMBOLS._serialized_start=172903 - _ADDRESSSYMBOLS._serialized_end=172974 - _MODULESYMBOLS._serialized_start=172976 - _MODULESYMBOLS._serialized_end=173081 - _MAPPING._serialized_start=173084 - _MAPPING._serialized_end=173240 - _FRAME._serialized_start=173242 - _FRAME._serialized_end=173324 - _CALLSTACK._serialized_start=173326 - _CALLSTACK._serialized_end=173369 - _HISTOGRAMNAME._serialized_start=173371 - _HISTOGRAMNAME._serialized_end=173413 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173415 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173505 - _DEBUGANNOTATION._serialized_start=173508 - _DEBUGANNOTATION._serialized_end=174448 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174020 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174400 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174350 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174400 - _DEBUGANNOTATIONNAME._serialized_start=174450 - _DEBUGANNOTATIONNAME._serialized_end=174498 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174500 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174557 - _LOGMESSAGE._serialized_start=174560 - _LOGMESSAGE._serialized_end=174819 - _LOGMESSAGE_PRIORITY._serialized_start=174674 - _LOGMESSAGE_PRIORITY._serialized_end=174819 - _LOGMESSAGEBODY._serialized_start=174821 - _LOGMESSAGEBODY._serialized_end=174864 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174866 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174943 - _SOURCELOCATION._serialized_start=174945 - _SOURCELOCATION._serialized_end=175037 - _CHROMEACTIVEPROCESSES._serialized_start=175039 - _CHROMEACTIVEPROCESSES._serialized_end=175075 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175078 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175444 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175204 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175444 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175447 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176534 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176338 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176528 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176537 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180247 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176728 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178027 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177267 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177428 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177431 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177578 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177581 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177825 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177828 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178027 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178030 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180247 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179924 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180108 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180111 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180241 - _BEGINFRAMEARGS._serialized_start=180250 - _BEGINFRAMEARGS._serialized_end=180804 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180626 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180788 - _BEGINIMPLFRAMEARGS._serialized_start=180807 - _BEGINIMPLFRAMEARGS._serialized_end=181383 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181124 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181317 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181319 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181375 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181385 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181508 - _BEGINFRAMESOURCESTATE._serialized_start=181511 - _BEGINFRAMESOURCESTATE._serialized_end=181656 - _COMPOSITORTIMINGHISTORY._serialized_start=181659 - _COMPOSITORTIMINGHISTORY._serialized_end=182039 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182041 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182103 - _CHROMEFRAMEREPORTER._serialized_start=182106 - _CHROMEFRAMEREPORTER._serialized_end=183226 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182821 - _CHROMEFRAMEREPORTER_STATE._serialized_end=182930 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182932 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183058 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183060 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183183 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183185 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183222 - _CHROMEKEYEDSERVICE._serialized_start=183228 - _CHROMEKEYEDSERVICE._serialized_end=183262 - _CHROMELATENCYINFO._serialized_start=183265 - _CHROMELATENCYINFO._serialized_end=185047 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183594 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183707 - _CHROMELATENCYINFO_STEP._serialized_start=183710 - _CHROMELATENCYINFO_STEP._serialized_end=184112 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184115 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184872 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184875 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185047 - _CHROMELEGACYIPC._serialized_start=185050 - _CHROMELEGACYIPC._serialized_end=186024 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185162 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186024 - _CHROMEMESSAGEPUMP._serialized_start=186026 - _CHROMEMESSAGEPUMP._serialized_end=186110 - _CHROMEMOJOEVENTINFO._serialized_start=186113 - _CHROMEMOJOEVENTINFO._serialized_end=186317 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186319 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186445 - _CHROMEUSEREVENT._serialized_start=186447 - _CHROMEUSEREVENT._serialized_end=186501 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186503 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186583 - _SCREENSHOT._serialized_start=186585 - _SCREENSHOT._serialized_end=186616 - _TASKEXECUTION._serialized_start=186618 - _TASKEXECUTION._serialized_end=186658 - _TRACKEVENT._serialized_start=186661 - _TRACKEVENT._serialized_end=189828 - _TRACKEVENT_LEGACYEVENT._serialized_start=188850 - _TRACKEVENT_LEGACYEVENT._serialized_end=189532 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189341 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189421 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189423 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189520 - _TRACKEVENT_TYPE._serialized_start=189534 - _TRACKEVENT_TYPE._serialized_end=189640 - _TRACKEVENTDEFAULTS._serialized_start=189830 - _TRACKEVENTDEFAULTS._serialized_end=189947 - _EVENTCATEGORY._serialized_start=189949 - _EVENTCATEGORY._serialized_end=189991 - _EVENTNAME._serialized_start=189993 - _EVENTNAME._serialized_end=190031 - _INTERNEDDATA._serialized_start=190034 - _INTERNEDDATA._serialized_end=192149 - _MEMORYTRACKERSNAPSHOT._serialized_start=192152 - _MEMORYTRACKERSNAPSHOT._serialized_end=193160 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192367 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193085 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192581 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=192992 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192765 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=192992 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192946 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=192992 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=192994 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193085 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193087 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193160 - _PERFETTOMETATRACE._serialized_start=193163 - _PERFETTOMETATRACE._serialized_end=193708 - _PERFETTOMETATRACE_ARG._serialized_start=193520 - _PERFETTOMETATRACE_ARG._serialized_end=193647 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193649 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193693 - _TRACINGSERVICEEVENT._serialized_start=193711 - _TRACINGSERVICEEVENT._serialized_end=194361 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194189 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194347 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194286 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194347 - _ANDROIDENERGYCONSUMER._serialized_start=194363 - _ANDROIDENERGYCONSUMER._serialized_end=194459 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194461 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194560 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194563 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194883 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194830 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194883 - _ENTITYSTATERESIDENCY._serialized_start=194886 - _ENTITYSTATERESIDENCY._serialized_end=195329 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195067 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195169 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195172 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195329 - _BATTERYCOUNTERS._serialized_start=195332 - _BATTERYCOUNTERS._serialized_end=195509 - _POWERRAILS._serialized_start=195512 - _POWERRAILS._serialized_end=195839 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195678 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195772 - _POWERRAILS_ENERGYDATA._serialized_start=195774 - _POWERRAILS_ENERGYDATA._serialized_end=195839 - _OBFUSCATEDMEMBER._serialized_start=195841 - _OBFUSCATEDMEMBER._serialized_end=195911 - _OBFUSCATEDCLASS._serialized_start=195914 - _OBFUSCATEDCLASS._serialized_end=196109 - _DEOBFUSCATIONMAPPING._serialized_start=196112 - _DEOBFUSCATIONMAPPING._serialized_end=196240 - _HEAPGRAPHROOT._serialized_start=196243 - _HEAPGRAPHROOT._serialized_end=196681 - _HEAPGRAPHROOT_TYPE._serialized_start=196341 - _HEAPGRAPHROOT_TYPE._serialized_end=196681 - _HEAPGRAPHTYPE._serialized_start=196684 - _HEAPGRAPHTYPE._serialized_end=197168 - _HEAPGRAPHTYPE_KIND._serialized_start=196906 - _HEAPGRAPHTYPE_KIND._serialized_end=197168 - _HEAPGRAPHOBJECT._serialized_start=197171 - _HEAPGRAPHOBJECT._serialized_end=197627 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197513 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197613 - _HEAPGRAPH._serialized_start=197630 - _HEAPGRAPH._serialized_end=197950 - _PROFILEPACKET._serialized_start=197953 - _PROFILEPACKET._serialized_end=199421 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198261 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198447 - _PROFILEPACKET_HISTOGRAM._serialized_start=198450 - _PROFILEPACKET_HISTOGRAM._serialized_end=198593 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198529 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198593 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198596 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198818 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198821 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199421 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199316 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199421 - _STREAMINGALLOCATION._serialized_start=199424 - _STREAMINGALLOCATION._serialized_end=199581 - _STREAMINGFREE._serialized_start=199583 - _STREAMINGFREE._serialized_end=199657 - _STREAMINGPROFILEPACKET._serialized_start=199659 - _STREAMINGPROFILEPACKET._serialized_end=199760 - _PROFILING._serialized_start=199763 - _PROFILING._serialized_end=200419 - _PROFILING_CPUMODE._serialized_start=199776 - _PROFILING_CPUMODE._serialized_end=199900 - _PROFILING_STACKUNWINDERROR._serialized_start=199903 - _PROFILING_STACKUNWINDERROR._serialized_end=200419 - _PERFSAMPLE._serialized_start=200422 - _PERFSAMPLE._serialized_end=201301 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200846 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201066 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200957 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201035 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201069 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201242 - _PERFSAMPLEDEFAULTS._serialized_start=201304 - _PERFSAMPLEDEFAULTS._serialized_end=201490 - _SMAPSENTRY._serialized_start=201493 - _SMAPSENTRY._serialized_end=201880 - _SMAPSPACKET._serialized_start=201882 - _SMAPSPACKET._serialized_end=201954 - _PROCESSSTATS._serialized_start=201957 - _PROCESSSTATS._serialized_end=202784 - _PROCESSSTATS_THREAD._serialized_start=202065 - _PROCESSSTATS_THREAD._serialized_end=202104 - _PROCESSSTATS_FDINFO._serialized_start=202106 - _PROCESSSTATS_FDINFO._serialized_end=202140 - _PROCESSSTATS_PROCESS._serialized_start=202143 - _PROCESSSTATS_PROCESS._serialized_end=202784 - _PROCESSTREE._serialized_start=202787 - _PROCESSTREE._serialized_end=203179 - _PROCESSTREE_THREAD._serialized_start=202947 - _PROCESSTREE_THREAD._serialized_end=203011 - _PROCESSTREE_PROCESS._serialized_start=203014 - _PROCESSTREE_PROCESS._serialized_end=203179 - _REMOTECLOCKSYNC._serialized_start=203182 - _REMOTECLOCKSYNC._serialized_end=203393 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203271 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203393 - _ATOM._serialized_start=203395 - _ATOM._serialized_end=203401 - _STATSDATOM._serialized_start=203403 - _STATSDATOM._serialized_end=203477 - _SYSSTATS._serialized_start=203480 - _SYSSTATS._serialized_end=205504 - _SYSSTATS_MEMINFOVALUE._serialized_start=204268 - _SYSSTATS_MEMINFOVALUE._serialized_end=204344 - _SYSSTATS_VMSTATVALUE._serialized_start=204346 - _SYSSTATS_VMSTATVALUE._serialized_end=204420 - _SYSSTATS_CPUTIMES._serialized_start=204423 - _SYSSTATS_CPUTIMES._serialized_end=204603 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204605 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204649 - _SYSSTATS_DEVFREQVALUE._serialized_start=204651 - _SYSSTATS_DEVFREQVALUE._serialized_end=204693 - _SYSSTATS_BUDDYINFO._serialized_start=204695 - _SYSSTATS_BUDDYINFO._serialized_end=204755 - _SYSSTATS_DISKSTAT._serialized_start=204758 - _SYSSTATS_DISKSTAT._serialized_end=204973 - _SYSSTATS_PSISAMPLE._serialized_start=204976 - _SYSSTATS_PSISAMPLE._serialized_end=205284 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205075 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205284 - _SYSSTATS_THERMALZONE._serialized_start=205286 - _SYSSTATS_THERMALZONE._serialized_end=205341 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205343 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205398 - _SYSSTATS_CPUIDLESTATE._serialized_start=205400 - _SYSSTATS_CPUIDLESTATE._serialized_end=205504 - _CPUINFO._serialized_start=205507 - _CPUINFO._serialized_end=205839 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205562 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205672 - _CPUINFO_CPU._serialized_start=205675 - _CPUINFO_CPU._serialized_end=205839 - _TESTEVENT._serialized_start=205842 - _TESTEVENT._serialized_end=206221 - _TESTEVENT_TESTPAYLOAD._serialized_start=205979 - _TESTEVENT_TESTPAYLOAD._serialized_end=206221 - _TRACEPACKETDEFAULTS._serialized_start=206224 - _TRACEPACKETDEFAULTS._serialized_end=206466 - _TRACEUUID._serialized_start=206468 - _TRACEUUID._serialized_end=206505 - _PROCESSDESCRIPTOR._serialized_start=206508 - _PROCESSDESCRIPTOR._serialized_end=206995 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206770 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=206995 - _TRACKEVENTRANGEOFINTEREST._serialized_start=206997 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207042 - _THREADDESCRIPTOR._serialized_start=207045 - _THREADDESCRIPTOR._serialized_end=207801 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207330 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207801 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207804 - _CHROMEPROCESSDESCRIPTOR._serialized_end=207959 - _CHROMETHREADDESCRIPTOR._serialized_start=207961 - _CHROMETHREADDESCRIPTOR._serialized_end=208059 - _COUNTERDESCRIPTOR._serialized_start=208062 - _COUNTERDESCRIPTOR._serialized_end=208517 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208321 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208432 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208434 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208517 - _TRACKDESCRIPTOR._serialized_start=208520 - _TRACKDESCRIPTOR._serialized_end=209572 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209244 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209330 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209333 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209519 - _TRANSLATIONTABLE._serialized_start=209575 - _TRANSLATIONTABLE._serialized_end=210068 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210071 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210245 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210196 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210245 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210248 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210439 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210384 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210439 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210442 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210797 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210689 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210742 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210744 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210797 - _SLICENAMETRANSLATIONTABLE._serialized_start=210800 - _SLICENAMETRANSLATIONTABLE._serialized_end=210994 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210934 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210994 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=210997 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211205 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210934 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=210994 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211208 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211372 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210196 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210245 - _TRIGGER._serialized_start=211374 - _TRIGGER._serialized_end=211481 - _UISTATE._serialized_start=211484 - _UISTATE._serialized_end=211681 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211617 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211681 - _TRACEPACKET._serialized_start=211684 - _TRACEPACKET._serialized_end=217868 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217681 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217785 - _TRACE._serialized_start=217870 - _TRACE._serialized_end=217923 + _TRACECONFIG._serialized_end=25013 + _TRACECONFIG_BUFFERCONFIG._serialized_start=22118 + _TRACECONFIG_BUFFERCONFIG._serialized_end=22352 + _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_start=22281 + _TRACECONFIG_BUFFERCONFIG_FILLPOLICY._serialized_end=22340 + _TRACECONFIG_DATASOURCE._serialized_start=22355 + _TRACECONFIG_DATASOURCE._serialized_end=22513 + _TRACECONFIG_BUILTINDATASOURCE._serialized_start=22516 + _TRACECONFIG_BUILTINDATASOURCE._serialized_end=22835 + _TRACECONFIG_PRODUCERCONFIG._serialized_start=22837 + _TRACECONFIG_PRODUCERCONFIG._serialized_end=22919 + _TRACECONFIG_STATSDMETADATA._serialized_start=22922 + _TRACECONFIG_STATSDMETADATA._serialized_end=23064 + _TRACECONFIG_GUARDRAILOVERRIDES._serialized_start=23066 + _TRACECONFIG_GUARDRAILOVERRIDES._serialized_end=23160 + _TRACECONFIG_TRIGGERCONFIG._serialized_start=23163 + _TRACECONFIG_TRIGGERCONFIG._serialized_end=23621 + _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_start=23397 + _TRACECONFIG_TRIGGERCONFIG_TRIGGER._serialized_end=23520 + _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_start=23522 + _TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE._serialized_end=23615 + _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_start=23623 + _TRACECONFIG_INCREMENTALSTATECONFIG._serialized_end=23672 + _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_start=23675 + _TRACECONFIG_INCIDENTREPORTCONFIG._serialized_end=23826 + _TRACECONFIG_TRACEFILTER._serialized_start=23829 + _TRACECONFIG_TRACEFILTER._serialized_end=24426 + _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_start=23973 + _TRACECONFIG_TRACEFILTER_STRINGFILTERRULE._serialized_end=24127 + _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_start=24129 + _TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN._serialized_end=24222 + _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_start=24225 + _TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY._serialized_end=24426 + _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_start=24429 + _TRACECONFIG_ANDROIDREPORTCONFIG._serialized_end=24580 + _TRACECONFIG_CMDTRACESTARTDELAY._serialized_start=24582 + _TRACECONFIG_CMDTRACESTARTDELAY._serialized_end=24646 + _TRACECONFIG_SESSIONSEMAPHORE._serialized_start=24648 + _TRACECONFIG_SESSIONSEMAPHORE._serialized_end=24713 + _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_start=24715 + _TRACECONFIG_LOCKDOWNMODEOPERATION._serialized_end=24800 + _TRACECONFIG_COMPRESSIONTYPE._serialized_start=24802 + _TRACECONFIG_COMPRESSIONTYPE._serialized_end=24883 + _TRACECONFIG_STATSDLOGGING._serialized_start=24885 + _TRACECONFIG_STATSDLOGGING._serialized_end=24989 + _UTSNAME._serialized_start=25015 + _UTSNAME._serialized_end=25092 + _SYSTEMINFO._serialized_start=25095 + _SYSTEMINFO._serialized_end=25545 + _TRACESTATS._serialized_start=25548 + _TRACESTATS._serialized_end=27101 + _TRACESTATS_BUFFERSTATS._serialized_start=26183 + _TRACESTATS_BUFFERSTATS._serialized_end=26705 + _TRACESTATS_WRITERSTATS._serialized_start=26708 + _TRACESTATS_WRITERSTATS._serialized_end=26843 + _TRACESTATS_FILTERSTATS._serialized_start=26846 + _TRACESTATS_FILTERSTATS._serialized_end=27000 + _TRACESTATS_FINALFLUSHOUTCOME._serialized_start=27002 + _TRACESTATS_FINALFLUSHOUTCOME._serialized_end=27101 + _ANDROIDGAMEINTERVENTIONLIST._serialized_start=27104 + _ANDROIDGAMEINTERVENTIONLIST._serialized_end=27503 + _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_start=27261 + _ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO._serialized_end=27351 + _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_start=27354 + _ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO._serialized_end=27503 + _ANDROIDLOGPACKET._serialized_start=27506 + _ANDROIDLOGPACKET._serialized_end=28068 + _ANDROIDLOGPACKET_LOGEVENT._serialized_start=27643 + _ANDROIDLOGPACKET_LOGEVENT._serialized_end=27999 + _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_start=27903 + _ANDROIDLOGPACKET_LOGEVENT_ARG._serialized_end=27999 + _ANDROIDLOGPACKET_STATS._serialized_start=28001 + _ANDROIDLOGPACKET_STATS._serialized_end=28068 + _ANDROIDSYSTEMPROPERTY._serialized_start=28071 + _ANDROIDSYSTEMPROPERTY._serialized_end=28210 + _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_start=28166 + _ANDROIDSYSTEMPROPERTY_PROPERTYVALUE._serialized_end=28210 + _APPWAKELOCKINFO._serialized_start=28212 + _APPWAKELOCKINFO._serialized_end=28326 + _APPWAKELOCKBUNDLE._serialized_start=28329 + _APPWAKELOCKBUNDLE._serialized_end=28461 + _BLUETOOTHTRACEEVENT._serialized_start=28464 + _BLUETOOTHTRACEEVENT._serialized_end=28685 + _ANDROIDCAMERAFRAMEEVENT._serialized_start=28688 + _ANDROIDCAMERAFRAMEEVENT._serialized_end=29586 + _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_start=29275 + _ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS._serialized_end=29408 + _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_start=29411 + _ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS._serialized_end=29586 + _ANDROIDCAMERASESSIONSTATS._serialized_start=29589 + _ANDROIDCAMERASESSIONSTATS._serialized_end=30156 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_start=29710 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH._serialized_end=30156 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_start=29889 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE._serialized_end=30007 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_start=30010 + _ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE._serialized_end=30156 + _CPUPERUIDDATA._serialized_start=30158 + _CPUPERUIDDATA._serialized_end=30240 + _FRAMETIMELINEEVENT._serialized_start=30243 + _FRAMETIMELINEEVENT._serialized_end=32884 + _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_start=30736 + _FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART._serialized_end=30856 + _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_start=30859 + _FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART._serialized_end=31507 + _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_start=31509 + _FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART._serialized_end=31580 + _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_start=31583 + _FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART._serialized_end=32125 + _FRAMETIMELINEEVENT_FRAMEEND._serialized_start=32127 + _FRAMETIMELINEEVENT_FRAMEEND._serialized_end=32153 + _FRAMETIMELINEEVENT_JANKTYPE._serialized_start=32156 + _FRAMETIMELINEEVENT_JANKTYPE._serialized_end=32516 + _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_start=32518 + _FRAMETIMELINEEVENT_JANKSEVERITYTYPE._serialized_end=32618 + _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_start=32621 + _FRAMETIMELINEEVENT_PRESENTTYPE._serialized_end=32759 + _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_start=32761 + _FRAMETIMELINEEVENT_PREDICTIONTYPE._serialized_end=32875 + _GPUMEMTOTALEVENT._serialized_start=32886 + _GPUMEMTOTALEVENT._serialized_end=32947 + _GRAPHICSFRAMEEVENT._serialized_start=32950 + _GRAPHICSFRAMEEVENT._serialized_end=33447 + _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_start=33044 + _GRAPHICSFRAMEEVENT_BUFFEREVENT._serialized_end=33206 + _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_start=33209 + _GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE._serialized_end=33447 + _INITIALDISPLAYSTATE._serialized_start=33449 + _INITIALDISPLAYSTATE._serialized_end=33513 + _KERNELWAKELOCKDATA._serialized_start=33516 + _KERNELWAKELOCKDATA._serialized_end=33894 + _KERNELWAKELOCKDATA_WAKELOCK._serialized_start=33679 + _KERNELWAKELOCKDATA_WAKELOCK._serialized_end=33894 + _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_start=33809 + _KERNELWAKELOCKDATA_WAKELOCK_TYPE._serialized_end=33894 + _NETWORKPACKETEVENT._serialized_start=33897 + _NETWORKPACKETEVENT._serialized_end=34156 + _NETWORKPACKETBUNDLE._serialized_start=34159 + _NETWORKPACKETBUNDLE._serialized_end=34393 + _NETWORKPACKETCONTEXT._serialized_start=34395 + _NETWORKPACKETCONTEXT._serialized_end=34480 + _PACKAGESLIST._serialized_start=34483 + _PACKAGESLIST._serialized_end=34715 + _PACKAGESLIST_PACKAGEINFO._serialized_start=34601 + _PACKAGESLIST_PACKAGEINFO._serialized_end=34715 + _PIXELMODEMEVENTS._serialized_start=34717 + _PIXELMODEMEVENTS._serialized_end=34777 + _PIXELMODEMTOKENDATABASE._serialized_start=34779 + _PIXELMODEMTOKENDATABASE._serialized_end=34822 + _PROTOLOGMESSAGE._serialized_start=34825 + _PROTOLOGMESSAGE._serialized_end=34980 + _PROTOLOGVIEWERCONFIG._serialized_start=34983 + _PROTOLOGVIEWERCONFIG._serialized_end=35319 + _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_start=35138 + _PROTOLOGVIEWERCONFIG_MESSAGEDATA._serialized_end=35271 + _PROTOLOGVIEWERCONFIG_GROUP._serialized_start=35273 + _PROTOLOGVIEWERCONFIG_GROUP._serialized_end=35319 + _SHELLTRANSITION._serialized_start=35322 + _SHELLTRANSITION._serialized_end=35859 + _SHELLTRANSITION_TARGET._serialized_start=35785 + _SHELLTRANSITION_TARGET._serialized_end=35859 + _SHELLHANDLERMAPPINGS._serialized_start=35861 + _SHELLHANDLERMAPPINGS._serialized_end=35938 + _SHELLHANDLERMAPPING._serialized_start=35940 + _SHELLHANDLERMAPPING._serialized_end=35987 + _RECTPROTO._serialized_start=35989 + _RECTPROTO._serialized_end=36058 + _REGIONPROTO._serialized_start=36060 + _REGIONPROTO._serialized_end=36121 + _SIZEPROTO._serialized_start=36123 + _SIZEPROTO._serialized_end=36156 + _TRANSFORMPROTO._serialized_start=36158 + _TRANSFORMPROTO._serialized_end=36244 + _COLORPROTO._serialized_start=36246 + _COLORPROTO._serialized_end=36302 + _INPUTWINDOWINFOPROTO._serialized_start=36305 + _INPUTWINDOWINFOPROTO._serialized_end=36880 + _BLURREGION._serialized_start=36883 + _BLURREGION._serialized_end=37093 + _COLORTRANSFORMPROTO._serialized_start=37095 + _COLORTRANSFORMPROTO._serialized_end=37133 + _BOXSHADOWSETTINGS._serialized_start=37136 + _BOXSHADOWSETTINGS._serialized_end=37342 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37230 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37342 + _BORDERSETTINGS._serialized_start=37344 + _BORDERSETTINGS._serialized_end=37397 + _LAYERSTRACEFILEPROTO._serialized_start=37400 + _LAYERSTRACEFILEPROTO._serialized_end=37616 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37542 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37616 + _LAYERSSNAPSHOTPROTO._serialized_start=37619 + _LAYERSSNAPSHOTPROTO._serialized_end=37878 + _LAYERSPROTO._serialized_start=37880 + _LAYERSPROTO._serialized_end=37938 + _DISPLAYPROTO._serialized_start=37941 + _DISPLAYPROTO._serialized_end=38206 + _LAYERPROTO._serialized_start=38209 + _LAYERPROTO._serialized_end=40912 + _LAYERPROTO_METADATAENTRY._serialized_start=40865 + _LAYERPROTO_METADATAENTRY._serialized_end=40912 + _POSITIONPROTO._serialized_start=40914 + _POSITIONPROTO._serialized_end=40951 + _FLOATRECTPROTO._serialized_start=40953 + _FLOATRECTPROTO._serialized_end=41027 + _CORNERRADIIPROTO._serialized_start=41029 + _CORNERRADIIPROTO._serialized_end=41095 + _ACTIVEBUFFERPROTO._serialized_start=41097 + _ACTIVEBUFFERPROTO._serialized_end=41194 + _BARRIERLAYERPROTO._serialized_start=41196 + _BARRIERLAYERPROTO._serialized_end=41249 + _TRANSACTIONTRACEFILE._serialized_start=41252 + _TRANSACTIONTRACEFILE._serialized_end=41487 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41413 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41487 + _TRANSACTIONTRACEENTRY._serialized_start=41490 + _TRANSACTIONTRACEENTRY._serialized_end=41892 + _DISPLAYINFO._serialized_start=41895 + _DISPLAYINFO._serialized_end=42229 + _LAYERCREATIONARGS._serialized_start=42232 + _LAYERCREATIONARGS._serialized_end=42393 + _TRANSFORM._serialized_start=42395 + _TRANSFORM._serialized_end=42486 + _TRANSACTIONBARRIER._serialized_start=42488 + _TRANSACTIONBARRIER._serialized_end=42545 + _TRANSACTIONSTATE._serialized_start=42548 + _TRANSACTIONSTATE._serialized_end=42905 + _LAYERSTATE._serialized_start=42908 + _LAYERSTATE._serialized_end=47600 + _LAYERSTATE_MATRIX22._serialized_start=44619 + _LAYERSTATE_MATRIX22._serialized_end=44685 + _LAYERSTATE_CORNERRADII._serialized_start=44687 + _LAYERSTATE_CORNERRADII._serialized_end=44748 + _LAYERSTATE_COLOR3._serialized_start=44750 + _LAYERSTATE_COLOR3._serialized_end=44791 + _LAYERSTATE_BUFFERDATA._serialized_start=44794 + _LAYERSTATE_BUFFERDATA._serialized_end=45582 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45010 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45121 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45124 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45582 + _LAYERSTATE_WINDOWINFO._serialized_start=45585 + _LAYERSTATE_WINDOWINFO._serialized_end=45999 + _LAYERSTATE_CHANGESLSB._serialized_start=46002 + _LAYERSTATE_CHANGESLSB._serialized_end=46762 + _LAYERSTATE_CHANGESMSB._serialized_start=46765 + _LAYERSTATE_CHANGESMSB._serialized_end=47385 + _LAYERSTATE_FLAGS._serialized_start=47388 + _LAYERSTATE_FLAGS._serialized_end=47550 + _LAYERSTATE_DROPINPUTMODE._serialized_start=47552 + _LAYERSTATE_DROPINPUTMODE._serialized_end=47600 + _DISPLAYSTATE._serialized_start=47603 + _DISPLAYSTATE._serialized_end=48006 + _DISPLAYSTATE_CHANGES._serialized_start=47859 + _DISPLAYSTATE_CHANGES._serialized_end=48006 + _WINSCOPEEXTENSIONS._serialized_start=48008 + _WINSCOPEEXTENSIONS._serialized_end=48034 + _CHROMEBENCHMARKMETADATA._serialized_start=48037 + _CHROMEBENCHMARKMETADATA._serialized_end=48279 + _CHROMEMETADATAPACKET._serialized_start=48282 + _CHROMEMETADATAPACKET._serialized_end=48561 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48521 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48561 + _BACKGROUNDTRACINGMETADATA._serialized_start=48564 + _BACKGROUNDTRACINGMETADATA._serialized_end=49609 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48780 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49609 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49084 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49190 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49193 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49471 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49338 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49471 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49474 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49609 + _CHROMETRACEDVALUE._serialized_start=49612 + _CHROMETRACEDVALUE._serialized_end=49951 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49918 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49951 + _CHROMESTRINGTABLEENTRY._serialized_start=49953 + _CHROMESTRINGTABLEENTRY._serialized_end=50007 + _CHROMETRACEEVENT._serialized_start=50010 + _CHROMETRACEEVENT._serialized_end=50651 + _CHROMETRACEEVENT_ARG._serialized_start=50383 + _CHROMETRACEEVENT_ARG._serialized_end=50651 + _CHROMEMETADATA._serialized_start=50654 + _CHROMEMETADATA._serialized_end=50782 + _CHROMELEGACYJSONTRACE._serialized_start=50785 + _CHROMELEGACYJSONTRACE._serialized_end=50933 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50888 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50933 + _CHROMEEVENTBUNDLE._serialized_start=50936 + _CHROMEEVENTBUNDLE._serialized_end=51231 + _CHROMETRIGGER._serialized_start=51233 + _CHROMETRIGGER._serialized_end=51314 + _V8STRING._serialized_start=51316 + _V8STRING._serialized_end=51402 + _INTERNEDV8STRING._serialized_start=51404 + _INTERNEDV8STRING._serialized_end=51511 + _INTERNEDV8JSSCRIPT._serialized_start=51514 + _INTERNEDV8JSSCRIPT._serialized_end=51839 + _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51709 + _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51839 + _INTERNEDV8WASMSCRIPT._serialized_start=51841 + _INTERNEDV8WASMSCRIPT._serialized_end=51928 + _INTERNEDV8JSFUNCTION._serialized_start=51931 + _INTERNEDV8JSFUNCTION._serialized_end=53040 + _INTERNEDV8JSFUNCTION_KIND._serialized_start=52158 + _INTERNEDV8JSFUNCTION_KIND._serialized_end=53040 + _INTERNEDV8ISOLATE._serialized_start=53043 + _INTERNEDV8ISOLATE._serialized_end=53370 + _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53251 + _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53370 + _V8JSCODE._serialized_start=53373 + _V8JSCODE._serialized_end=53735 + _V8JSCODE_TIER._serialized_start=53599 + _V8JSCODE_TIER._serialized_end=53719 + _V8INTERNALCODE._serialized_start=53738 + _V8INTERNALCODE._serialized_end=54219 + _V8INTERNALCODE_TYPE._serialized_start=53961 + _V8INTERNALCODE_TYPE._serialized_end=54219 + _V8WASMCODE._serialized_start=54222 + _V8WASMCODE._serialized_end=54545 + _V8WASMCODE_TIER._serialized_start=54484 + _V8WASMCODE_TIER._serialized_end=54545 + _V8REGEXPCODE._serialized_start=54548 + _V8REGEXPCODE._serialized_end=54724 + _V8CODEMOVE._serialized_start=54727 + _V8CODEMOVE._serialized_end=54952 + _V8CODEDEFAULTS._serialized_start=54954 + _V8CODEDEFAULTS._serialized_end=54983 + _CLOCKSNAPSHOT._serialized_start=54986 + _CLOCKSNAPSHOT._serialized_end=55388 + _CLOCKSNAPSHOT_CLOCK._serialized_start=55118 + _CLOCKSNAPSHOT_CLOCK._serialized_end=55388 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55217 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55388 + _CSWITCHETWEVENT._serialized_start=55391 + _CSWITCHETWEVENT._serialized_end=57009 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55967 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56712 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56714 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56765 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56768 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56903 + _READYTHREADETWEVENT._serialized_start=57012 + _READYTHREADETWEVENT._serialized_end=57532 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57271 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57359 + _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57361 + _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57483 + _MEMINFOETWEVENT._serialized_start=57535 + _MEMINFOETWEVENT._serialized_end=57935 + _FILEIOCREATEETWEVENT._serialized_start=57938 + _FILEIOCREATEETWEVENT._serialized_end=58102 + _FILEIODIRENUMETWEVENT._serialized_start=58105 + _FILEIODIRENUMETWEVENT._serialized_end=58273 + _FILEIOINFOETWEVENT._serialized_start=58276 + _FILEIOINFOETWEVENT._serialized_end=58406 + _FILEIOREADWRITEETWEVENT._serialized_start=58409 + _FILEIOREADWRITEETWEVENT._serialized_end=58555 + _FILEIOSIMPLEOPETWEVENT._serialized_start=58557 + _FILEIOSIMPLEOPETWEVENT._serialized_end=58651 + _FILEIOOPENDETWEVENT._serialized_start=58653 + _FILEIOOPENDETWEVENT._serialized_end=58730 + _ETWTRACEEVENT._serialized_start=58733 + _ETWTRACEEVENT._serialized_end=59378 + _ETWTRACEEVENTBUNDLE._serialized_start=59380 + _ETWTRACEEVENTBUNDLE._serialized_end=59461 + _EVDEVEVENT._serialized_start=59464 + _EVDEVEVENT._serialized_end=59650 + _EVDEVEVENT_INPUTEVENT._serialized_start=59560 + _EVDEVEVENT_INPUTEVENT._serialized_end=59641 + _FILEDESCRIPTORSET._serialized_start=59652 + _FILEDESCRIPTORSET._serialized_end=59723 + _FILEDESCRIPTORPROTO._serialized_start=59726 + _FILEDESCRIPTORPROTO._serialized_end=60045 + _DESCRIPTORPROTO._serialized_start=60048 + _DESCRIPTORPROTO._serialized_end=60514 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60459 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60502 + _UNINTERPRETEDOPTION._serialized_start=60517 + _UNINTERPRETEDOPTION._serialized_end=60803 + _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60752 + _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60803 + _FIELDOPTIONS._serialized_start=60805 + _FIELDOPTIONS._serialized_end=60904 + _FIELDDESCRIPTORPROTO._serialized_start=60907 + _FIELDDESCRIPTORPROTO._serialized_end=61594 + _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61209 + _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61519 + _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61521 + _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61588 + _ONEOFDESCRIPTORPROTO._serialized_start=61596 + _ONEOFDESCRIPTORPROTO._serialized_end=61680 + _ENUMDESCRIPTORPROTO._serialized_start=61683 + _ENUMDESCRIPTORPROTO._serialized_end=61811 + _ENUMVALUEDESCRIPTORPROTO._serialized_start=61813 + _ENUMVALUEDESCRIPTORPROTO._serialized_end=61875 + _ONEOFOPTIONS._serialized_start=61877 + _ONEOFOPTIONS._serialized_end=61910 + _EXTENSIONDESCRIPTOR._serialized_start=61912 + _EXTENSIONDESCRIPTOR._serialized_end=61992 + _INODEFILEMAP._serialized_start=61995 + _INODEFILEMAP._serialized_end=62259 + _INODEFILEMAP_ENTRY._serialized_start=62113 + _INODEFILEMAP_ENTRY._serialized_end=62259 + _INODEFILEMAP_ENTRY_TYPE._serialized_start=62215 + _INODEFILEMAP_ENTRY_TYPE._serialized_end=62259 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62261 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62338 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62341 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62483 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62485 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62563 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62566 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62709 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62711 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62785 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62787 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62895 + _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62898 + _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63087 + _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63090 + _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63239 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63241 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63297 + _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63299 + _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63417 + _BINDERLOCKFTRACEEVENT._serialized_start=63419 + _BINDERLOCKFTRACEEVENT._serialized_end=63455 + _BINDERLOCKEDFTRACEEVENT._serialized_start=63457 + _BINDERLOCKEDFTRACEEVENT._serialized_end=63495 + _BINDERUNLOCKFTRACEEVENT._serialized_start=63497 + _BINDERUNLOCKFTRACEEVENT._serialized_end=63535 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63537 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63662 + _BINDERCOMMANDFTRACEEVENT._serialized_start=63664 + _BINDERCOMMANDFTRACEEVENT._serialized_end=63703 + _BINDERRETURNFTRACEEVENT._serialized_start=63705 + _BINDERRETURNFTRACEEVENT._serialized_end=63743 + _BLOCKRQISSUEFTRACEEVENT._serialized_start=63746 + _BLOCKRQISSUEFTRACEEVENT._serialized_end=63875 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63877 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=63983 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=63985 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64088 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64090 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64196 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64198 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64305 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64307 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64409 + _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64411 + _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64536 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64538 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64610 + _BLOCKGETRQFTRACEEVENT._serialized_start=64612 + _BLOCKGETRQFTRACEEVENT._serialized_end=64711 + _BLOCKPLUGFTRACEEVENT._serialized_start=64713 + _BLOCKPLUGFTRACEEVENT._serialized_end=64749 + _BLOCKRQABORTFTRACEEVENT._serialized_start=64751 + _BLOCKRQABORTFTRACEEVENT._serialized_end=64867 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64870 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65004 + _BLOCKRQINSERTFTRACEEVENT._serialized_start=65007 + _BLOCKRQINSERTFTRACEEVENT._serialized_end=65137 + _BLOCKRQREMAPFTRACEEVENT._serialized_start=65140 + _BLOCKRQREMAPFTRACEEVENT._serialized_end=65281 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65283 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65401 + _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65403 + _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65504 + _BLOCKSPLITFTRACEEVENT._serialized_start=65506 + _BLOCKSPLITFTRACEEVENT._serialized_end=65606 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65608 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65680 + _BLOCKUNPLUGFTRACEEVENT._serialized_start=65682 + _BLOCKUNPLUGFTRACEEVENT._serialized_end=65735 + _BLOCKIOSTARTFTRACEEVENT._serialized_start=65738 + _BLOCKIOSTARTFTRACEEVENT._serialized_end=65883 + _BLOCKIODONEFTRACEEVENT._serialized_start=65886 + _BLOCKIODONEFTRACEEVENT._serialized_end=66030 + _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66033 + _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66175 + _CGROUPMKDIRFTRACEEVENT._serialized_start=66177 + _CGROUPMKDIRFTRACEEVENT._serialized_end=66271 + _CGROUPREMOUNTFTRACEEVENT._serialized_start=66273 + _CGROUPREMOUNTFTRACEEVENT._serialized_end=66344 + _CGROUPRMDIRFTRACEEVENT._serialized_start=66346 + _CGROUPRMDIRFTRACEEVENT._serialized_end=66440 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66443 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66588 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66590 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66665 + _CGROUPRELEASEFTRACEEVENT._serialized_start=66667 + _CGROUPRELEASEFTRACEEVENT._serialized_end=66763 + _CGROUPRENAMEFTRACEEVENT._serialized_start=66765 + _CGROUPRENAMEFTRACEEVENT._serialized_end=66860 + _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66862 + _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66935 + _CLKENABLEFTRACEEVENT._serialized_start=66937 + _CLKENABLEFTRACEEVENT._serialized_end=66973 + _CLKDISABLEFTRACEEVENT._serialized_start=66975 + _CLKDISABLEFTRACEEVENT._serialized_end=67012 + _CLKSETRATEFTRACEEVENT._serialized_start=67014 + _CLKSETRATEFTRACEEVENT._serialized_end=67065 + _CMAALLOCSTARTFTRACEEVENT._serialized_start=67067 + _CMAALLOCSTARTFTRACEEVENT._serialized_end=67137 + _CMAALLOCINFOFTRACEEVENT._serialized_start=67140 + _CMAALLOCINFOFTRACEEVENT._serialized_end=67336 + _CMAALLOCFINISHFTRACEEVENT._serialized_start=67338 + _CMAALLOCFINISHFTRACEEVENT._serialized_end=67453 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67455 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67576 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67579 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67723 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67726 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67863 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67866 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68005 + _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68008 + _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68143 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68145 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68232 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68234 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68349 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68351 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68469 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68471 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68523 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68525 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68639 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68641 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68718 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68720 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68807 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68809 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68912 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68914 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69030 + _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69032 + _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69109 + _CPUHPEXITFTRACEEVENT._serialized_start=69111 + _CPUHPEXITFTRACEEVENT._serialized_end=69187 + _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69189 + _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69272 + _CPUHPENTERFTRACEEVENT._serialized_start=69274 + _CPUHPENTERFTRACEEVENT._serialized_end=69352 + _CPUHPLATENCYFTRACEEVENT._serialized_start=69354 + _CPUHPLATENCYFTRACEEVENT._serialized_end=69434 + _CPUHPPAUSEFTRACEEVENT._serialized_start=69436 + _CPUHPPAUSEFTRACEEVENT._serialized_end=69523 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69526 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69696 + _DCVSHFREQFTRACEEVENT._serialized_start=69698 + _DCVSHFREQFTRACEEVENT._serialized_end=69747 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69749 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69868 + _DMAFENCEINITFTRACEEVENT._serialized_start=69870 + _DMAFENCEINITFTRACEEVENT._serialized_end=69961 + _DMAFENCEEMITFTRACEEVENT._serialized_start=69963 + _DMAFENCEEMITFTRACEEVENT._serialized_end=70054 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70056 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70151 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70153 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70249 + _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70251 + _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70345 + _DMAHEAPSTATFTRACEEVENT._serialized_start=70347 + _DMAHEAPSTATFTRACEEVENT._serialized_end=70424 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70427 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70556 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70558 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70623 + _DPUDSIRXFTRACEEVENT._serialized_start=70625 + _DPUDSIRXFTRACEEVENT._serialized_end=70675 + _DPUDSITXFTRACEEVENT._serialized_start=70677 + _DPUDSITXFTRACEEVENT._serialized_end=70760 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70762 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70850 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70852 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70934 + _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70936 + _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71023 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71025 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71102 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71105 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71267 + _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71270 + _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71462 + _DWC3CTRLREQFTRACEEVENT._serialized_start=71464 + _DWC3CTRLREQFTRACEEVENT._serialized_end=71590 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71593 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71752 + _DWC3EPQUEUEFTRACEEVENT._serialized_start=71755 + _DWC3EPQUEUEFTRACEEVENT._serialized_end=71912 + _DWC3EVENTFTRACEEVENT._serialized_start=71914 + _DWC3EVENTFTRACEEVENT._serialized_end=71982 + _DWC3FREEREQUESTFTRACEEVENT._serialized_start=71985 + _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72146 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72148 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72271 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72274 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72479 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72482 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72686 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72688 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72765 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72768 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72932 + _DWC3PREPARETRBFTRACEEVENT._serialized_start=72935 + _DWC3PREPARETRBFTRACEEVENT._serialized_end=73126 + _DWC3READLFTRACEEVENT._serialized_start=73128 + _DWC3READLFTRACEEVENT._serialized_end=73208 + _DWC3WRITELFTRACEEVENT._serialized_start=73210 + _DWC3WRITELFTRACEEVENT._serialized_end=73291 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73293 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73389 + _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73391 + _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73486 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73488 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73578 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73580 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73648 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73650 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73748 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73751 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73944 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73946 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74029 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74031 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74112 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74114 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74199 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74202 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74404 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74407 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74575 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74578 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74806 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74809 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75016 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75018 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75121 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75123 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75217 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75219 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75325 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75327 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75398 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75400 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75493 + _EXT4DROPINODEFTRACEEVENT._serialized_start=75495 + _EXT4DROPINODEFTRACEEVENT._serialized_end=75561 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75563 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75676 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75678 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75764 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75767 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75895 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75897 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76011 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76013 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76089 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76092 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76225 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76227 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76311 + _EXT4ESSHRINKFTRACEEVENT._serialized_start=76313 + _EXT4ESSHRINKFTRACEEVENT._serialized_end=76426 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76428 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76510 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76512 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76598 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76600 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76684 + _EXT4EVICTINODEFTRACEEVENT._serialized_start=76686 + _EXT4EVICTINODEFTRACEEVENT._serialized_end=76754 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76757 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76906 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76909 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77108 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77111 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77270 + _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77272 + _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77352 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77354 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77438 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77440 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77542 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77545 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77689 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77691 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77789 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77791 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77891 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77894 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78087 + _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78089 + _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78154 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78157 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78343 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78345 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78442 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78444 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78557 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78559 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78657 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78660 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78797 + _EXT4FORGETFTRACEEVENT._serialized_start=78799 + _EXT4FORGETFTRACEEVENT._serialized_end=78898 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78900 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79012 + _EXT4FREEINODEFTRACEEVENT._serialized_start=79014 + _EXT4FREEINODEFTRACEEVENT._serialized_end=79122 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79124 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79249 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79251 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79344 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79346 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79448 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79451 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79595 + _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79597 + _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79680 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79682 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79786 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79789 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79918 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79920 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=79998 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80000 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80114 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80116 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80219 + _EXT4LOADINODEFTRACEEVENT._serialized_start=80221 + _EXT4LOADINODEFTRACEEVENT._serialized_end=80273 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80275 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80335 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80337 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80406 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80408 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80465 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80467 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80529 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80531 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80600 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80602 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80711 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80713 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80822 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80824 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80905 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80907 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=80996 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=80999 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81389 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81391 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81512 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81514 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81632 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81635 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81861 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81863 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=81984 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=81986 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82081 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82083 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82165 + _EXT4READPAGEFTRACEEVENT._serialized_start=82167 + _EXT4READPAGEFTRACEEVENT._serialized_end=82233 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82235 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82304 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82307 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82507 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82510 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82687 + _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82689 + _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82758 + _EXT4SYNCFSFTRACEEVENT._serialized_start=82760 + _EXT4SYNCFSFTRACEEVENT._serialized_end=82810 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82812 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82921 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82923 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83031 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83033 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83105 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83107 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83178 + _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83180 + _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83264 + _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83266 + _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83332 + _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83334 + _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83428 + _EXT4WRITEENDFTRACEEVENT._serialized_start=83430 + _EXT4WRITEENDFTRACEEVENT._serialized_end=83523 + _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83525 + _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83592 + _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83595 + _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83819 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83822 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=83984 + _EXT4ZERORANGEFTRACEEVENT._serialized_start=83986 + _EXT4ZERORANGEFTRACEEVENT._serialized_end=84081 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84083 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84183 + _F2FSEVICTINODEFTRACEEVENT._serialized_start=84186 + _F2FSEVICTINODEFTRACEEVENT._serialized_end=84328 + _F2FSFALLOCATEFTRACEEVENT._serialized_start=84331 + _F2FSFALLOCATEFTRACEEVENT._serialized_end=84469 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84471 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84590 + _F2FSGETVICTIMFTRACEEVENT._serialized_start=84593 + _F2FSGETVICTIMFTRACEEVENT._serialized_end=84799 + _F2FSIGETFTRACEEVENT._serialized_start=84802 + _F2FSIGETFTRACEEVENT._serialized_end=84938 + _F2FSIGETEXITFTRACEEVENT._serialized_start=84940 + _F2FSIGETEXITFTRACEEVENT._serialized_end=85004 + _F2FSNEWINODEFTRACEEVENT._serialized_start=85006 + _F2FSNEWINODEFTRACEEVENT._serialized_end=85070 + _F2FSREADPAGEFTRACEEVENT._serialized_start=85073 + _F2FSREADPAGEFTRACEEVENT._serialized_end=85216 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85218 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85297 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85300 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85430 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85432 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85534 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85537 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85682 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85684 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85806 + _F2FSSYNCFSFTRACEEVENT._serialized_start=85808 + _F2FSSYNCFSFTRACEEVENT._serialized_end=85873 + _F2FSTRUNCATEFTRACEEVENT._serialized_start=85876 + _F2FSTRUNCATEFTRACEEVENT._serialized_end=86016 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86018 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86124 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86126 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86200 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86202 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86308 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86310 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86421 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86423 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86502 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86504 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86590 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86592 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86684 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86686 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86759 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86761 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86865 + _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86867 + _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86965 + _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86967 + _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87033 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87036 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87167 + _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87169 + _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87263 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87265 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87358 + _F2FSWRITEENDFTRACEEVENT._serialized_start=87360 + _F2FSWRITEENDFTRACEEVENT._serialized_end=87453 + _F2FSIOSTATFTRACEEVENT._serialized_start=87456 + _F2FSIOSTATFTRACEEVENT._serialized_end=87881 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87884 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88467 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88469 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88559 + _F2FSGCBEGINFTRACEEVENT._serialized_start=88562 + _F2FSGCBEGINFTRACEEVENT._serialized_end=88832 + _F2FSGCENDFTRACEEVENT._serialized_start=88835 + _F2FSGCENDFTRACEEVENT._serialized_end=89063 + _FASTRPCDMASTATFTRACEEVENT._serialized_start=89065 + _FASTRPCDMASTATFTRACEEVENT._serialized_end=89143 + _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89145 + _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89213 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89215 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89314 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89316 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89385 + _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89387 + _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89509 + _FENCEINITFTRACEEVENT._serialized_start=89511 + _FENCEINITFTRACEEVENT._serialized_end=89599 + _FENCEDESTROYFTRACEEVENT._serialized_start=89601 + _FENCEDESTROYFTRACEEVENT._serialized_end=89692 + _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89694 + _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89790 + _FENCESIGNALEDFTRACEEVENT._serialized_start=89792 + _FENCESIGNALEDFTRACEEVENT._serialized_end=89884 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89886 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=89994 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=89996 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90109 + _DOSYSOPENFTRACEEVENT._serialized_start=90111 + _DOSYSOPENFTRACEEVENT._serialized_end=90180 + _OPENEXECFTRACEEVENT._serialized_start=90182 + _OPENEXECFTRACEEVENT._serialized_end=90221 + _PRINTFTRACEEVENT._serialized_start=90223 + _PRINTFTRACEEVENT._serialized_end=90266 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90268 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90324 + _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90326 + _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90433 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90435 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90523 + _GENERICFTRACEEVENT._serialized_start=90526 + _GENERICFTRACEEVENT._serialized_end=90720 + _GENERICFTRACEEVENT_FIELD._serialized_start=90626 + _GENERICFTRACEEVENT_FIELD._serialized_end=90720 + _KPROBEEVENT._serialized_start=90723 + _KPROBEEVENT._serialized_end=90913 + _KPROBEEVENT_KPROBETYPE._serialized_start=90807 + _KPROBEEVENT_KPROBETYPE._serialized_end=90913 + _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90915 + _GOOGLEICCEVENTFTRACEEVENT._serialized_end=90976 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=90978 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91039 + _GPUMEMTOTALFTRACEEVENT._serialized_start=91041 + _GPUMEMTOTALFTRACEEVENT._serialized_end=91108 + _DRMSCHEDJOBFTRACEEVENT._serialized_start=91110 + _DRMSCHEDJOBFTRACEEVENT._serialized_end=91232 + _DRMRUNJOBFTRACEEVENT._serialized_start=91234 + _DRMRUNJOBFTRACEEVENT._serialized_end=91354 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91356 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91402 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91404 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91506 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91508 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91580 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91583 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91743 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91746 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91904 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91906 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92015 + _HYPENTERFTRACEEVENT._serialized_start=92017 + _HYPENTERFTRACEEVENT._serialized_end=92038 + _HYPEXITFTRACEEVENT._serialized_start=92040 + _HYPEXITFTRACEEVENT._serialized_end=92060 + _HOSTHCALLFTRACEEVENT._serialized_start=92062 + _HOSTHCALLFTRACEEVENT._serialized_end=92113 + _HOSTSMCFTRACEEVENT._serialized_start=92115 + _HOSTSMCFTRACEEVENT._serialized_end=92166 + _HOSTMEMABORTFTRACEEVENT._serialized_start=92168 + _HOSTMEMABORTFTRACEEVENT._serialized_end=92220 + _HOSTFFACALLFTRACEEVENT._serialized_start=92223 + _HOSTFFACALLFTRACEEVENT._serialized_end=92358 + _IOMMUIDMAPFTRACEEVENT._serialized_start=92360 + _IOMMUIDMAPFTRACEEVENT._serialized_end=92423 + _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92425 + _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92480 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92482 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92543 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92545 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92606 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92608 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92638 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92640 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92713 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92715 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92780 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92782 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92844 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92846 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92877 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92879 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92933 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92935 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=92986 + _I2CREADFTRACEEVENT._serialized_start=92988 + _I2CREADFTRACEEVENT._serialized_end=93086 + _I2CWRITEFTRACEEVENT._serialized_start=93088 + _I2CWRITEFTRACEEVENT._serialized_end=93200 + _I2CRESULTFTRACEEVENT._serialized_start=93202 + _I2CRESULTFTRACEEVENT._serialized_end=93274 + _I2CREPLYFTRACEEVENT._serialized_start=93276 + _I2CREPLYFTRACEEVENT._serialized_end=93388 + _SMBUSREADFTRACEEVENT._serialized_start=93390 + _SMBUSREADFTRACEEVENT._serialized_end=93496 + _SMBUSWRITEFTRACEEVENT._serialized_start=93498 + _SMBUSWRITEFTRACEEVENT._serialized_end=93618 + _SMBUSRESULTFTRACEEVENT._serialized_start=93621 + _SMBUSRESULTFTRACEEVENT._serialized_end=93762 + _SMBUSREPLYFTRACEEVENT._serialized_start=93764 + _SMBUSREPLYFTRACEEVENT._serialized_end=93884 + _IONSTATFTRACEEVENT._serialized_start=93886 + _IONSTATFTRACEEVENT._serialized_end=93963 + _IPIENTRYFTRACEEVENT._serialized_start=93965 + _IPIENTRYFTRACEEVENT._serialized_end=94002 + _IPIEXITFTRACEEVENT._serialized_start=94004 + _IPIEXITFTRACEEVENT._serialized_end=94040 + _IPIRAISEFTRACEEVENT._serialized_start=94042 + _IPIRAISEFTRACEEVENT._serialized_end=94100 + _SOFTIRQENTRYFTRACEEVENT._serialized_start=94102 + _SOFTIRQENTRYFTRACEEVENT._serialized_end=94140 + _SOFTIRQEXITFTRACEEVENT._serialized_start=94142 + _SOFTIRQEXITFTRACEEVENT._serialized_end=94179 + _SOFTIRQRAISEFTRACEEVENT._serialized_start=94181 + _SOFTIRQRAISEFTRACEEVENT._serialized_end=94219 + _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94221 + _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94293 + _IRQHANDLEREXITFTRACEEVENT._serialized_start=94295 + _IRQHANDLEREXITFTRACEEVENT._serialized_end=94348 + _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94350 + _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94394 + _LOCALTIMEREXITFTRACEEVENT._serialized_start=94396 + _LOCALTIMEREXITFTRACEEVENT._serialized_end=94439 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94441 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94504 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94506 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94619 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94622 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94871 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94873 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94968 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94971 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95312 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95314 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95379 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95381 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95447 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95449 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95516 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95518 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95581 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95583 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95647 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95649 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95714 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95716 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95767 + _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95769 + _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95852 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95854 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95956 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95958 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96062 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96064 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96176 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96179 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96307 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96310 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96442 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96444 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96558 + _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96560 + _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96603 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96605 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96700 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96702 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96799 + _IONPREFETCHINGFTRACEEVENT._serialized_start=96801 + _IONPREFETCHINGFTRACEEVENT._serialized_end=96841 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96843 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96934 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96936 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97029 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97031 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97129 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97131 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97231 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97233 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97315 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97317 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97401 + _KFREEFTRACEEVENT._serialized_start=97403 + _KFREEFTRACEEVENT._serialized_end=97453 + _KMALLOCFTRACEEVENT._serialized_start=97455 + _KMALLOCFTRACEEVENT._serialized_end=97566 + _KMALLOCNODEFTRACEEVENT._serialized_start=97569 + _KMALLOCNODEFTRACEEVENT._serialized_end=97698 + _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97700 + _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97818 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97821 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97957 + _KMEMCACHEFREEFTRACEEVENT._serialized_start=97959 + _KMEMCACHEFREEFTRACEEVENT._serialized_end=98017 + _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98019 + _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98061 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98063 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98107 + _MIGRATERETRYFTRACEEVENT._serialized_start=98109 + _MIGRATERETRYFTRACEEVENT._serialized_end=98149 + _MMPAGEALLOCFTRACEEVENT._serialized_start=98151 + _MMPAGEALLOCFTRACEEVENT._serialized_end=98257 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98260 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98446 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98448 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98545 + _MMPAGEFREEFTRACEEVENT._serialized_start=98547 + _MMPAGEFREEFTRACEEVENT._serialized_end=98612 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98614 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98685 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98687 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98778 + _RSSSTATFTRACEEVENT._serialized_start=98780 + _RSSSTATFTRACEEVENT._serialized_end=98859 + _IONHEAPSHRINKFTRACEEVENT._serialized_start=98861 + _IONHEAPSHRINKFTRACEEVENT._serialized_end=98944 + _IONHEAPGROWFTRACEEVENT._serialized_start=98946 + _IONHEAPGROWFTRACEEVENT._serialized_end=99027 + _IONBUFFERCREATEFTRACEEVENT._serialized_start=99029 + _IONBUFFERCREATEFTRACEEVENT._serialized_end=99084 + _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99086 + _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99142 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99145 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99298 + _DMABUFRSSSTATFTRACEEVENT._serialized_start=99300 + _DMABUFRSSSTATFTRACEEVENT._serialized_end=99373 + _KVMACCESSFAULTFTRACEEVENT._serialized_start=99375 + _KVMACCESSFAULTFTRACEEVENT._serialized_end=99415 + _KVMACKIRQFTRACEEVENT._serialized_start=99417 + _KVMACKIRQFTRACEEVENT._serialized_end=99469 + _KVMAGEHVAFTRACEEVENT._serialized_start=99471 + _KVMAGEHVAFTRACEEVENT._serialized_end=99521 + _KVMAGEPAGEFTRACEEVENT._serialized_start=99523 + _KVMAGEPAGEFTRACEEVENT._serialized_end=99607 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99609 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99659 + _KVMARMSETDREG32FTRACEEVENT._serialized_start=99661 + _KVMARMSETDREG32FTRACEEVENT._serialized_end=99718 + _KVMARMSETREGSETFTRACEEVENT._serialized_start=99720 + _KVMARMSETREGSETFTRACEEVENT._serialized_end=99775 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99777 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99841 + _KVMENTRYFTRACEEVENT._serialized_start=99843 + _KVMENTRYFTRACEEVENT._serialized_end=99881 + _KVMEXITFTRACEEVENT._serialized_start=99883 + _KVMEXITFTRACEEVENT._serialized_end=99949 + _KVMFPUFTRACEEVENT._serialized_start=99951 + _KVMFPUFTRACEEVENT._serialized_end=99984 + _KVMGETTIMERMAPFTRACEEVENT._serialized_start=99986 + _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100097 + _KVMGUESTFAULTFTRACEEVENT._serialized_start=100099 + _KVMGUESTFAULTFTRACEEVENT._serialized_end=100183 + _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100185 + _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100226 + _KVMHVCARM64FTRACEEVENT._serialized_start=100228 + _KVMHVCARM64FTRACEEVENT._serialized_end=100294 + _KVMIRQLINEFTRACEEVENT._serialized_start=100296 + _KVMIRQLINEFTRACEEVENT._serialized_end=100383 + _KVMMMIOFTRACEEVENT._serialized_start=100385 + _KVMMMIOFTRACEEVENT._serialized_end=100458 + _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100460 + _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100533 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100535 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100599 + _KVMSETIRQFTRACEEVENT._serialized_start=100601 + _KVMSETIRQFTRACEEVENT._serialized_end=100674 + _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100676 + _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100715 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100717 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100776 + _KVMSYSACCESSFTRACEEVENT._serialized_start=100779 + _KVMSYSACCESSFTRACEEVENT._serialized_end=100918 + _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100920 + _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100959 + _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100961 + _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101029 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101031 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101084 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101086 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101165 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101167 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101243 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101245 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101320 + _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101322 + _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101392 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101394 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101451 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101453 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101498 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101500 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101569 + _KVMWFXARM64FTRACEEVENT._serialized_start=101571 + _KVMWFXARM64FTRACEEVENT._serialized_end=101628 + _TRAPREGFTRACEEVENT._serialized_start=101630 + _TRAPREGFTRACEEVENT._serialized_end=101714 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101716 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101794 + _LOWMEMORYKILLFTRACEEVENT._serialized_start=101796 + _LOWMEMORYKILLFTRACEEVENT._serialized_end=101912 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101914 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102027 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102029 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102118 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102120 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102237 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102239 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102362 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102364 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102485 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102487 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102609 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102611 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102736 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102738 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102861 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102863 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102955 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102957 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103047 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103049 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103157 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103159 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103258 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103260 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103360 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103362 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103458 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103460 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103562 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103564 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103662 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103664 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103761 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103763 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103862 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103864 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103951 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103953 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104036 + _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104038 + _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104120 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104122 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104222 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104224 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104319 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104321 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104407 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104409 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104503 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104505 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104598 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104600 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104690 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104692 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104783 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104785 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104880 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104882 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104969 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104971 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105063 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105065 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105154 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105156 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105245 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105247 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105334 + _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105336 + _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105400 + _MDPCOMMITFTRACEEVENT._serialized_start=105402 + _MDPCOMMITFTRACEEVENT._serialized_end=105492 + _MDPPERFSETOTFTRACEEVENT._serialized_start=105494 + _MDPPERFSETOTFTRACEEVENT._serialized_end=105585 + _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105588 + _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105856 + _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105858 + _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105941 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105943 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106043 + _MDPCOMPAREBWFTRACEEVENT._serialized_start=106046 + _MDPCOMPAREBWFTRACEEVENT._serialized_end=106210 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106212 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106324 + _MDPSSPPSETFTRACEEVENT._serialized_start=106327 + _MDPSSPPSETFTRACEEVENT._serialized_end=106592 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106594 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106659 + _MDPMISRCRCFTRACEEVENT._serialized_start=106661 + _MDPMISRCRCFTRACEEVENT._serialized_end=106734 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106736 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106861 + _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106863 + _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106941 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106943 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=106988 + _MDPMIXERUPDATEFTRACEEVENT._serialized_start=106990 + _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107036 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107039 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107199 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107201 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107273 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107275 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107344 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107347 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107553 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107555 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107636 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107638 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107686 + _MMEVENTRECORDFTRACEEVENT._serialized_start=107688 + _MMEVENTRECORDFTRACEEVENT._serialized_end=107777 + _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107779 + _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107851 + _NETDEVXMITFTRACEEVENT._serialized_start=107853 + _NETDEVXMITFTRACEEVENT._serialized_end=107932 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107935 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108314 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108316 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108360 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108362 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108442 + _MARKVICTIMFTRACEEVENT._serialized_start=108444 + _MARKVICTIMFTRACEEVENT._serialized_end=108480 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108482 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108544 + _DSIRXFTRACEEVENT._serialized_start=108546 + _DSIRXFTRACEEVENT._serialized_end=108593 + _DSITXFTRACEEVENT._serialized_start=108595 + _DSITXFTRACEEVENT._serialized_end=108657 + _PANELWRITEGENERICFTRACEEVENT._serialized_start=108659 + _PANELWRITEGENERICFTRACEEVENT._serialized_end=108786 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108789 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109177 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109179 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109227 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109229 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109313 + _CPUFREQUENCYFTRACEEVENT._serialized_start=109315 + _CPUFREQUENCYFTRACEEVENT._serialized_end=109371 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109373 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109456 + _CPUIDLEFTRACEEVENT._serialized_start=109458 + _CPUIDLEFTRACEEVENT._serialized_end=109509 + _CLOCKENABLEFTRACEEVENT._serialized_start=109511 + _CLOCKENABLEFTRACEEVENT._serialized_end=109580 + _CLOCKDISABLEFTRACEEVENT._serialized_start=109582 + _CLOCKDISABLEFTRACEEVENT._serialized_end=109652 + _CLOCKSETRATEFTRACEEVENT._serialized_start=109654 + _CLOCKSETRATEFTRACEEVENT._serialized_end=109724 + _SUSPENDRESUMEFTRACEEVENT._serialized_start=109726 + _SUSPENDRESUMEFTRACEEVENT._serialized_end=109796 + _GPUFREQUENCYFTRACEEVENT._serialized_start=109798 + _GPUFREQUENCYFTRACEEVENT._serialized_end=109854 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109856 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109918 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109920 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=109984 + _GPUWORKPERIODFTRACEEVENT._serialized_start=109987 + _GPUWORKPERIODFTRACEEVENT._serialized_end=110120 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110122 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110235 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110237 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110316 + _CONSOLEFTRACEEVENT._serialized_start=110318 + _CONSOLEFTRACEEVENT._serialized_end=110351 + _SYSENTERFTRACEEVENT._serialized_start=110353 + _SYSENTERFTRACEEVENT._serialized_end=110400 + _SYSEXITFTRACEEVENT._serialized_start=110402 + _SYSEXITFTRACEEVENT._serialized_end=110447 + _REGULATORDISABLEFTRACEEVENT._serialized_start=110449 + _REGULATORDISABLEFTRACEEVENT._serialized_end=110492 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110494 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110545 + _REGULATORENABLEFTRACEEVENT._serialized_start=110547 + _REGULATORENABLEFTRACEEVENT._serialized_end=110589 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110591 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110641 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110643 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110690 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110692 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110764 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110766 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110833 + _RPMSTATUSFTRACEEVENT._serialized_start=110835 + _RPMSTATUSFTRACEEVENT._serialized_end=110887 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110889 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111014 + _SCHEDSWITCHFTRACEEVENT._serialized_start=111017 + _SCHEDSWITCHFTRACEEVENT._serialized_end=111173 + _SCHEDWAKEUPFTRACEEVENT._serialized_start=111175 + _SCHEDWAKEUPFTRACEEVENT._serialized_end=111277 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111279 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111356 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111358 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111439 + _SCHEDWAKINGFTRACEEVENT._serialized_start=111441 + _SCHEDWAKINGFTRACEEVENT._serialized_end=111543 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111545 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111650 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111652 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111729 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111731 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111815 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111817 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111926 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111928 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=111998 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112000 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112056 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112058 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112128 + _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112130 + _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112218 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112221 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112549 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112552 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112689 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112691 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112815 + _SCMCALLSTARTFTRACEEVENT._serialized_start=112817 + _SCMCALLSTARTFTRACEEVENT._serialized_end=112883 + _SCMCALLENDFTRACEEVENT._serialized_start=112885 + _SCMCALLENDFTRACEEVENT._serialized_end=112908 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112910 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113031 + _SDESDEEVTLOGFTRACEEVENT._serialized_start=113033 + _SDESDEEVTLOGFTRACEEVENT._serialized_end=113107 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113110 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113290 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113293 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113576 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113578 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113694 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113696 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113796 + _SIGNALDELIVERFTRACEEVENT._serialized_start=113798 + _SIGNALDELIVERFTRACEEVENT._serialized_end=113869 + _SIGNALGENERATEFTRACEEVENT._serialized_start=113871 + _SIGNALGENERATEFTRACEEVENT._serialized_end=113983 + _KFREESKBFTRACEEVENT._serialized_start=113985 + _KFREESKBFTRACEEVENT._serialized_end=114059 + _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114062 + _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114237 + _SYNCPTFTRACEEVENT._serialized_start=114239 + _SYNCPTFTRACEEVENT._serialized_end=114291 + _SYNCTIMELINEFTRACEEVENT._serialized_start=114293 + _SYNCTIMELINEFTRACEEVENT._serialized_end=114347 + _SYNCWAITFTRACEEVENT._serialized_start=114349 + _SYNCWAITFTRACEEVENT._serialized_end=114415 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114417 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114505 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114507 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114555 + _ZEROFTRACEEVENT._serialized_start=114557 + _ZEROFTRACEEVENT._serialized_end=114630 + _TASKNEWTASKFTRACEEVENT._serialized_start=114632 + _TASKNEWTASKFTRACEEVENT._serialized_end=114727 + _TASKRENAMEFTRACEEVENT._serialized_start=114729 + _TASKRENAMEFTRACEEVENT._serialized_end=114822 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114825 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114962 + _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114964 + _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115062 + _CDEVUPDATEFTRACEEVENT._serialized_start=115064 + _CDEVUPDATEFTRACEEVENT._serialized_end=115117 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115120 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115348 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115351 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115513 + _HRTIMERSTARTFTRACEEVENT._serialized_start=115515 + _HRTIMERSTARTFTRACEEVENT._serialized_end=115627 + _HRTIMERCANCELFTRACEEVENT._serialized_start=115629 + _HRTIMERCANCELFTRACEEVENT._serialized_end=115672 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115674 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115753 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115755 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115802 + _TIMERSTARTFTRACEEVENT._serialized_start=115805 + _TIMERSTARTFTRACEEVENT._serialized_end=115949 + _TIMERCANCELFTRACEEVENT._serialized_start=115951 + _TIMERCANCELFTRACEEVENT._serialized_end=115990 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=115992 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116084 + _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116086 + _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116129 + _TRUSTYSMCFTRACEEVENT._serialized_start=116131 + _TRUSTYSMCFTRACEEVENT._serialized_end=116201 + _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116203 + _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116242 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116244 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116320 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116322 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116367 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116369 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116441 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116443 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116548 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116550 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116594 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116596 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116657 + _TRUSTYIRQFTRACEEVENT._serialized_start=116659 + _TRUSTYIRQFTRACEEVENT._serialized_end=116694 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116696 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116779 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116781 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116853 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116855 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116929 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116932 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117062 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117064 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117141 + _TRUSTYIPCREADFTRACEEVENT._serialized_start=117143 + _TRUSTYIPCREADFTRACEEVENT._serialized_end=117201 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117203 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117317 + _TRUSTYIPCRXFTRACEEVENT._serialized_start=117319 + _TRUSTYIPCRXFTRACEEVENT._serialized_end=117391 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117393 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117464 + _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117467 + _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117653 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117655 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117716 + _V4L2QBUFFTRACEEVENT._serialized_start=117719 + _V4L2QBUFFTRACEEVENT._serialized_end=118130 + _V4L2DQBUFFTRACEEVENT._serialized_start=118133 + _V4L2DQBUFFTRACEEVENT._serialized_end=118545 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118548 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118918 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118921 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119290 + _VB2V4L2QBUFFTRACEEVENT._serialized_start=119293 + _VB2V4L2QBUFFTRACEEVENT._serialized_end=119659 + _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119662 + _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120029 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120032 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120197 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120200 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120368 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120370 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120430 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120432 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120496 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120499 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120695 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120698 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120898 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120900 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=120996 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=120998 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121057 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121059 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121131 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121133 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121178 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121181 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121414 + _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121417 + _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121562 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121564 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121612 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121614 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121678 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121680 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121746 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121748 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121860 + _FTRACEEVENT._serialized_start=121864 + _FTRACEEVENT._serialized_end=166767 + _FTRACECPUSTATS._serialized_start=166770 + _FTRACECPUSTATS._serialized_end=166963 + _FTRACEKPROBESTATS._serialized_start=166965 + _FTRACEKPROBESTATS._serialized_end=167014 + _FTRACESTATS._serialized_start=167017 + _FTRACESTATS._serialized_end=167600 + _FTRACESTATS_PHASE._serialized_start=167538 + _FTRACESTATS_PHASE._serialized_end=167600 + _FTRACEEVENTBUNDLE._serialized_start=167603 + _FTRACEEVENTBUNDLE._serialized_end=168683 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168141 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168507 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168509 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168593 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168595 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168683 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168685 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168747 + _GENERICKERNELTASKSTATEEVENT._serialized_start=168750 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169168 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168911 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169168 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169170 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169227 + _GENERICKERNELPROCESSTREE._serialized_start=169230 + _GENERICKERNELPROCESSTREE._serialized_end=169522 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169395 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169467 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169469 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169522 + _GPUCOUNTEREVENT._serialized_start=169525 + _GPUCOUNTEREVENT._serialized_end=169776 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169690 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169776 + _GPULOG._serialized_start=169779 + _GPULOG._serialized_end=170039 + _GPULOG_SEVERITY._serialized_start=169876 + _GPULOG_SEVERITY._serialized_end=170039 + _GPURENDERSTAGEEVENT._serialized_start=170042 + _GPURENDERSTAGEEVENT._serialized_end=170961 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170551 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170591 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170594 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170955 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170862 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170905 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170907 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170955 + _INTERNEDGRAPHICSCONTEXT._serialized_start=170964 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171134 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171076 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171134 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171137 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171375 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171316 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171375 + _VULKANAPIEVENT._serialized_start=171378 + _VULKANAPIEVENT._serialized_end=171821 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171564 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171678 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171681 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171812 + _VULKANMEMORYEVENTANNOTATION._serialized_start=171823 + _VULKANMEMORYEVENTANNOTATION._serialized_end=171945 + _VULKANMEMORYEVENT._serialized_start=171948 + _VULKANMEMORYEVENT._serialized_end=172820 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172433 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172566 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172568 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172685 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172688 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172820 + _INTERNEDSTRING._serialized_start=172822 + _INTERNEDSTRING._serialized_end=172864 + _LINE._serialized_start=172866 + _LINE._serialized_end=172942 + _ADDRESSSYMBOLS._serialized_start=172944 + _ADDRESSSYMBOLS._serialized_end=173015 + _MODULESYMBOLS._serialized_start=173017 + _MODULESYMBOLS._serialized_end=173122 + _MAPPING._serialized_start=173125 + _MAPPING._serialized_end=173281 + _FRAME._serialized_start=173283 + _FRAME._serialized_end=173365 + _CALLSTACK._serialized_start=173367 + _CALLSTACK._serialized_end=173410 + _HISTOGRAMNAME._serialized_start=173412 + _HISTOGRAMNAME._serialized_end=173454 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173456 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173546 + _DEBUGANNOTATION._serialized_start=173549 + _DEBUGANNOTATION._serialized_end=174489 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174061 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174441 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174391 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174441 + _DEBUGANNOTATIONNAME._serialized_start=174491 + _DEBUGANNOTATIONNAME._serialized_end=174539 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174541 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174598 + _LOGMESSAGE._serialized_start=174601 + _LOGMESSAGE._serialized_end=174860 + _LOGMESSAGE_PRIORITY._serialized_start=174715 + _LOGMESSAGE_PRIORITY._serialized_end=174860 + _LOGMESSAGEBODY._serialized_start=174862 + _LOGMESSAGEBODY._serialized_end=174905 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174907 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174984 + _SOURCELOCATION._serialized_start=174986 + _SOURCELOCATION._serialized_end=175078 + _CHROMEACTIVEPROCESSES._serialized_start=175080 + _CHROMEACTIVEPROCESSES._serialized_end=175116 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175119 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175485 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175245 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175485 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175488 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176575 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176379 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176569 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176578 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180288 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176769 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178068 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177308 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177469 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177472 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177619 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177622 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177866 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177869 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178068 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178071 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180288 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179965 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180149 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180152 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180282 + _BEGINFRAMEARGS._serialized_start=180291 + _BEGINFRAMEARGS._serialized_end=180845 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180667 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180829 + _BEGINIMPLFRAMEARGS._serialized_start=180848 + _BEGINIMPLFRAMEARGS._serialized_end=181424 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181165 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181358 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181360 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181416 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181426 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181549 + _BEGINFRAMESOURCESTATE._serialized_start=181552 + _BEGINFRAMESOURCESTATE._serialized_end=181697 + _COMPOSITORTIMINGHISTORY._serialized_start=181700 + _COMPOSITORTIMINGHISTORY._serialized_end=182080 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182082 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182144 + _CHROMEFRAMEREPORTER._serialized_start=182147 + _CHROMEFRAMEREPORTER._serialized_end=183267 + _CHROMEFRAMEREPORTER_STATE._serialized_start=182862 + _CHROMEFRAMEREPORTER_STATE._serialized_end=182971 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182973 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183099 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183101 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183224 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183226 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183263 + _CHROMEKEYEDSERVICE._serialized_start=183269 + _CHROMEKEYEDSERVICE._serialized_end=183303 + _CHROMELATENCYINFO._serialized_start=183306 + _CHROMELATENCYINFO._serialized_end=185088 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183635 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183748 + _CHROMELATENCYINFO_STEP._serialized_start=183751 + _CHROMELATENCYINFO_STEP._serialized_end=184153 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184156 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184913 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184916 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185088 + _CHROMELEGACYIPC._serialized_start=185091 + _CHROMELEGACYIPC._serialized_end=186065 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185203 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186065 + _CHROMEMESSAGEPUMP._serialized_start=186067 + _CHROMEMESSAGEPUMP._serialized_end=186151 + _CHROMEMOJOEVENTINFO._serialized_start=186154 + _CHROMEMOJOEVENTINFO._serialized_end=186358 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186360 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186486 + _CHROMEUSEREVENT._serialized_start=186488 + _CHROMEUSEREVENT._serialized_end=186542 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186544 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186624 + _SCREENSHOT._serialized_start=186626 + _SCREENSHOT._serialized_end=186657 + _TASKEXECUTION._serialized_start=186659 + _TASKEXECUTION._serialized_end=186699 + _TRACKEVENT._serialized_start=186702 + _TRACKEVENT._serialized_end=189869 + _TRACKEVENT_LEGACYEVENT._serialized_start=188891 + _TRACKEVENT_LEGACYEVENT._serialized_end=189573 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189382 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189462 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189464 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189561 + _TRACKEVENT_TYPE._serialized_start=189575 + _TRACKEVENT_TYPE._serialized_end=189681 + _TRACKEVENTDEFAULTS._serialized_start=189871 + _TRACKEVENTDEFAULTS._serialized_end=189988 + _EVENTCATEGORY._serialized_start=189990 + _EVENTCATEGORY._serialized_end=190032 + _EVENTNAME._serialized_start=190034 + _EVENTNAME._serialized_end=190072 + _INTERNEDDATA._serialized_start=190075 + _INTERNEDDATA._serialized_end=192190 + _MEMORYTRACKERSNAPSHOT._serialized_start=192193 + _MEMORYTRACKERSNAPSHOT._serialized_end=193201 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192408 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193126 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192622 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193033 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192806 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193033 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192987 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193033 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193035 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193126 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193128 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193201 + _PERFETTOMETATRACE._serialized_start=193204 + _PERFETTOMETATRACE._serialized_end=193749 + _PERFETTOMETATRACE_ARG._serialized_start=193561 + _PERFETTOMETATRACE_ARG._serialized_end=193688 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193690 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193734 + _TRACINGSERVICEEVENT._serialized_start=193752 + _TRACINGSERVICEEVENT._serialized_end=194402 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194230 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194388 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194327 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194388 + _ANDROIDENERGYCONSUMER._serialized_start=194404 + _ANDROIDENERGYCONSUMER._serialized_end=194500 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194502 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194601 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194604 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194924 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194871 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194924 + _ENTITYSTATERESIDENCY._serialized_start=194927 + _ENTITYSTATERESIDENCY._serialized_end=195370 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195108 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195210 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195213 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195370 + _BATTERYCOUNTERS._serialized_start=195373 + _BATTERYCOUNTERS._serialized_end=195550 + _POWERRAILS._serialized_start=195553 + _POWERRAILS._serialized_end=195880 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=195719 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=195813 + _POWERRAILS_ENERGYDATA._serialized_start=195815 + _POWERRAILS_ENERGYDATA._serialized_end=195880 + _OBFUSCATEDMEMBER._serialized_start=195882 + _OBFUSCATEDMEMBER._serialized_end=195952 + _OBFUSCATEDCLASS._serialized_start=195955 + _OBFUSCATEDCLASS._serialized_end=196150 + _DEOBFUSCATIONMAPPING._serialized_start=196153 + _DEOBFUSCATIONMAPPING._serialized_end=196281 + _HEAPGRAPHROOT._serialized_start=196284 + _HEAPGRAPHROOT._serialized_end=196722 + _HEAPGRAPHROOT_TYPE._serialized_start=196382 + _HEAPGRAPHROOT_TYPE._serialized_end=196722 + _HEAPGRAPHTYPE._serialized_start=196725 + _HEAPGRAPHTYPE._serialized_end=197209 + _HEAPGRAPHTYPE_KIND._serialized_start=196947 + _HEAPGRAPHTYPE_KIND._serialized_end=197209 + _HEAPGRAPHOBJECT._serialized_start=197212 + _HEAPGRAPHOBJECT._serialized_end=197668 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197554 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197654 + _HEAPGRAPH._serialized_start=197671 + _HEAPGRAPH._serialized_end=197991 + _PROFILEPACKET._serialized_start=197994 + _PROFILEPACKET._serialized_end=199462 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198302 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198488 + _PROFILEPACKET_HISTOGRAM._serialized_start=198491 + _PROFILEPACKET_HISTOGRAM._serialized_end=198634 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198570 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198634 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198637 + _PROFILEPACKET_PROCESSSTATS._serialized_end=198859 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198862 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199462 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199357 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199462 + _STREAMINGALLOCATION._serialized_start=199465 + _STREAMINGALLOCATION._serialized_end=199622 + _STREAMINGFREE._serialized_start=199624 + _STREAMINGFREE._serialized_end=199698 + _STREAMINGPROFILEPACKET._serialized_start=199700 + _STREAMINGPROFILEPACKET._serialized_end=199801 + _PROFILING._serialized_start=199804 + _PROFILING._serialized_end=200460 + _PROFILING_CPUMODE._serialized_start=199817 + _PROFILING_CPUMODE._serialized_end=199941 + _PROFILING_STACKUNWINDERROR._serialized_start=199944 + _PROFILING_STACKUNWINDERROR._serialized_end=200460 + _PERFSAMPLE._serialized_start=200463 + _PERFSAMPLE._serialized_end=201342 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=200887 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201107 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200998 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201076 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201110 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201283 + _PERFSAMPLEDEFAULTS._serialized_start=201345 + _PERFSAMPLEDEFAULTS._serialized_end=201531 + _SMAPSENTRY._serialized_start=201534 + _SMAPSENTRY._serialized_end=201921 + _SMAPSPACKET._serialized_start=201923 + _SMAPSPACKET._serialized_end=201995 + _PROCESSSTATS._serialized_start=201998 + _PROCESSSTATS._serialized_end=202825 + _PROCESSSTATS_THREAD._serialized_start=202106 + _PROCESSSTATS_THREAD._serialized_end=202145 + _PROCESSSTATS_FDINFO._serialized_start=202147 + _PROCESSSTATS_FDINFO._serialized_end=202181 + _PROCESSSTATS_PROCESS._serialized_start=202184 + _PROCESSSTATS_PROCESS._serialized_end=202825 + _PROCESSTREE._serialized_start=202828 + _PROCESSTREE._serialized_end=203220 + _PROCESSTREE_THREAD._serialized_start=202988 + _PROCESSTREE_THREAD._serialized_end=203052 + _PROCESSTREE_PROCESS._serialized_start=203055 + _PROCESSTREE_PROCESS._serialized_end=203220 + _REMOTECLOCKSYNC._serialized_start=203223 + _REMOTECLOCKSYNC._serialized_end=203434 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203312 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203434 + _ATOM._serialized_start=203436 + _ATOM._serialized_end=203442 + _STATSDATOM._serialized_start=203444 + _STATSDATOM._serialized_end=203518 + _SYSSTATS._serialized_start=203521 + _SYSSTATS._serialized_end=205545 + _SYSSTATS_MEMINFOVALUE._serialized_start=204309 + _SYSSTATS_MEMINFOVALUE._serialized_end=204385 + _SYSSTATS_VMSTATVALUE._serialized_start=204387 + _SYSSTATS_VMSTATVALUE._serialized_end=204461 + _SYSSTATS_CPUTIMES._serialized_start=204464 + _SYSSTATS_CPUTIMES._serialized_end=204644 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204646 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204690 + _SYSSTATS_DEVFREQVALUE._serialized_start=204692 + _SYSSTATS_DEVFREQVALUE._serialized_end=204734 + _SYSSTATS_BUDDYINFO._serialized_start=204736 + _SYSSTATS_BUDDYINFO._serialized_end=204796 + _SYSSTATS_DISKSTAT._serialized_start=204799 + _SYSSTATS_DISKSTAT._serialized_end=205014 + _SYSSTATS_PSISAMPLE._serialized_start=205017 + _SYSSTATS_PSISAMPLE._serialized_end=205325 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205116 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205325 + _SYSSTATS_THERMALZONE._serialized_start=205327 + _SYSSTATS_THERMALZONE._serialized_end=205382 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205384 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205439 + _SYSSTATS_CPUIDLESTATE._serialized_start=205441 + _SYSSTATS_CPUIDLESTATE._serialized_end=205545 + _CPUINFO._serialized_start=205548 + _CPUINFO._serialized_end=205880 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205603 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205713 + _CPUINFO_CPU._serialized_start=205716 + _CPUINFO_CPU._serialized_end=205880 + _TESTEVENT._serialized_start=205883 + _TESTEVENT._serialized_end=206262 + _TESTEVENT_TESTPAYLOAD._serialized_start=206020 + _TESTEVENT_TESTPAYLOAD._serialized_end=206262 + _TRACEPACKETDEFAULTS._serialized_start=206265 + _TRACEPACKETDEFAULTS._serialized_end=206507 + _TRACEUUID._serialized_start=206509 + _TRACEUUID._serialized_end=206546 + _PROCESSDESCRIPTOR._serialized_start=206549 + _PROCESSDESCRIPTOR._serialized_end=207036 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206811 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207036 + _TRACKEVENTRANGEOFINTEREST._serialized_start=207038 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207083 + _THREADDESCRIPTOR._serialized_start=207086 + _THREADDESCRIPTOR._serialized_end=207842 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207371 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207842 + _CHROMEPROCESSDESCRIPTOR._serialized_start=207845 + _CHROMEPROCESSDESCRIPTOR._serialized_end=208000 + _CHROMETHREADDESCRIPTOR._serialized_start=208002 + _CHROMETHREADDESCRIPTOR._serialized_end=208100 + _COUNTERDESCRIPTOR._serialized_start=208103 + _COUNTERDESCRIPTOR._serialized_end=208558 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208362 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208473 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208475 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208558 + _TRACKDESCRIPTOR._serialized_start=208561 + _TRACKDESCRIPTOR._serialized_end=209613 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209285 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209371 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209374 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209560 + _TRANSLATIONTABLE._serialized_start=209616 + _TRANSLATIONTABLE._serialized_end=210109 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210112 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210286 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210237 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210286 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210289 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210480 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210425 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210480 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210483 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210838 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210730 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210783 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210785 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210838 + _SLICENAMETRANSLATIONTABLE._serialized_start=210841 + _SLICENAMETRANSLATIONTABLE._serialized_end=211035 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210975 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211035 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211038 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211246 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210975 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211035 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211249 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211413 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210237 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210286 + _TRIGGER._serialized_start=211415 + _TRIGGER._serialized_end=211522 + _UISTATE._serialized_start=211525 + _UISTATE._serialized_end=211722 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211658 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=211722 + _TRACEPACKET._serialized_start=211725 + _TRACEPACKET._serialized_end=217909 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217722 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217826 + _TRACE._serialized_start=217911 + _TRACE._serialized_end=217964 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index f398f467d54..fb0046fd278 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -15229,7 +15229,7 @@ class Trace(_message.Message): def __init__(self, packet: _Optional[_Iterable[_Union[TracePacket, _Mapping]]] = ...) -> None: ... class TraceConfig(_message.Message): - __slots__ = ["activate_triggers", "allow_user_build_tracing", "android_report_config", "buffers", "bugreport_filename", "bugreport_score", "builtin_data_sources", "cmd_trace_start_delay", "compression_type", "data_source_stop_timeout_ms", "data_sources", "deferred_start", "duration_ms", "enable_extra_guardrails", "exclusive_prio", "file_write_period_ms", "flush_period_ms", "flush_timeout_ms", "guardrail_overrides", "incident_report_config", "incremental_state_config", "lockdown_mode", "max_file_size_bytes", "notify_traceur", "output_path", "prefer_suspend_clock_for_duration", "priority_boost", "producers", "session_semaphores", "statsd_logging", "statsd_metadata", "trace_filter", "trace_uuid_lsb", "trace_uuid_msb", "trigger_config", "unique_session_name", "write_into_file"] + __slots__ = ["activate_triggers", "allow_user_build_tracing", "android_report_config", "buffers", "bugreport_filename", "bugreport_score", "builtin_data_sources", "cmd_trace_start_delay", "compression_type", "data_source_stop_timeout_ms", "data_sources", "deferred_start", "duration_ms", "enable_extra_guardrails", "exclusive_prio", "file_write_period_ms", "flush_period_ms", "flush_timeout_ms", "guardrail_overrides", "incident_report_config", "incremental_state_config", "lockdown_mode", "max_file_size_bytes", "no_flush_before_write_into_file", "notify_traceur", "output_path", "prefer_suspend_clock_for_duration", "priority_boost", "producers", "session_semaphores", "statsd_logging", "statsd_metadata", "trace_filter", "trace_uuid_lsb", "trace_uuid_msb", "trigger_config", "unique_session_name", "write_into_file"] class CompressionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] class LockdownModeOperation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -15442,6 +15442,7 @@ class TraceConfig(_message.Message): LOCKDOWN_UNCHANGED: TraceConfig.LockdownModeOperation MAX_FILE_SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] NOTIFY_TRACEUR_FIELD_NUMBER: _ClassVar[int] + NO_FLUSH_BEFORE_WRITE_INTO_FILE_FIELD_NUMBER: _ClassVar[int] OUTPUT_PATH_FIELD_NUMBER: _ClassVar[int] PREFER_SUSPEND_CLOCK_FOR_DURATION_FIELD_NUMBER: _ClassVar[int] PRIORITY_BOOST_FIELD_NUMBER: _ClassVar[int] @@ -15481,6 +15482,7 @@ class TraceConfig(_message.Message): incremental_state_config: TraceConfig.IncrementalStateConfig lockdown_mode: TraceConfig.LockdownModeOperation max_file_size_bytes: int + no_flush_before_write_into_file: bool notify_traceur: bool output_path: str prefer_suspend_clock_for_duration: bool @@ -15495,7 +15497,7 @@ class TraceConfig(_message.Message): trigger_config: TraceConfig.TriggerConfig unique_session_name: str write_into_file: bool - def __init__(self, buffers: _Optional[_Iterable[_Union[TraceConfig.BufferConfig, _Mapping]]] = ..., data_sources: _Optional[_Iterable[_Union[TraceConfig.DataSource, _Mapping]]] = ..., builtin_data_sources: _Optional[_Union[TraceConfig.BuiltinDataSource, _Mapping]] = ..., duration_ms: _Optional[int] = ..., prefer_suspend_clock_for_duration: bool = ..., enable_extra_guardrails: bool = ..., lockdown_mode: _Optional[_Union[TraceConfig.LockdownModeOperation, str]] = ..., producers: _Optional[_Iterable[_Union[TraceConfig.ProducerConfig, _Mapping]]] = ..., statsd_metadata: _Optional[_Union[TraceConfig.StatsdMetadata, _Mapping]] = ..., write_into_file: bool = ..., output_path: _Optional[str] = ..., file_write_period_ms: _Optional[int] = ..., max_file_size_bytes: _Optional[int] = ..., guardrail_overrides: _Optional[_Union[TraceConfig.GuardrailOverrides, _Mapping]] = ..., deferred_start: bool = ..., flush_period_ms: _Optional[int] = ..., flush_timeout_ms: _Optional[int] = ..., data_source_stop_timeout_ms: _Optional[int] = ..., notify_traceur: bool = ..., bugreport_score: _Optional[int] = ..., bugreport_filename: _Optional[str] = ..., trigger_config: _Optional[_Union[TraceConfig.TriggerConfig, _Mapping]] = ..., activate_triggers: _Optional[_Iterable[str]] = ..., incremental_state_config: _Optional[_Union[TraceConfig.IncrementalStateConfig, _Mapping]] = ..., allow_user_build_tracing: bool = ..., unique_session_name: _Optional[str] = ..., compression_type: _Optional[_Union[TraceConfig.CompressionType, str]] = ..., incident_report_config: _Optional[_Union[TraceConfig.IncidentReportConfig, _Mapping]] = ..., statsd_logging: _Optional[_Union[TraceConfig.StatsdLogging, str]] = ..., trace_uuid_msb: _Optional[int] = ..., trace_uuid_lsb: _Optional[int] = ..., trace_filter: _Optional[_Union[TraceConfig.TraceFilter, _Mapping]] = ..., android_report_config: _Optional[_Union[TraceConfig.AndroidReportConfig, _Mapping]] = ..., cmd_trace_start_delay: _Optional[_Union[TraceConfig.CmdTraceStartDelay, _Mapping]] = ..., session_semaphores: _Optional[_Iterable[_Union[TraceConfig.SessionSemaphore, _Mapping]]] = ..., priority_boost: _Optional[_Union[PriorityBoostConfig, _Mapping]] = ..., exclusive_prio: _Optional[int] = ...) -> None: ... + def __init__(self, buffers: _Optional[_Iterable[_Union[TraceConfig.BufferConfig, _Mapping]]] = ..., data_sources: _Optional[_Iterable[_Union[TraceConfig.DataSource, _Mapping]]] = ..., builtin_data_sources: _Optional[_Union[TraceConfig.BuiltinDataSource, _Mapping]] = ..., duration_ms: _Optional[int] = ..., prefer_suspend_clock_for_duration: bool = ..., enable_extra_guardrails: bool = ..., lockdown_mode: _Optional[_Union[TraceConfig.LockdownModeOperation, str]] = ..., producers: _Optional[_Iterable[_Union[TraceConfig.ProducerConfig, _Mapping]]] = ..., statsd_metadata: _Optional[_Union[TraceConfig.StatsdMetadata, _Mapping]] = ..., write_into_file: bool = ..., output_path: _Optional[str] = ..., file_write_period_ms: _Optional[int] = ..., max_file_size_bytes: _Optional[int] = ..., guardrail_overrides: _Optional[_Union[TraceConfig.GuardrailOverrides, _Mapping]] = ..., deferred_start: bool = ..., flush_period_ms: _Optional[int] = ..., flush_timeout_ms: _Optional[int] = ..., data_source_stop_timeout_ms: _Optional[int] = ..., notify_traceur: bool = ..., bugreport_score: _Optional[int] = ..., bugreport_filename: _Optional[str] = ..., trigger_config: _Optional[_Union[TraceConfig.TriggerConfig, _Mapping]] = ..., activate_triggers: _Optional[_Iterable[str]] = ..., incremental_state_config: _Optional[_Union[TraceConfig.IncrementalStateConfig, _Mapping]] = ..., allow_user_build_tracing: bool = ..., unique_session_name: _Optional[str] = ..., compression_type: _Optional[_Union[TraceConfig.CompressionType, str]] = ..., incident_report_config: _Optional[_Union[TraceConfig.IncidentReportConfig, _Mapping]] = ..., statsd_logging: _Optional[_Union[TraceConfig.StatsdLogging, str]] = ..., trace_uuid_msb: _Optional[int] = ..., trace_uuid_lsb: _Optional[int] = ..., trace_filter: _Optional[_Union[TraceConfig.TraceFilter, _Mapping]] = ..., android_report_config: _Optional[_Union[TraceConfig.AndroidReportConfig, _Mapping]] = ..., cmd_trace_start_delay: _Optional[_Union[TraceConfig.CmdTraceStartDelay, _Mapping]] = ..., session_semaphores: _Optional[_Iterable[_Union[TraceConfig.SessionSemaphore, _Mapping]]] = ..., priority_boost: _Optional[_Union[PriorityBoostConfig, _Mapping]] = ..., exclusive_prio: _Optional[int] = ..., no_flush_before_write_into_file: bool = ...) -> None: ... class TracePacket(_message.Message): __slots__ = ["android_camera_frame_event", "android_camera_session_stats", "android_energy_estimation_breakdown", "android_game_intervention_list", "android_log", "android_system_property", "app_wakelock_bundle", "battery", "bluetooth_trace_event", "chrome_benchmark_metadata", "chrome_events", "chrome_metadata", "chrome_trigger", "clock_snapshot", "clone_snapshot_trigger", "compressed_packets", "cpu_info", "cpu_per_uid_data", "deobfuscation_mapping", "entity_state_residency", "etw_events", "evdev_event", "extension_descriptor", "first_packet_on_sequence", "for_testing", "frame_timeline_event", "ftrace_events", "ftrace_stats", "generic_kernel_cpu_freq_event", "generic_kernel_process_tree", "generic_kernel_task_rename_event", "generic_kernel_task_state_event", "gpu_counter_event", "gpu_log", "gpu_mem_total_event", "gpu_render_stage_event", "graphics_frame_event", "heap_graph", "incremental_state_cleared", "initial_display_state", "inode_file_map", "interned_data", "kernel_wakelock_data", "machine_id", "memory_tracker_snapshot", "module_symbols", "network_packet", "network_packet_bundle", "packages_list", "perf_sample", "perfetto_metatrace", "pixel_modem_events", "pixel_modem_token_database", "power_rails", "previous_packet_dropped", "process_descriptor", "process_stats", "process_tree", "profile_packet", "protolog_message", "protolog_viewer_config", "remote_clock_sync", "sequence_flags", "service_event", "shell_handler_mappings", "shell_transition", "smaps_packet", "statsd_atom", "streaming_allocation", "streaming_free", "streaming_profile_packet", "surfaceflinger_layers_snapshot", "surfaceflinger_transactions", "synchronization_marker", "sys_stats", "system_info", "thread_descriptor", "timestamp", "timestamp_clock_id", "trace_config", "trace_packet_defaults", "trace_stats", "trace_uuid", "track_descriptor", "track_event", "track_event_range_of_interest", "translation_table", "trigger", "trusted_packet_sequence_id", "trusted_pid", "trusted_uid", "ui_state", "v8_code_move", "v8_internal_code", "v8_js_code", "v8_reg_exp_code", "v8_wasm_code", "vulkan_api_event", "vulkan_memory_event", "winscope_extensions"] diff --git a/src/tracing/service/tracing_service_impl.cc b/src/tracing/service/tracing_service_impl.cc index ae758da6812..5065bfb58d9 100644 --- a/src/tracing/service/tracing_service_impl.cc +++ b/src/tracing/service/tracing_service_impl.cc @@ -1414,8 +1414,13 @@ void TracingServiceImpl::StartTracing(TracingSessionID tsid) { // Start the periodic drain tasks if we should to save the trace into a file. if (tracing_session->config.write_into_file()) { - weak_runner_.PostDelayedTask([this, tsid] { ReadBuffersIntoFile(tsid); }, - DelayToNextWritePeriodMs(*tracing_session)); + bool async_flush_buffers_before_read = + !tracing_session->config.no_flush_before_write_into_file(); + weak_runner_.PostDelayedTask( + [this, tsid, async_flush_buffers_before_read] { + ReadBuffersIntoFile(tsid, async_flush_buffers_before_read); + }, + DelayToNextWritePeriodMs(*tracing_session)); } // Start the periodic flush tasks if the config specified a flush period. @@ -1949,7 +1954,9 @@ void TracingServiceImpl::DisableTracingNotifyConsumerAndFlushFile( if (tracing_session->write_into_file) { tracing_session->write_period_ms = 0; - ReadBuffersIntoFile(tracing_session->id); + // Buffers are scraped, no need to flush before reading into file. + ReadBuffersIntoFile(tracing_session->id, + /* async_flush_buffers_before_read = */ false); } MaybeLogUploadEvent(tracing_session->config, tracing_session->trace_uuid, @@ -2435,7 +2442,9 @@ bool TracingServiceImpl::ReadBuffersIntoConsumer( return true; } -bool TracingServiceImpl::ReadBuffersIntoFile(TracingSessionID tsid) { +bool TracingServiceImpl::ReadBuffersIntoFile( + TracingSessionID tsid, + bool async_flush_buffers_before_read) { PERFETTO_DCHECK_THREAD(thread_checker_); TracingSession* tracing_session = GetTracingSession(tsid); if (!tracing_session) { @@ -2452,35 +2461,61 @@ bool TracingServiceImpl::ReadBuffersIntoFile(TracingSessionID tsid) { if (IsWaitingForTrigger(tracing_session)) return false; - // ReadBuffers() can allocate memory internally, for filtering. By limiting - // the data that ReadBuffers() reads to kWriteIntoChunksSize per iteration, - // we limit the amount of memory used on each iteration. - // - // It would be tempting to split this into multiple tasks like in - // ReadBuffersIntoConsumer, but that's not currently possible. - // ReadBuffersIntoFile has to read the whole available data before returning, - // to support the disable_immediately=true code paths. - bool has_more = true; - bool stop_writing_into_file = false; - do { - std::vector packets = - ReadBuffers(tracing_session, kWriteIntoFileChunkSize, &has_more); - - stop_writing_into_file = WriteIntoFile(tracing_session, std::move(packets)); - } while (has_more && !stop_writing_into_file); + auto do_read_buffers_into_file_fn = + [this, tsid](bool async_flush_buffers_before_read) { + TracingSession* tracing_session = GetTracingSession(tsid); + if (!tracing_session) + return; + // ReadBuffers() can allocate memory internally, for filtering. By + // limiting the data that ReadBuffers() reads to kWriteIntoChunksSize + // per iteration, we limit the amount of memory used on each iteration. + // + // It would be tempting to split this into multiple tasks like in + // ReadBuffersIntoConsumer, but that's not currently possible. + // ReadBuffersIntoFile has to read the whole available data before + // returning, to support the disable_immediately=true code paths. + bool has_more = true; + bool stop_writing_into_file = false; + do { + std::vector packets = + ReadBuffers(tracing_session, kWriteIntoFileChunkSize, &has_more); + + stop_writing_into_file = + WriteIntoFile(tracing_session, std::move(packets)); + } while (has_more && !stop_writing_into_file); + + if (stop_writing_into_file || tracing_session->write_period_ms == 0) { + // Ensure all data was written to the file before we close it. + base::FlushFile(tracing_session->write_into_file.get()); + tracing_session->write_into_file.reset(); + tracing_session->write_period_ms = 0; + if (tracing_session->state == TracingSession::STARTED) + DisableTracing(tsid); + return; + } - if (stop_writing_into_file || tracing_session->write_period_ms == 0) { - // Ensure all data was written to the file before we close it. - base::FlushFile(tracing_session->write_into_file.get()); - tracing_session->write_into_file.reset(); - tracing_session->write_period_ms = 0; - if (tracing_session->state == TracingSession::STARTED) - DisableTracing(tsid); - return true; + weak_runner_.PostDelayedTask( + [this, tsid, async_flush_buffers_before_read] { + ReadBuffersIntoFile(tsid, async_flush_buffers_before_read); + }, + DelayToNextWritePeriodMs(*tracing_session)); + }; + + if (async_flush_buffers_before_read) { + Flush( + tsid, 0, + [do_read_buffers_into_file_fn](bool success) { + if (!success) + PERFETTO_ELOG("ReadBuffersIntoFile flush timed out"); + do_read_buffers_into_file_fn( + /* async_flush_buffers_before_read= */ true); + }, + FlushFlags(FlushFlags::Initiator::kTraced, + FlushFlags::Reason::kPeriodic)); + } else { + do_read_buffers_into_file_fn(/* async_flush_buffers_before_read= */ false); } - weak_runner_.PostDelayedTask([this, tsid] { ReadBuffersIntoFile(tsid); }, - DelayToNextWritePeriodMs(*tracing_session)); return true; } @@ -4505,7 +4540,9 @@ base::Status TracingServiceImpl::FinishCloneSession( if (output_file_fd) { cloned_session->write_into_file = std::move(output_file_fd); cloned_session->write_period_ms = 0; - ReadBuffersIntoFile(cloned_session->id); + // Buffers are flushed, no need to flush again before reading into file. + ReadBuffersIntoFile(cloned_session->id, + /* async_flush_buffers_before_read= */ false); } return base::OkStatus(); diff --git a/src/tracing/service/tracing_service_impl.h b/src/tracing/service/tracing_service_impl.h index fe4e9c5a942..be7020f2b0e 100644 --- a/src/tracing/service/tracing_service_impl.h +++ b/src/tracing/service/tracing_service_impl.h @@ -382,6 +382,9 @@ class TracingServiceImpl : public TracingService { // Reads all the tracing buffers from the tracing session `tsid` and writes // them into the associated file. + // If `async_flush_buffers_before_read` is `true` this function becomes + // asynchronous: immediately posts a `Flush` task and returns. Reads the + // buffers when the flush is done, inside the `FlushCallback`. // // Reads all the data in the buffers (or until the file is full) before // returning. @@ -391,7 +394,8 @@ class TracingServiceImpl : public TracingService { // to be executed after write_period_ms. // // Returns false in case of error. - bool ReadBuffersIntoFile(TracingSessionID); + bool ReadBuffersIntoFile(TracingSessionID tsid, + bool async_flush_buffers_before_read); void FreeBuffers(TracingSessionID tsid, const std::string& error = {}); diff --git a/src/tracing/service/tracing_service_impl_unittest.cc b/src/tracing/service/tracing_service_impl_unittest.cc index 1d94fe7a7f3..626eeb8d6aa 100644 --- a/src/tracing/service/tracing_service_impl_unittest.cc +++ b/src/tracing/service/tracing_service_impl_unittest.cc @@ -2279,6 +2279,90 @@ TEST_F(TracingServiceImplTest, WriteIntoFileWithPath) { Property(&protos::gen::TestEvent::str, Eq("payload"))))); } +TEST_F(TracingServiceImplTest, FlushBeforeWriteIntoFile) { + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(10000); // 10s + // Flush before write into file is turned on by default. + + auto write_into_file_session_file = base::TempFile::Create(); + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + // Don't manually flush writer, keep data in the producer buffer. + + producer->ExpectFlush(writer.get()); + AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), + ElementsAre("payload #1")); + } +} + +TEST_F(TracingServiceImplTest, NoFlushBeforeWriteIntoFile) { + std::unique_ptr consumer = CreateMockConsumer(); + consumer->Connect(svc.get()); + + std::unique_ptr producer = CreateMockProducer(); + producer->Connect(svc.get(), "mock_producer"); + producer->RegisterDataSource("data_source"); + + TraceConfig trace_config; + trace_config.add_buffers()->set_size_kb(128); + trace_config.add_data_sources()->mutable_config()->set_name("data_source"); + trace_config.set_write_into_file(true); + trace_config.set_file_write_period_ms(10000); // 10s + trace_config.set_no_flush_before_write_into_file(true); + + auto write_into_file_session_file = base::TempFile::Create(); + consumer->EnableTracing( + trace_config, base::ScopedFile(dup(write_into_file_session_file.fd()))); + + producer->WaitForTracingSetup(); + producer->WaitForDataSourceSetup("data_source"); + producer->WaitForDataSourceStart("data_source"); + + std::unique_ptr writer = + producer->CreateTraceWriter("data_source"); + { + auto tp = writer->NewTracePacket(); + tp->set_for_testing()->set_str("payload #1"); + } + // Don't manually flush writer, keep data in the producer buffer. + + AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); + + { + protos::gen::Trace trace; + ASSERT_TRUE( + ParseNotEmptyTraceFromFile(write_into_file_session_file, trace)); + EXPECT_THAT(GetForTestingStrings(trace.packet()), IsEmpty()); + } +} + TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionBeforeWrite) { if (!base::flags::buffer_clone_preserve_read_iter) { GTEST_SKIP() << "This test requires buffer_clone_preserve_read_iter=true"; @@ -2416,6 +2500,8 @@ TEST_F(TracingServiceImplTest, WriteIntoFileCloneSessionAfterWrite) { // Advance timer, traced should write the data to the 'write_into_file' // session output file. + // ReadBuffersIntoFile() will implicitly issue a flush. + producer->ExpectFlush(writer.get()); AdvanceTimeAndRunUntilIdle(trace_config.file_write_period_ms()); { @@ -3346,6 +3432,8 @@ TEST_F(TracingServiceImplTest, ResynchronizeTraceStreamUsingSyncMarker) { if (i % (100 / kNumMarkers) == 0) { writer->Flush(); // The snapshot will happen every 100ms + // Each ReadBuffersIntoFile() will implicitly issue a flush. + producer->ExpectFlush(writer.get()); AdvanceTimeAndRunUntilIdle(100); } } From b8036a07d4c35638a3f1f4c4da53596d40413383 Mon Sep 17 00:00:00 2001 From: Daniele Di Proietto Date: Fri, 10 Oct 2025 19:48:11 +0100 Subject: [PATCH 058/370] shared_lib: Split track_event.cc into multiple files (#3209) There should be no functional change. --- Android.bp | 7 + BUILD | 12 + src/shared_lib/track_event/BUILD.gn | 16 +- src/shared_lib/track_event/category_impl.cc | 54 + src/shared_lib/track_event/category_impl.h | 36 + src/shared_lib/track_event/category_utils.cc | 112 ++ src/shared_lib/track_event/category_utils.h | 34 + src/shared_lib/track_event/ds.cc | 76 + src/shared_lib/track_event/ds.h | 153 ++ src/shared_lib/track_event/global_state.cc | 124 ++ src/shared_lib/track_event/global_state.h | 63 + src/shared_lib/track_event/hl.cc | 554 ++++++++ src/shared_lib/track_event/ll.cc | 171 +++ src/shared_lib/track_event/serialization.cc | 206 +++ src/shared_lib/track_event/serialization.h | 41 + src/shared_lib/track_event/track_event.cc | 1330 +----------------- 16 files changed, 1679 insertions(+), 1310 deletions(-) create mode 100644 src/shared_lib/track_event/category_impl.cc create mode 100644 src/shared_lib/track_event/category_impl.h create mode 100644 src/shared_lib/track_event/category_utils.cc create mode 100644 src/shared_lib/track_event/category_utils.h create mode 100644 src/shared_lib/track_event/ds.cc create mode 100644 src/shared_lib/track_event/ds.h create mode 100644 src/shared_lib/track_event/global_state.cc create mode 100644 src/shared_lib/track_event/global_state.h create mode 100644 src/shared_lib/track_event/hl.cc create mode 100644 src/shared_lib/track_event/ll.cc create mode 100644 src/shared_lib/track_event/serialization.cc create mode 100644 src/shared_lib/track_event/serialization.h diff --git a/Android.bp b/Android.bp index 2998f91a917..ba37d87280a 100644 --- a/Android.bp +++ b/Android.bp @@ -13787,6 +13787,13 @@ filegroup { filegroup { name: "perfetto_src_shared_lib_track_event_track_event", srcs: [ + "src/shared_lib/track_event/category_impl.cc", + "src/shared_lib/track_event/category_utils.cc", + "src/shared_lib/track_event/ds.cc", + "src/shared_lib/track_event/global_state.cc", + "src/shared_lib/track_event/hl.cc", + "src/shared_lib/track_event/ll.cc", + "src/shared_lib/track_event/serialization.cc", "src/shared_lib/track_event/track_event.cc", ], } diff --git a/BUILD b/BUILD index ad63087ada1..f4763b59312 100644 --- a/BUILD +++ b/BUILD @@ -1635,6 +1635,18 @@ perfetto_filegroup( perfetto_filegroup( name = "src_shared_lib_track_event_track_event", srcs = [ + "src/shared_lib/track_event/category_impl.cc", + "src/shared_lib/track_event/category_impl.h", + "src/shared_lib/track_event/category_utils.cc", + "src/shared_lib/track_event/category_utils.h", + "src/shared_lib/track_event/ds.cc", + "src/shared_lib/track_event/ds.h", + "src/shared_lib/track_event/global_state.cc", + "src/shared_lib/track_event/global_state.h", + "src/shared_lib/track_event/hl.cc", + "src/shared_lib/track_event/ll.cc", + "src/shared_lib/track_event/serialization.cc", + "src/shared_lib/track_event/serialization.h", "src/shared_lib/track_event/track_event.cc", ], ) diff --git a/src/shared_lib/track_event/BUILD.gn b/src/shared_lib/track_event/BUILD.gn index e90441abf6f..cca074f2cc8 100644 --- a/src/shared_lib/track_event/BUILD.gn +++ b/src/shared_lib/track_event/BUILD.gn @@ -36,7 +36,21 @@ source_set("track_event") { "../../base", "../../tracing:client_api", ] - sources = [ "track_event.cc" ] + sources = [ + "category_impl.cc", + "category_impl.h", + "category_utils.cc", + "category_utils.h", + "ds.cc", + "ds.h", + "global_state.cc", + "global_state.h", + "hl.cc", + "ll.cc", + "serialization.cc", + "serialization.h", + "track_event.cc", + ] defines = [ "PERFETTO_SHLIB_SDK_IMPLEMENTATION" ] } diff --git a/src/shared_lib/track_event/category_impl.cc b/src/shared_lib/track_event/category_impl.cc new file mode 100644 index 00000000000..adfffc96eb8 --- /dev/null +++ b/src/shared_lib/track_event/category_impl.cc @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/shared_lib/track_event/category_impl.h" + +#include "perfetto/base/logging.h" +#include "perfetto/tracing/internal/basic_types.h" + +void PerfettoTeCategoryImpl::EnableInstance(uint32_t instance_index) { + PERFETTO_DCHECK(instance_index < perfetto::internal::kMaxDataSourceInstances); + // Matches the acquire_load in DataSource::Trace(). + uint8_t old = instances.fetch_or(static_cast(1u << instance_index), + std::memory_order_release); + bool global_state_changed = old == 0; + if (global_state_changed) { + flag.store(true, std::memory_order_relaxed); + } + if (cb) { + cb(this, instance_index, /*created=*/true, global_state_changed, + cb_user_arg); + } +} + +void PerfettoTeCategoryImpl::DisableInstance(uint32_t instance_index) { + PERFETTO_DCHECK(instance_index < perfetto::internal::kMaxDataSourceInstances); + // Matches the acquire_load in DataSource::Trace(). + uint8_t old = instances.fetch_and( + static_cast(~(1u << instance_index)), std::memory_order_release); + if (!(old & static_cast(1u << instance_index))) { + return; + } + bool global_state_changed = false; + if (!instances.load(std::memory_order_relaxed)) { + flag.store(false, std::memory_order_relaxed); + global_state_changed = true; + } + if (cb) { + cb(this, instance_index, /*created=*/false, global_state_changed, + cb_user_arg); + } +} diff --git a/src/shared_lib/track_event/category_impl.h b/src/shared_lib/track_event/category_impl.h new file mode 100644 index 00000000000..d25ae2bbff4 --- /dev/null +++ b/src/shared_lib/track_event/category_impl.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_IMPL_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_IMPL_H_ + +#include + +#include "perfetto/public/abi/track_event_abi.h" + +struct PerfettoTeCategoryImpl { + std::atomic flag{false}; + std::atomic instances{0}; + PerfettoTeCategoryDescriptor* desc = nullptr; + uint64_t cat_iid = 0; + PerfettoTeCategoryImplCallback cb = nullptr; + void* cb_user_arg = nullptr; + + void EnableInstance(uint32_t instance_index); + void DisableInstance(uint32_t instance_index); +}; + +#endif // SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_IMPL_H_ diff --git a/src/shared_lib/track_event/category_utils.cc b/src/shared_lib/track_event/category_utils.cc new file mode 100644 index 00000000000..727679b2e9e --- /dev/null +++ b/src/shared_lib/track_event/category_utils.cc @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/shared_lib/track_event/category_utils.h" +#include +#include "perfetto/ext/base/string_view.h" + +namespace perfetto::shlib { + +namespace { + +enum class MatchType { kExact, kPattern }; + +bool NameMatchesPattern(const std::string& pattern, + const perfetto::base::StringView& name, + MatchType match_type) { + // To avoid pulling in all of std::regex, for now we only support a single "*" + // wildcard at the end of the pattern. + size_t i = pattern.find('*'); + if (i != std::string::npos) { + if (match_type != MatchType::kPattern) + return false; + return name.substr(0, i) == + perfetto::base::StringView(pattern).substr(0, i); + } + return name == perfetto::base::StringView(pattern); +} + +bool NameMatchesPatternList(const std::vector& patterns, + const perfetto::base::StringView& name, + MatchType match_type) { + for (const auto& pattern : patterns) { + if (NameMatchesPattern(pattern, name, match_type)) + return true; + } + return false; +} + +} // namespace + +bool IsSingleCategoryEnabled( + const PerfettoTeCategoryDescriptor& c, + const perfetto::protos::gen::TrackEventConfig& config) { + auto has_matching_tag = [&](std::function matcher) { + for (size_t i = 0; i < c.num_tags; ++i) { + if (matcher(c.tags[i])) + return true; + } + return false; + }; + // First try exact matches, then pattern matches. + const std::array match_types = { + {MatchType::kExact, MatchType::kPattern}}; + for (auto match_type : match_types) { + // 1. Enabled categories. + if (NameMatchesPatternList(config.enabled_categories(), c.name, + match_type)) { + return true; + } + + // 2. Enabled tags. + if (has_matching_tag([&](const char* tag) { + return NameMatchesPatternList(config.enabled_tags(), tag, match_type); + })) { + return true; + } + + // 3. Disabled categories. + if (NameMatchesPatternList(config.disabled_categories(), c.name, + match_type)) { + return false; + } + + // 4. Disabled tags. + if (has_matching_tag([&](const char* tag) { + return NameMatchesPatternList(config.disabled_tags(), tag, + match_type); + })) { + return false; + } + } + + // If nothing matched, the category is disabled by default. N.B. this behavior + // is different than the C++ TrackEvent API. + return false; +} + +void SerializeCategory(const PerfettoTeCategoryDescriptor& desc, + perfetto::protos::pbzero::TrackEventDescriptor* ted) { + auto* c = ted->add_available_categories(); + c->set_name(desc.name); + if (desc.desc) + c->set_description(desc.desc); + for (size_t j = 0; j < desc.num_tags; ++j) { + c->add_tags(desc.tags[j]); + } +} + +} // namespace perfetto::shlib diff --git a/src/shared_lib/track_event/category_utils.h b/src/shared_lib/track_event/category_utils.h new file mode 100644 index 00000000000..0d2d22d93e8 --- /dev/null +++ b/src/shared_lib/track_event/category_utils.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_UTILS_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_UTILS_H_ + +#include "perfetto/public/abi/track_event_abi.h" +#include "protos/perfetto/common/track_event_descriptor.pbzero.h" +#include "protos/perfetto/config/track_event/track_event_config.gen.h" + +namespace perfetto::shlib { + +bool IsSingleCategoryEnabled(const PerfettoTeCategoryDescriptor&, + const perfetto::protos::gen::TrackEventConfig&); + +void SerializeCategory(const PerfettoTeCategoryDescriptor& desc, + perfetto::protos::pbzero::TrackEventDescriptor* ted); + +} // namespace perfetto::shlib + +#endif // SRC_SHARED_LIB_TRACK_EVENT_CATEGORY_UTILS_H_ diff --git a/src/shared_lib/track_event/ds.cc b/src/shared_lib/track_event/ds.cc new file mode 100644 index 00000000000..1c5d67c95ef --- /dev/null +++ b/src/shared_lib/track_event/ds.cc @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/shared_lib/track_event/ds.h" + +#include "src/shared_lib/track_event/category_utils.h" + +namespace perfetto::shlib { + +TrackEvent::~TrackEvent() = default; + +void TrackEvent::OnSetup(const DataSourceBase::SetupArgs& args) { + const std::string& config_raw = args.config->track_event_config_raw(); + bool ok = config_.ParseFromArray(config_raw.data(), config_raw.size()); + if (!ok) { + PERFETTO_LOG("Failed to parse config"); + } + inst_id_ = args.internal_instance_index; +} + +void TrackEvent::OnStart(const DataSourceBase::StartArgs&) { + GlobalState::Instance().OnStart(config_, inst_id_); +} + +void TrackEvent::OnStop(const DataSourceBase::StopArgs&) { + GlobalState::Instance().OnStop(inst_id_); +} + +bool TrackEvent::IsDynamicCategoryEnabled( + uint32_t inst_idx, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const struct PerfettoTeCategoryDescriptor& desc) { + constexpr size_t kMaxCacheSize = 20; + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + auto& cache = incr_state->dynamic_categories; + protozero::HeapBuffered ted; + perfetto::shlib::SerializeCategory(desc, ted.get()); + std::string serialized = ted.SerializeAsString(); + auto* cached = cache.Find(serialized); + if (cached) { + return *cached; + } + + auto* internal_state = ds->static_state()->TryGet(inst_idx); + if (!internal_state) + return false; + std::unique_lock lock(internal_state->lock); + auto* sds = static_cast( + internal_state->data_source.get()); + + bool res = IsSingleCategoryEnabled(desc, sds->GetConfig()); + if (cache.size() < kMaxCacheSize) { + cache[serialized] = res; + } + return res; +} + +} // namespace perfetto::shlib + +PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS( + perfetto::shlib::TrackEvent, + perfetto::shlib::TrackEventDataSourceTraits); diff --git a/src/shared_lib/track_event/ds.h b/src/shared_lib/track_event/ds.h new file mode 100644 index 00000000000..972266aa94c --- /dev/null +++ b/src/shared_lib/track_event/ds.h @@ -0,0 +1,153 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_SHARED_LIB_TRACK_EVENT_DS_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_DS_H_ + +#include + +#include "perfetto/base/flat_set.h" +#include "perfetto/ext/base/flat_hash_map.h" +#include "perfetto/protozero/scattered_heap_buffer.h" +#include "perfetto/public/abi/track_event_abi.h" +#include "perfetto/tracing/data_source.h" +#include "protos/perfetto/common/data_source_descriptor.gen.h" +#include "protos/perfetto/config/track_event/track_event_config.gen.h" +#include "protos/perfetto/trace/interned_data/interned_data.pbzero.h" +#include "src/shared_lib/track_event/category_impl.h" +#include "src/shared_lib/track_event/global_state.h" +#include "src/shared_lib/track_event/intern_map.h" + +namespace perfetto::shlib { + +struct TrackEventIncrementalState { + // A heap-allocated message for storing newly seen interned data while we are + // in the middle of writing a track event. When a track event wants to write + // new interned data into the trace, it is first serialized into this message + // and then flushed to the real trace in EventContext when the packet ends. + // The message is cached here as a part of incremental state so that we can + // reuse the underlying buffer allocation for subsequently written interned + // data. + protozero::HeapBuffered + serialized_interned_data; + uint64_t last_timestamp_ns = 0; + bool was_cleared = true; + base::FlatSet seen_track_uuids; + // Map from serialized representation of a dynamic category to its enabled + // state. + base::FlatHashMap dynamic_categories; + InternMap iids; +}; + +struct TrackEventTlsState { + template + explicit TrackEventTlsState(const TraceContext& trace_context) { + auto locked_ds = trace_context.GetDataSourceLocked(); + bool disable_incremental_timestamps = false; + timestamp_unit_multiplier = 1; + if (locked_ds.valid()) { + const auto& config = locked_ds->GetConfig(); + disable_incremental_timestamps = config.disable_incremental_timestamps(); + if (config.has_timestamp_unit_multiplier() && + config.timestamp_unit_multiplier() != 0) { + timestamp_unit_multiplier = config.timestamp_unit_multiplier(); + } + } + if (disable_incremental_timestamps) { + if (timestamp_unit_multiplier == 1) { + default_clock_id = PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH; + } else { + default_clock_id = PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE; + } + } else { + default_clock_id = PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL; + } + } + uint32_t default_clock_id; + uint64_t timestamp_unit_multiplier; +}; + +struct TrackEventDataSourceTraits : public perfetto::DefaultDataSourceTraits { + using IncrementalStateType = TrackEventIncrementalState; + using TlsStateType = TrackEventTlsState; +}; + +class TrackEvent + : public perfetto::DataSource { + public: + ~TrackEvent() override; + void OnSetup(const DataSourceBase::SetupArgs& args) override; + void OnStart(const DataSourceBase::StartArgs&) override; + void OnStop(const DataSourceBase::StopArgs&) override; + + const perfetto::protos::gen::TrackEventConfig& GetConfig() const { + return config_; + } + + static void Init(DataSourceDescriptor dsd) { + dsd.set_name("track_event"); + Register(dsd); + } + + static void UpdateDescriptorFromCategories(DataSourceDescriptor dsd) { + dsd.set_name("track_event"); + UpdateDescriptor(dsd); + } + + static void CategorySetCallback(struct PerfettoTeCategoryImpl* cat, + PerfettoTeCategoryImplCallback cb, + void* user_arg) { + GlobalState::Instance().CategorySetCallback(cat, cb, user_arg); + } + + static internal::DataSourceType* GetType(); + + static internal::DataSourceThreadLocalState** GetTlsState() { + return &tls_state_; + } + + static bool IsDynamicCategoryEnabled( + uint32_t inst_idx, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const struct PerfettoTeCategoryDescriptor& desc); + + private: + uint32_t inst_id_; + perfetto::protos::gen::TrackEventConfig config_; +}; + +struct TracePointTraits { + struct TracePointData { + struct PerfettoTeCategoryImpl* enabled; + }; + static constexpr std::atomic* GetActiveInstances( + TracePointData data) { + return &data.enabled->instances; + } +}; + +} // namespace perfetto::shlib + +PERFETTO_DECLARE_DATA_SOURCE_STATIC_MEMBERS( + perfetto::shlib::TrackEvent, + perfetto::shlib::TrackEventDataSourceTraits); + +inline perfetto::internal::DataSourceType* +perfetto::shlib::TrackEvent::GetType() { + return &perfetto::shlib::TrackEvent::Helper::type(); +} + +#endif // SRC_SHARED_LIB_TRACK_EVENT_DS_H_ diff --git a/src/shared_lib/track_event/global_state.cc b/src/shared_lib/track_event/global_state.cc new file mode 100644 index 00000000000..eb74f9ebf6f --- /dev/null +++ b/src/shared_lib/track_event/global_state.cc @@ -0,0 +1,124 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/shared_lib/track_event/global_state.h" + +#include "perfetto/protozero/scattered_heap_buffer.h" +#include "perfetto/tracing/internal/basic_types.h" +#include "protos/perfetto/common/data_source_descriptor.gen.h" +#include "protos/perfetto/common/track_event_descriptor.pbzero.h" +#include "src/shared_lib/track_event/category_utils.h" + +namespace perfetto::shlib { + +namespace { + +bool IsRegisteredCategoryEnabled( + const PerfettoTeCategoryImpl& cat, + const perfetto::protos::gen::TrackEventConfig& config) { + if (!cat.desc) { + return false; + } + return IsSingleCategoryEnabled(*cat.desc, config); +} + +} // namespace + +GlobalState::GlobalState() : interned_categories_(0) { + perfetto_te_any_categories = new PerfettoTeCategoryImpl; + perfetto_te_any_categories_enabled = &perfetto_te_any_categories->flag; +} + +void GlobalState::OnStart(const perfetto::protos::gen::TrackEventConfig& config, + uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_) { + std::lock_guard lock(mu_); + perfetto_te_any_categories->EnableInstance(instance_id); + for (PerfettoTeCategoryImpl* cat : categories_) { + if (IsRegisteredCategoryEnabled(*cat, config)) { + cat->EnableInstance(instance_id); + } + } + active_configs_[instance_id] = config; +} + +void GlobalState::OnStop(uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_) { + std::lock_guard lock(mu_); + for (PerfettoTeCategoryImpl* cat : categories_) { + cat->DisableInstance(instance_id); + } + perfetto_te_any_categories->DisableInstance(instance_id); + active_configs_.erase(instance_id); +} + +void GlobalState::RegisterCategory(PerfettoTeCategoryImpl* cat) + PERFETTO_LOCKS_EXCLUDED(mu_) { + { + std::lock_guard lock(mu_); + for (const auto& [instance_id, config] : active_configs_) { + if (IsRegisteredCategoryEnabled(*cat, config)) { + cat->EnableInstance(instance_id); + } + } + categories_.push_back(cat); + cat->cat_iid = ++interned_categories_; + } +} + +void GlobalState::UnregisterCategory(PerfettoTeCategoryImpl* cat) + PERFETTO_LOCKS_EXCLUDED(mu_) { + std::lock_guard lock(mu_); + categories_.erase(std::remove(categories_.begin(), categories_.end(), cat), + categories_.end()); +} + +void GlobalState::CategorySetCallback(struct PerfettoTeCategoryImpl* cat, + PerfettoTeCategoryImplCallback cb, + void* user_arg) + PERFETTO_LOCKS_EXCLUDED(mu_) { + std::lock_guard lock(mu_); + cat->cb = cb; + cat->cb_user_arg = user_arg; + if (!cat->cb) { + return; + } + + bool first = true; + uint8_t active_instances = cat->instances.load(std::memory_order_relaxed); + for (PerfettoDsInstanceIndex i = 0; i < internal::kMaxDataSourceInstances; + i++) { + if ((active_instances & (1 << i)) == 0) { + continue; + } + cb(cat, i, true, first, user_arg); + first = false; + } +} + +DataSourceDescriptor GlobalState::GenerateDescriptorFromCategories() const { + DataSourceDescriptor dsd; + + protozero::HeapBuffered ted; + { + std::lock_guard lock(mu_); + for (PerfettoTeCategoryImpl* cat : categories_) { + SerializeCategory(*cat->desc, ted.get()); + } + } + dsd.set_track_event_descriptor_raw(ted.SerializeAsString()); + return dsd; +} + +} // namespace perfetto::shlib diff --git a/src/shared_lib/track_event/global_state.h b/src/shared_lib/track_event/global_state.h new file mode 100644 index 00000000000..fce42a03ca1 --- /dev/null +++ b/src/shared_lib/track_event/global_state.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_SHARED_LIB_TRACK_EVENT_GLOBAL_STATE_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_GLOBAL_STATE_H_ + +#include +#include +#include + +#include "perfetto/base/thread_annotations.h" +#include "perfetto/tracing/core/forward_decls.h" +#include "protos/perfetto/config/track_event/track_event_config.gen.h" +#include "src/shared_lib/track_event/category_impl.h" + +namespace perfetto::shlib { + +class GlobalState { + public: + static GlobalState& Instance() { + static GlobalState* instance = new GlobalState(); + return *instance; + } + + void OnStart(const perfetto::protos::gen::TrackEventConfig& config, + uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_); + void OnStop(uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_); + void RegisterCategory(PerfettoTeCategoryImpl* cat) + PERFETTO_LOCKS_EXCLUDED(mu_); + void UnregisterCategory(PerfettoTeCategoryImpl* cat) + PERFETTO_LOCKS_EXCLUDED(mu_); + void CategorySetCallback(struct PerfettoTeCategoryImpl* cat, + PerfettoTeCategoryImplCallback cb, + void* user_arg) PERFETTO_LOCKS_EXCLUDED(mu_); + DataSourceDescriptor GenerateDescriptorFromCategories() const + PERFETTO_LOCKS_EXCLUDED(mu_); + + private: + GlobalState(); + + mutable std::mutex mu_; + std::vector categories_ PERFETTO_GUARDED_BY(mu_); + std::unordered_map + active_configs_ PERFETTO_GUARDED_BY(mu_); + uint64_t interned_categories_ PERFETTO_GUARDED_BY(mu_); +}; + +} // namespace perfetto::shlib + +#endif // SRC_SHARED_LIB_TRACK_EVENT_GLOBAL_STATE_H_ diff --git a/src/shared_lib/track_event/hl.cc b/src/shared_lib/track_event/hl.cc new file mode 100644 index 00000000000..2cfd2d1f80f --- /dev/null +++ b/src/shared_lib/track_event/hl.cc @@ -0,0 +1,554 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "perfetto/public/abi/track_event_hl_abi.h" + +#include "perfetto/tracing/internal/track_event_internal.h" +#include "src/shared_lib/track_event/ds.h" +#include "src/shared_lib/track_event/serialization.h" + +namespace perfetto::shlib { +namespace { + +using perfetto::internal::TrackEventInternal; + +protos::pbzero::TrackEvent::Type EventType(int32_t type) { + using Type = protos::pbzero::TrackEvent::Type; + auto enum_type = static_cast(type); + switch (enum_type) { + case PERFETTO_TE_TYPE_SLICE_BEGIN: + return Type::TYPE_SLICE_BEGIN; + case PERFETTO_TE_TYPE_SLICE_END: + return Type::TYPE_SLICE_END; + case PERFETTO_TE_TYPE_INSTANT: + return Type::TYPE_INSTANT; + case PERFETTO_TE_TYPE_COUNTER: + return Type::TYPE_COUNTER; + } + return Type::TYPE_UNSPECIFIED; +} + +// Appends the fields described by `fields` to `msg`. +void AppendHlProtoFields(protozero::Message* msg, + PerfettoTeHlProtoField* const* fields) { + for (PerfettoTeHlProtoField* const* p = fields; *p != nullptr; p++) { + switch ((*p)->type) { + case PERFETTO_TE_HL_PROTO_TYPE_CSTR: { + auto field = reinterpret_cast(*p); + msg->AppendString(field->header.id, field->str); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_BYTES: { + auto field = reinterpret_cast(*p); + msg->AppendBytes(field->header.id, field->buf, field->len); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_NESTED: { + auto field = reinterpret_cast(*p); + auto* nested = + msg->BeginNestedMessage(field->header.id); + AppendHlProtoFields(nested, field->fields); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_VARINT: { + auto field = reinterpret_cast(*p); + msg->AppendVarInt(field->header.id, field->value); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_FIXED64: { + auto field = reinterpret_cast(*p); + msg->AppendFixed(field->header.id, field->value); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_FIXED32: { + auto field = reinterpret_cast(*p); + msg->AppendFixed(field->header.id, field->value); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_DOUBLE: { + auto field = reinterpret_cast(*p); + msg->AppendFixed(field->header.id, field->value); + break; + } + case PERFETTO_TE_HL_PROTO_TYPE_FLOAT: { + auto field = reinterpret_cast(*p); + msg->AppendFixed(field->header.id, field->value); + break; + } + } + } +} + +void WriteTrackEvent(TrackEventIncrementalState* incr, + protos::pbzero::TrackEvent* event, + PerfettoTeCategoryImpl* cat, + protos::pbzero::TrackEvent::Type type, + const char* name, + const PerfettoTeHlExtra* const* extra_data, + std::optional track_uuid, + const PerfettoTeCategoryDescriptor* dynamic_cat, + bool use_interning) { + if (type != protos::pbzero::TrackEvent::TYPE_UNSPECIFIED) { + event->set_type(type); + } + + if (!dynamic_cat && type != protos::pbzero::TrackEvent::TYPE_SLICE_END && + type != protos::pbzero::TrackEvent::TYPE_COUNTER) { + uint64_t iid = cat->cat_iid; + auto res = incr->iids.FindOrAssign( + protos::pbzero::InternedData::kEventCategoriesFieldNumber, &iid, + sizeof(iid)); + if (res.newly_assigned) { + auto* ser = incr->serialized_interned_data->add_event_categories(); + ser->set_iid(iid); + ser->set_name(cat->desc->name); + } + event->add_category_iids(iid); + } + + if (type != protos::pbzero::TrackEvent::TYPE_SLICE_END) { + if (name) { + if (use_interning) { + const void* str = name; + size_t len = strlen(name); + auto res = incr->iids.FindOrAssign( + protos::pbzero::InternedData::kEventNamesFieldNumber, str, len); + if (res.newly_assigned) { + auto* ser = incr->serialized_interned_data->add_event_names(); + ser->set_iid(res.iid); + ser->set_name(name); + } + event->set_name_iid(res.iid); + } else { + event->set_name(name); + } + } + } + + if (dynamic_cat && type != protos::pbzero::TrackEvent::TYPE_SLICE_END && + type != protos::pbzero::TrackEvent::TYPE_COUNTER) { + event->add_categories(dynamic_cat->name); + } + + if (track_uuid) { + event->set_track_uuid(*track_uuid); + } + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_INT64 && + type == protos::pbzero::TrackEvent::TYPE_COUNTER) { + event->set_counter_value( + reinterpret_cast(extra) + .value); + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_DOUBLE) { + event->set_double_counter_value( + reinterpret_cast(extra) + .value); + } + } + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_BOOL || + extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_UINT64 || + extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_INT64 || + extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_DOUBLE || + extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_STRING || + extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_POINTER) { + auto* dbg = event->add_debug_annotations(); + const char* arg_name = nullptr; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_BOOL) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_bool_value(arg.value); + arg_name = arg.name; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_UINT64) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_uint_value(arg.value); + arg_name = arg.name; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_INT64) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_int_value(arg.value); + arg_name = arg.name; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_DOUBLE) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_double_value(arg.value); + arg_name = arg.name; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_STRING) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_string_value(arg.value); + arg_name = arg.name; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_POINTER) { + const auto& arg = + reinterpret_cast( + extra); + dbg->set_pointer_value(arg.value); + arg_name = arg.name; + } + + if (arg_name != nullptr) { + const void* str = arg_name; + size_t len = strlen(arg_name); + auto res = incr->iids.FindOrAssign( + protos::pbzero::InternedData::kDebugAnnotationNamesFieldNumber, str, + len); + if (res.newly_assigned) { + auto* ser = + incr->serialized_interned_data->add_debug_annotation_names(); + ser->set_iid(res.iid); + ser->set_name(arg_name); + } + dbg->set_name_iid(res.iid); + } + } + } + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_FLOW) { + event->add_flow_ids( + reinterpret_cast(extra).id); + } + } + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_TERMINATING_FLOW) { + event->add_terminating_flow_ids( + reinterpret_cast(extra).id); + } + } + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_PROTO_FIELDS) { + const auto* fields = + reinterpret_cast(extra) + .fields; + AppendHlProtoFields(event, fields); + } + } +} + +uint64_t EmitNamedTrack(uint64_t parent_uuid, + const char* name, + uint64_t id, + perfetto::shlib::TrackEventIncrementalState* incr_state, + perfetto::TraceWriterBase* trace_writer) { + uint64_t uuid = parent_uuid; + uuid ^= PerfettoFnv1a(name, strlen(name)); + uuid ^= id; + if (incr_state->seen_track_uuids.insert(uuid).second) { + auto packet = trace_writer->NewTracePacket(); + auto* track_descriptor = packet->set_track_descriptor(); + track_descriptor->set_uuid(uuid); + if (parent_uuid) { + track_descriptor->set_parent_uuid(parent_uuid); + } + track_descriptor->set_name(name); + } + return uuid; +} + +uint64_t EmitRegisteredTrack( + const PerfettoTeRegisteredTrackImpl* registered_track, + perfetto::shlib::TrackEventIncrementalState* incr_state, + perfetto::TraceWriterBase* trace_writer) { + if (incr_state->seen_track_uuids.insert(registered_track->uuid).second) { + auto packet = trace_writer->NewTracePacket(); + auto* track_descriptor = packet->set_track_descriptor(); + track_descriptor->AppendRawProtoBytes(registered_track->descriptor, + registered_track->descriptor_size); + } + return registered_track->uuid; +} + +uint64_t EmitProtoTrack(uint64_t uuid, + PerfettoTeHlProtoField* const* fields, + perfetto::shlib::TrackEventIncrementalState* incr_state, + perfetto::TraceWriterBase* trace_writer) { + if (incr_state->seen_track_uuids.insert(uuid).second) { + auto packet = trace_writer->NewTracePacket(); + auto* track_descriptor = packet->set_track_descriptor(); + track_descriptor->set_uuid(uuid); + AppendHlProtoFields(track_descriptor, fields); + } + return uuid; +} + +uint64_t EmitProtoTrackWithParentUuid( + uint64_t uuid, + uint64_t parent_uuid, + PerfettoTeHlProtoField* const* fields, + perfetto::shlib::TrackEventIncrementalState* incr_state, + perfetto::TraceWriterBase* trace_writer) { + if (incr_state->seen_track_uuids.insert(uuid).second) { + auto packet = trace_writer->NewTracePacket(); + auto* track_descriptor = packet->set_track_descriptor(); + track_descriptor->set_uuid(uuid); + track_descriptor->set_parent_uuid(parent_uuid); + AppendHlProtoFields(track_descriptor, fields); + } + return uuid; +} + +// If the category `dyn_cat` is enabled on the data source instance pointed by +// `ii`, returns immediately. Otherwise, advances `ii` to a data source instance +// where `dyn_cat` is enabled. If there's no data source instance where +// `dyn_cat` is enabled, `ii->instance` will be nullptr. +void AdvanceToFirstEnabledDynamicCategory( + internal::DataSourceType::InstancesIterator* ii, + internal::DataSourceThreadLocalState* tls_state, + struct PerfettoTeCategoryImpl* cat, + const PerfettoTeCategoryDescriptor& dyn_cat) { + internal::DataSourceType* ds = shlib::TrackEvent::GetType(); + for (; ii->instance; ds->NextIteration( + ii, tls_state, {cat})) { + auto* incr_state = static_cast( + ds->GetIncrementalState(ii->instance, ii->i)); + if (shlib::TrackEvent::IsDynamicCategoryEnabled(ii->i, incr_state, + dyn_cat)) { + break; + } + } +} + +void InstanceOp(internal::DataSourceType* ds, + internal::DataSourceType::InstancesIterator* ii, + internal::DataSourceThreadLocalState* tls_state, + struct PerfettoTeCategoryImpl* cat, + protos::pbzero::TrackEvent::Type type, + const char* name, + struct PerfettoTeHlExtra* const* extra_data) { + if (!ii->instance) { + return; + } + + std::variant + track; + std::optional track_uuid; + + const struct PerfettoTeHlExtraTimestamp* custom_timestamp = nullptr; + const struct PerfettoTeCategoryDescriptor* dynamic_cat = nullptr; + std::optional int_counter; + std::optional double_counter; + bool use_interning = true; + bool flush = false; + + for (const auto* it = extra_data; *it != nullptr; it++) { + const struct PerfettoTeHlExtra& extra = **it; + if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_REGISTERED_TRACK) { + const auto& cast = + reinterpret_cast( + extra); + track = cast.track; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NAMED_TRACK) { + track = + &reinterpret_cast(extra); + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_PROTO_TRACK) { + track = + &reinterpret_cast(extra); + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NESTED_TRACKS) { + auto* nested = + &reinterpret_cast(extra); + track = nested; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_TIMESTAMP) { + custom_timestamp = + &reinterpret_cast(extra); + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DYNAMIC_CATEGORY) { + dynamic_cat = + reinterpret_cast( + extra) + .desc; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_INT64) { + int_counter = + reinterpret_cast(extra) + .value; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_DOUBLE) { + double_counter = + reinterpret_cast(extra) + .value; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NO_INTERN) { + use_interning = false; + } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_FLUSH) { + flush = true; + } + } + + TraceTimestamp ts; + if (custom_timestamp) { + ts.clock_id = custom_timestamp->timestamp.clock_id; + ts.value = custom_timestamp->timestamp.value; + } else { + ts = TrackEventInternal::GetTraceTime(); + } + + if (PERFETTO_UNLIKELY(dynamic_cat)) { + AdvanceToFirstEnabledDynamicCategory(ii, tls_state, cat, *dynamic_cat); + if (!ii->instance) { + return; + } + } + + perfetto::TraceWriterBase* trace_writer = ii->instance->trace_writer.get(); + + const auto& track_event_tls = *static_cast( + ii->instance->data_source_custom_tls.get()); + + auto* incr_state = static_cast( + ds->GetIncrementalState(ii->instance, ii->i)); + ResetIncrementalStateIfRequired(trace_writer, incr_state, track_event_tls, + ts); + + if (std::holds_alternative(track)) { + auto* registered_track = + std::get(track); + track_uuid = + EmitRegisteredTrack(registered_track, incr_state, trace_writer); + } else if (std::holds_alternative( + track)) { + auto* named_track = std::get(track); + track_uuid = EmitNamedTrack(named_track->parent_uuid, named_track->name, + named_track->id, incr_state, trace_writer); + } else if (std::holds_alternative( + track)) { + auto* proto_track = std::get(track); + track_uuid = EmitProtoTrack(proto_track->uuid, proto_track->fields, + incr_state, trace_writer); + } else if (std::holds_alternative( + track)) { + auto* nested = std::get(track); + + uint64_t uuid = 0; + + for (PerfettoTeHlNestedTrack* const* tp = nested->tracks; *tp != nullptr; + tp++) { + auto track_type = + static_cast((*tp)->type); + + switch (track_type) { + case PERFETTO_TE_HL_NESTED_TRACK_TYPE_NAMED: { + auto* named_track = + reinterpret_cast(*tp); + uuid = EmitNamedTrack(uuid, named_track->name, named_track->id, + incr_state, trace_writer); + } break; + case PERFETTO_TE_HL_NESTED_TRACK_TYPE_PROCESS: { + uuid = perfetto_te_process_track_uuid; + } break; + case PERFETTO_TE_HL_NESTED_TRACK_TYPE_THREAD: { + uuid = perfetto_te_process_track_uuid ^ + static_cast(perfetto::base::GetThreadId()); + } break; + case PERFETTO_TE_HL_NESTED_TRACK_TYPE_PROTO: { + auto* proto_track = + reinterpret_cast(*tp); + uuid = EmitProtoTrackWithParentUuid(proto_track->id ^ uuid, uuid, + proto_track->fields, incr_state, + trace_writer); + } break; + case PERFETTO_TE_HL_NESTED_TRACK_TYPE_REGISTERED: { + auto* registered_track = + reinterpret_cast(*tp); + uuid = EmitRegisteredTrack(registered_track->track, incr_state, + trace_writer); + } break; + } + } + track_uuid = uuid; + } + + { + auto packet = NewTracePacketInternal( + trace_writer, incr_state, track_event_tls, ts, + protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); + auto* track_event = packet->set_track_event(); + WriteTrackEvent(incr_state, track_event, cat, type, name, extra_data, + track_uuid, dynamic_cat, use_interning); + track_event->Finalize(); + + if (!incr_state->serialized_interned_data.empty()) { + auto ranges = incr_state->serialized_interned_data.GetRanges(); + packet->AppendScatteredBytes( + protos::pbzero::TracePacket::kInternedDataFieldNumber, ranges.data(), + ranges.size()); + incr_state->serialized_interned_data.Reset(); + } + } + + if (PERFETTO_UNLIKELY(flush)) { + trace_writer->Flush(); + } +} + +void TeHlEmit(struct PerfettoTeCategoryImpl* cat, + int32_t type, + const char* name, + struct PerfettoTeHlExtra* const* extra_data) { + uint32_t cached_instances = + perfetto::shlib::TracePointTraits::GetActiveInstances({cat})->load( + std::memory_order_relaxed); + if (!cached_instances) { + return; + } + + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + perfetto::internal::DataSourceThreadLocalState*& tls_state = + *perfetto::shlib::TrackEvent::GetTlsState(); + + if (!ds->TracePrologue( + &tls_state, &cached_instances, {cat})) { + return; + } + + for (perfetto::internal::DataSourceType::InstancesIterator ii = + ds->BeginIteration( + cached_instances, tls_state, {cat}); + ii.instance; + ds->NextIteration( + &ii, tls_state, {cat})) { + perfetto::shlib::InstanceOp(ds, &ii, tls_state, cat, + perfetto::shlib::EventType(type), name, + extra_data); + } + ds->TraceEpilogue(tls_state); +} + +} // namespace +} // namespace perfetto::shlib + +void PerfettoTeHlEmitImpl(struct PerfettoTeCategoryImpl* cat, + int32_t type, + const char* name, + struct PerfettoTeHlExtra* const* extra_data) { + perfetto::shlib::TeHlEmit(cat, type, name, extra_data); +} diff --git a/src/shared_lib/track_event/ll.cc b/src/shared_lib/track_event/ll.cc new file mode 100644 index 00000000000..a7a80c58ae3 --- /dev/null +++ b/src/shared_lib/track_event/ll.cc @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "perfetto/public/abi/track_event_ll_abi.h" + +#include "perfetto/tracing/internal/track_event_internal.h" +#include "src/shared_lib/track_event/ds.h" +#include "src/shared_lib/track_event/serialization.h" + +namespace { + +void FillIterator( + const perfetto::internal::DataSourceType::InstancesIterator* ii, + struct PerfettoTeTimestamp ts, + struct PerfettoTeLlImplIterator* iterator) { + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + auto& track_event_tls = *static_cast( + ii->instance->data_source_custom_tls.get()); + + auto* incr_state = static_cast( + ds->GetIncrementalState(ii->instance, ii->i)); + perfetto::TraceTimestamp tts; + tts.clock_id = ts.clock_id; + tts.value = ts.value; + perfetto::shlib::ResetIncrementalStateIfRequired( + ii->instance->trace_writer.get(), incr_state, track_event_tls, tts); + + iterator->incr = reinterpret_cast(incr_state); + iterator->tls = + reinterpret_cast(&track_event_tls); +} + +} // namespace + +struct PerfettoTeLlImplIterator PerfettoTeLlImplBegin( + struct PerfettoTeCategoryImpl* cat, + struct PerfettoTeTimestamp ts) { + struct PerfettoTeLlImplIterator ret = {}; + uint32_t cached_instances = + perfetto::shlib::TracePointTraits::GetActiveInstances({cat})->load( + std::memory_order_relaxed); + if (!cached_instances) { + return ret; + } + + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + perfetto::internal::DataSourceThreadLocalState*& tls_state = + *perfetto::shlib::TrackEvent::GetTlsState(); + + if (!ds->TracePrologue( + &tls_state, &cached_instances, {cat})) { + return ret; + } + + perfetto::internal::DataSourceType::InstancesIterator ii = + ds->BeginIteration(cached_instances, + tls_state, {cat}); + + ret.ds.inst_id = ii.i; + tls_state->root_tls->cached_instances = ii.cached_instances; + ret.ds.tracer = reinterpret_cast(ii.instance); + if (!ret.ds.tracer) { + ds->TraceEpilogue(tls_state); + return ret; + } + + FillIterator(&ii, ts, &ret); + + ret.ds.tls = reinterpret_cast(tls_state); + return ret; +} + +void PerfettoTeLlImplNext(struct PerfettoTeCategoryImpl* cat, + struct PerfettoTeTimestamp ts, + struct PerfettoTeLlImplIterator* iterator) { + auto* tls = reinterpret_cast( + iterator->ds.tls); + + perfetto::internal::DataSourceType::InstancesIterator ii; + ii.i = iterator->ds.inst_id; + ii.cached_instances = tls->root_tls->cached_instances; + ii.instance = + reinterpret_cast( + iterator->ds.tracer); + + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + ds->NextIteration(&ii, tls, + {cat}); + + iterator->ds.inst_id = ii.i; + tls->root_tls->cached_instances = ii.cached_instances; + iterator->ds.tracer = + reinterpret_cast(ii.instance); + + if (!iterator->ds.tracer) { + ds->TraceEpilogue(tls); + return; + } + + FillIterator(&ii, ts, iterator); +} + +void PerfettoTeLlImplBreak(struct PerfettoTeCategoryImpl*, + struct PerfettoTeLlImplIterator* iterator) { + auto* tls = reinterpret_cast( + iterator->ds.tls); + + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + ds->TraceEpilogue(tls); +} + +bool PerfettoTeLlImplDynCatEnabled( + struct PerfettoDsTracerImpl* tracer, + PerfettoDsInstanceIndex inst_id, + const struct PerfettoTeCategoryDescriptor* dyn_cat) { + perfetto::internal::DataSourceType* ds = + perfetto::shlib::TrackEvent::GetType(); + + auto* tls_inst = + reinterpret_cast( + tracer); + + auto* incr_state = static_cast( + ds->GetIncrementalState(tls_inst, inst_id)); + + return perfetto::shlib::TrackEvent::IsDynamicCategoryEnabled( + inst_id, incr_state, *dyn_cat); +} + +bool PerfettoTeLlImplTrackSeen(struct PerfettoTeLlImplIncr* incr, + uint64_t uuid) { + auto* incr_state = + reinterpret_cast(incr); + + return !incr_state->seen_track_uuids.insert(uuid).second; +} + +uint64_t PerfettoTeLlImplIntern(struct PerfettoTeLlImplIncr* incr, + int32_t type, + const void* data, + size_t data_size, + bool* seen) { + auto* incr_state = + reinterpret_cast(incr); + + auto res = incr_state->iids.FindOrAssign(type, data, data_size); + *seen = !res.newly_assigned; + return res.iid; +} diff --git a/src/shared_lib/track_event/serialization.cc b/src/shared_lib/track_event/serialization.cc new file mode 100644 index 00000000000..b15ba776777 --- /dev/null +++ b/src/shared_lib/track_event/serialization.cc @@ -0,0 +1,206 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/shared_lib/track_event/serialization.h" + +#include "perfetto/ext/base/file_utils.h" +#include "perfetto/ext/base/no_destructor.h" +#include "perfetto/ext/base/string_splitter.h" +#include "perfetto/ext/base/thread_utils.h" +#include "protos/perfetto/trace/clock_snapshot.pbzero.h" +#include "protos/perfetto/trace/trace_packet_defaults.pbzero.h" + +namespace perfetto::shlib { +namespace { + +using perfetto::internal::TrackEventInternal; + +#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +std::vector GetCmdLine() { + std::vector cmdline_str; + std::string cmdline; + if (perfetto::base::ReadFile("/proc/self/cmdline", &cmdline)) { + perfetto::base::StringSplitter splitter(std::move(cmdline), '\0'); + while (splitter.Next()) { + cmdline_str.emplace_back(splitter.cur_token(), splitter.cur_token_size()); + } + } + return cmdline_str; +} +#endif + +} // namespace + +protozero::MessageHandle +NewTracePacketInternal(perfetto::TraceWriterBase* trace_writer, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const perfetto::shlib::TrackEventTlsState& tls_state, + perfetto::TraceTimestamp timestamp, + uint32_t seq_flags) { + // PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL is the default timestamp returned + // by TrackEventInternal::GetTraceTime(). If the configuration in `tls_state` + // uses a different clock, we have to use that instead. + if (PERFETTO_UNLIKELY(tls_state.default_clock_id != + PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL && + timestamp.clock_id == + PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { + timestamp.clock_id = tls_state.default_clock_id; + } + auto packet = trace_writer->NewTracePacket(); + auto ts_unit_multiplier = tls_state.timestamp_unit_multiplier; + if (PERFETTO_LIKELY(timestamp.clock_id == + PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { + if (PERFETTO_LIKELY(incr_state->last_timestamp_ns <= timestamp.value)) { + // No need to set the clock id here, since + // PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL is the clock id assumed by + // default. + auto time_diff_ns = timestamp.value - incr_state->last_timestamp_ns; + auto time_diff_units = time_diff_ns / ts_unit_multiplier; + packet->set_timestamp(time_diff_units); + incr_state->last_timestamp_ns += time_diff_units * ts_unit_multiplier; + } else { + packet->set_timestamp(timestamp.value / ts_unit_multiplier); + packet->set_timestamp_clock_id( + ts_unit_multiplier == 1 + ? static_cast(PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH) + : static_cast(PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE)); + } + } else if (PERFETTO_LIKELY(timestamp.clock_id == + tls_state.default_clock_id)) { + packet->set_timestamp(timestamp.value / ts_unit_multiplier); + } else { + packet->set_timestamp(timestamp.value); + packet->set_timestamp_clock_id(timestamp.clock_id); + } + packet->set_sequence_flags(seq_flags); + return packet; +} + +void ResetIncrementalStateIfRequired( + perfetto::TraceWriterBase* trace_writer, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const perfetto::shlib::TrackEventTlsState& tls_state, + const perfetto::TraceTimestamp& timestamp) { + if (!incr_state->was_cleared) { + return; + } + incr_state->was_cleared = false; + + auto sequence_timestamp = timestamp; + if (timestamp.clock_id != PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH && + timestamp.clock_id != PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL) { + sequence_timestamp = TrackEventInternal::GetTraceTime(); + } + + incr_state->last_timestamp_ns = sequence_timestamp.value; + auto tid = perfetto::base::GetThreadId(); + auto pid = perfetto::Platform::GetCurrentProcessId(); + uint64_t thread_track_uuid = + perfetto_te_process_track_uuid ^ static_cast(tid); + auto ts_unit_multiplier = tls_state.timestamp_unit_multiplier; + { + // Mark any incremental state before this point invalid. Also set up + // defaults so that we don't need to repeat constant data for each packet. + auto packet = NewTracePacketInternal( + trace_writer, incr_state, tls_state, timestamp, + perfetto::protos::pbzero::TracePacket::SEQ_INCREMENTAL_STATE_CLEARED); + auto defaults = packet->set_trace_packet_defaults(); + defaults->set_timestamp_clock_id(tls_state.default_clock_id); + // Establish the default track for this event sequence. + auto track_defaults = defaults->set_track_event_defaults(); + track_defaults->set_track_uuid(thread_track_uuid); + + if (tls_state.default_clock_id != PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH) { + perfetto::protos::pbzero::ClockSnapshot* clocks = + packet->set_clock_snapshot(); + // Trace clock. + perfetto::protos::pbzero::ClockSnapshot::Clock* trace_clock = + clocks->add_clocks(); + trace_clock->set_clock_id(PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH); + trace_clock->set_timestamp(sequence_timestamp.value); + + if (PERFETTO_LIKELY(tls_state.default_clock_id == + PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { + // Delta-encoded incremental clock in nanoseconds by default but + // configurable by |tls_state.timestamp_unit_multiplier|. + perfetto::protos::pbzero::ClockSnapshot::Clock* clock_incremental = + clocks->add_clocks(); + clock_incremental->set_clock_id(PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL); + clock_incremental->set_timestamp(sequence_timestamp.value / + ts_unit_multiplier); + clock_incremental->set_is_incremental(true); + clock_incremental->set_unit_multiplier_ns(ts_unit_multiplier); + } + if (ts_unit_multiplier > 1) { + // absolute clock with custom timestamp_unit_multiplier. + perfetto::protos::pbzero::ClockSnapshot::Clock* absolute_clock = + clocks->add_clocks(); + absolute_clock->set_clock_id(PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE); + absolute_clock->set_timestamp(sequence_timestamp.value / + ts_unit_multiplier); + absolute_clock->set_is_incremental(false); + absolute_clock->set_unit_multiplier_ns(ts_unit_multiplier); + } + } + } + + // Every thread should write a descriptor for its default track, because most + // trace points won't explicitly reference it. We also write the process + // descriptor from every thread that writes trace events to ensure it gets + // emitted at least once. + { + auto packet = NewTracePacketInternal( + trace_writer, incr_state, tls_state, timestamp, + perfetto::protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); + auto* track = packet->set_track_descriptor(); + track->set_uuid(thread_track_uuid); + track->set_parent_uuid(perfetto_te_process_track_uuid); + auto* td = track->set_thread(); + + td->set_pid(static_cast(pid)); + td->set_tid(static_cast(tid)); + std::string thread_name; + if (perfetto::base::GetThreadName(thread_name)) + td->set_thread_name(thread_name); + } + { + auto packet = NewTracePacketInternal( + trace_writer, incr_state, tls_state, timestamp, + perfetto::protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); + auto* track = packet->set_track_descriptor(); + track->set_uuid(perfetto_te_process_track_uuid); + auto* pd = track->set_process(); + +#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + static perfetto::base::NoDestructor> cmdline( + GetCmdLine()); + if (!cmdline.ref().empty()) { + // Since cmdline is a zero-terminated list of arguments, this ends up + // writing just the first element, i.e., the process name, into the + // process name field. + pd->set_process_name(cmdline.ref()[0]); + for (const std::string& arg : cmdline.ref()) { + pd->add_cmdline(arg); + } + } +#endif + pd->set_pid(static_cast(pid)); + } +} + +} // namespace perfetto::shlib diff --git a/src/shared_lib/track_event/serialization.h b/src/shared_lib/track_event/serialization.h new file mode 100644 index 00000000000..f45517cc791 --- /dev/null +++ b/src/shared_lib/track_event/serialization.h @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_SHARED_LIB_TRACK_EVENT_SERIALIZATION_H_ +#define SRC_SHARED_LIB_TRACK_EVENT_SERIALIZATION_H_ + +#include "perfetto/tracing/internal/track_event_internal.h" +#include "perfetto/tracing/trace_writer_base.h" +#include "src/shared_lib/track_event/ds.h" + +namespace perfetto::shlib { + +protozero::MessageHandle +NewTracePacketInternal(perfetto::TraceWriterBase* trace_writer, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const perfetto::shlib::TrackEventTlsState& tls_state, + perfetto::TraceTimestamp timestamp, + uint32_t seq_flags); + +void ResetIncrementalStateIfRequired( + perfetto::TraceWriterBase* trace_writer, + perfetto::shlib::TrackEventIncrementalState* incr_state, + const perfetto::shlib::TrackEventTlsState& tls_state, + const perfetto::TraceTimestamp& timestamp); + +} // namespace perfetto::shlib + +#endif // SRC_SHARED_LIB_TRACK_EVENT_SERIALIZATION_H_ diff --git a/src/shared_lib/track_event/track_event.cc b/src/shared_lib/track_event/track_event.cc index 08e06c5d525..b6f9000ad39 100644 --- a/src/shared_lib/track_event/track_event.cc +++ b/src/shared_lib/track_event/track_event.cc @@ -15,45 +15,13 @@ */ #include "perfetto/public/abi/track_event_abi.h" -#include "perfetto/public/abi/track_event_hl_abi.h" -#include "perfetto/public/abi/track_event_ll_abi.h" -#include -#include -#include -#include -#include - -#include "perfetto/base/compiler.h" -#include "perfetto/base/flat_set.h" -#include "perfetto/base/thread_annotations.h" -#include "perfetto/base/thread_utils.h" -#include "perfetto/ext/base/file_utils.h" -#include "perfetto/ext/base/no_destructor.h" -#include "perfetto/ext/base/string_splitter.h" -#include "perfetto/ext/base/string_view.h" -#include "perfetto/ext/base/thread_utils.h" -#include "perfetto/protozero/contiguous_memory_range.h" -#include "perfetto/public/compiler.h" #include "perfetto/tracing/data_source.h" -#include "perfetto/tracing/internal/basic_types.h" -#include "perfetto/tracing/internal/data_source_internal.h" #include "perfetto/tracing/internal/track_event_internal.h" #include "perfetto/tracing/track.h" -#include "protos/perfetto/common/data_source_descriptor.gen.h" -#include "protos/perfetto/common/track_event_descriptor.pbzero.h" -#include "protos/perfetto/config/data_source_config.gen.h" -#include "protos/perfetto/config/track_event/track_event_config.gen.h" -#include "protos/perfetto/trace/clock_snapshot.pbzero.h" -#include "protos/perfetto/trace/interned_data/interned_data.pbzero.h" -#include "protos/perfetto/trace/trace_packet.pbzero.h" -#include "protos/perfetto/trace/trace_packet_defaults.pbzero.h" -#include "protos/perfetto/trace/track_event/debug_annotation.pbzero.h" -#include "protos/perfetto/trace/track_event/process_descriptor.pbzero.h" -#include "protos/perfetto/trace/track_event/thread_descriptor.pbzero.h" -#include "protos/perfetto/trace/track_event/track_event.pbzero.h" #include "src/shared_lib/reset_for_testing.h" -#include "src/shared_lib/track_event/intern_map.h" +#include "src/shared_lib/track_event/category_impl.h" +#include "src/shared_lib/track_event/ds.h" struct PerfettoTeCategoryImpl* perfetto_te_any_categories; @@ -61,880 +29,42 @@ PERFETTO_ATOMIC(bool) * perfetto_te_any_categories_enabled; uint64_t perfetto_te_process_track_uuid; -struct PerfettoTeCategoryImpl { - std::atomic flag{false}; - std::atomic instances{0}; - PerfettoTeCategoryDescriptor* desc = nullptr; - uint64_t cat_iid = 0; - PerfettoTeCategoryImplCallback cb = nullptr; - void* cb_user_arg = nullptr; -}; - -enum class MatchType { kExact, kPattern }; - -static bool NameMatchesPattern(const std::string& pattern, - const perfetto::base::StringView& name, - MatchType match_type) { - // To avoid pulling in all of std::regex, for now we only support a single "*" - // wildcard at the end of the pattern. - size_t i = pattern.find('*'); - if (i != std::string::npos) { - if (match_type != MatchType::kPattern) - return false; - return name.substr(0, i) == - perfetto::base::StringView(pattern).substr(0, i); - } - return name == perfetto::base::StringView(pattern); -} - -static bool NameMatchesPatternList(const std::vector& patterns, - const perfetto::base::StringView& name, - MatchType match_type) { - for (const auto& pattern : patterns) { - if (NameMatchesPattern(pattern, name, match_type)) - return true; - } - return false; -} - -static bool IsSingleCategoryEnabled( - const PerfettoTeCategoryDescriptor& c, - const perfetto::protos::gen::TrackEventConfig& config) { - auto has_matching_tag = [&](std::function matcher) { - for (size_t i = 0; i < c.num_tags; ++i) { - if (matcher(c.tags[i])) - return true; - } - return false; - }; - // First try exact matches, then pattern matches. - const std::array match_types = { - {MatchType::kExact, MatchType::kPattern}}; - for (auto match_type : match_types) { - // 1. Enabled categories. - if (NameMatchesPatternList(config.enabled_categories(), c.name, - match_type)) { - return true; - } - - // 2. Enabled tags. - if (has_matching_tag([&](const char* tag) { - return NameMatchesPatternList(config.enabled_tags(), tag, match_type); - })) { - return true; - } - - // 3. Disabled categories. - if (NameMatchesPatternList(config.disabled_categories(), c.name, - match_type)) { - return false; - } - - // 4. Disabled tags. - if (has_matching_tag([&](const char* tag) { - return NameMatchesPatternList(config.disabled_tags(), tag, - match_type); - })) { - return false; - } - } - - // If nothing matched, the category is disabled by default. N.B. this behavior - // is different than the C++ TrackEvent API. - return false; -} - -static bool IsRegisteredCategoryEnabled( - const PerfettoTeCategoryImpl& cat, - const perfetto::protos::gen::TrackEventConfig& config) { - if (!cat.desc) { - return false; - } - return IsSingleCategoryEnabled(*cat.desc, config); -} - -static void EnableRegisteredCategory(PerfettoTeCategoryImpl* cat, - uint32_t instance_index) { - PERFETTO_DCHECK(instance_index < perfetto::internal::kMaxDataSourceInstances); - // Matches the acquire_load in DataSource::Trace(). - uint8_t old = cat->instances.fetch_or( - static_cast(1u << instance_index), std::memory_order_release); - bool global_state_changed = old == 0; - if (global_state_changed) { - cat->flag.store(true, std::memory_order_relaxed); - } - if (cat->cb) { - cat->cb(cat, instance_index, /*created=*/true, global_state_changed, - cat->cb_user_arg); - } -} - -static void DisableRegisteredCategory(PerfettoTeCategoryImpl* cat, - uint32_t instance_index) { - PERFETTO_DCHECK(instance_index < perfetto::internal::kMaxDataSourceInstances); - // Matches the acquire_load in DataSource::Trace(). - uint8_t old = cat->instances.fetch_and( - static_cast(~(1u << instance_index)), std::memory_order_release); - if (!(old & static_cast(1u << instance_index))) { - return; - } - bool global_state_changed = false; - if (!cat->instances.load(std::memory_order_relaxed)) { - cat->flag.store(false, std::memory_order_relaxed); - global_state_changed = true; - } - if (cat->cb) { - cat->cb(cat, instance_index, /*created=*/false, global_state_changed, - cat->cb_user_arg); - } -} - -static void SerializeCategory( - const PerfettoTeCategoryDescriptor& desc, - perfetto::protos::pbzero::TrackEventDescriptor* ted) { - auto* c = ted->add_available_categories(); - c->set_name(desc.name); - if (desc.desc) - c->set_description(desc.desc); - for (size_t j = 0; j < desc.num_tags; ++j) { - c->add_tags(desc.tags[j]); - } -} - -namespace perfetto { -namespace shlib { - -struct TrackEventIncrementalState { - // A heap-allocated message for storing newly seen interned data while we are - // in the middle of writing a track event. When a track event wants to write - // new interned data into the trace, it is first serialized into this message - // and then flushed to the real trace in EventContext when the packet ends. - // The message is cached here as a part of incremental state so that we can - // reuse the underlying buffer allocation for subsequently written interned - // data. - uint64_t last_timestamp_ns = 0; - protozero::HeapBuffered - serialized_interned_data; - bool was_cleared = true; - base::FlatSet seen_track_uuids; - // Map from serialized representation of a dynamic category to its enabled - // state. - base::FlatHashMap dynamic_categories; - InternMap iids; -}; - -struct TrackEventTlsState { - template - explicit TrackEventTlsState(const TraceContext& trace_context) { - auto locked_ds = trace_context.GetDataSourceLocked(); - bool disable_incremental_timestamps = false; - timestamp_unit_multiplier = 1; - if (locked_ds.valid()) { - const auto& config = locked_ds->GetConfig(); - disable_incremental_timestamps = config.disable_incremental_timestamps(); - if (config.has_timestamp_unit_multiplier() && - config.timestamp_unit_multiplier() != 0) { - timestamp_unit_multiplier = config.timestamp_unit_multiplier(); - } - } - if (disable_incremental_timestamps) { - if (timestamp_unit_multiplier == 1) { - default_clock_id = PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH; - } else { - default_clock_id = PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE; - } - } else { - default_clock_id = PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL; - } - } - uint32_t default_clock_id; - uint64_t timestamp_unit_multiplier; -}; - -struct TrackEventDataSourceTraits : public perfetto::DefaultDataSourceTraits { - using IncrementalStateType = TrackEventIncrementalState; - using TlsStateType = TrackEventTlsState; -}; - -class TrackEvent - : public perfetto::DataSource { - public: - ~TrackEvent() override; - void OnSetup(const DataSourceBase::SetupArgs& args) override { - const std::string& config_raw = args.config->track_event_config_raw(); - bool ok = config_.ParseFromArray(config_raw.data(), config_raw.size()); - if (!ok) { - PERFETTO_LOG("Failed to parse config"); - } - inst_id_ = args.internal_instance_index; - } - - void OnStart(const DataSourceBase::StartArgs&) override { - GlobalState::Instance().OnStart(config_, inst_id_); - } - - void OnStop(const DataSourceBase::StopArgs&) override { - GlobalState::Instance().OnStop(inst_id_); - } - - const perfetto::protos::gen::TrackEventConfig& GetConfig() const { - return config_; - } - - static void Init() { - DataSourceDescriptor dsd = - GlobalState::Instance().GenerateDescriptorFromCategories(); - Register(dsd); - } - - static void RegisterCategory(PerfettoTeCategoryImpl* cat) { - GlobalState::Instance().RegisterCategory(cat); - } - - static void UpdateDescriptorFromCategories() { - DataSourceDescriptor dsd = - GlobalState::Instance().GenerateDescriptorFromCategories(); - UpdateDescriptor(dsd); - } - - static void UnregisterCategory(PerfettoTeCategoryImpl* cat) { - GlobalState::Instance().UnregisterCategory(cat); - } - - static void CategorySetCallback(struct PerfettoTeCategoryImpl* cat, - PerfettoTeCategoryImplCallback cb, - void* user_arg) { - GlobalState::Instance().CategorySetCallback(cat, cb, user_arg); - } - - static internal::DataSourceType* GetType(); - - static internal::DataSourceThreadLocalState** GetTlsState(); - - private: - class GlobalState { - public: - static GlobalState& Instance() { - static GlobalState* instance = new GlobalState(); - return *instance; - } - - void OnStart(const perfetto::protos::gen::TrackEventConfig& config, - uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_) { - std::lock_guard lock(mu_); - EnableRegisteredCategory(perfetto_te_any_categories, instance_id); - for (PerfettoTeCategoryImpl* cat : categories_) { - if (IsRegisteredCategoryEnabled(*cat, config)) { - EnableRegisteredCategory(cat, instance_id); - } - } - } - - void OnStop(uint32_t instance_id) PERFETTO_LOCKS_EXCLUDED(mu_) { - std::lock_guard lock(mu_); - for (PerfettoTeCategoryImpl* cat : categories_) { - DisableRegisteredCategory(cat, instance_id); - } - DisableRegisteredCategory(perfetto_te_any_categories, instance_id); - } - - void RegisterCategory(PerfettoTeCategoryImpl* cat) - PERFETTO_LOCKS_EXCLUDED(mu_) { - { - std::lock_guard lock(mu_); - Trace([cat](TraceContext ctx) { - auto ds = ctx.GetDataSourceLocked(); - - if (IsRegisteredCategoryEnabled(*cat, ds->GetConfig())) { - EnableRegisteredCategory(cat, ds->inst_id_); - } - }); - categories_.push_back(cat); - cat->cat_iid = ++interned_categories_; - } - } - - void UnregisterCategory(PerfettoTeCategoryImpl* cat) - PERFETTO_LOCKS_EXCLUDED(mu_) { - std::lock_guard lock(mu_); - categories_.erase( - std::remove(categories_.begin(), categories_.end(), cat), - categories_.end()); - } - - void CategorySetCallback(struct PerfettoTeCategoryImpl* cat, - PerfettoTeCategoryImplCallback cb, - void* user_arg) PERFETTO_LOCKS_EXCLUDED(mu_) { - std::lock_guard lock(mu_); - cat->cb = cb; - cat->cb_user_arg = user_arg; - if (!cat->cb) { - return; - } - - bool first = true; - uint8_t active_instances = cat->instances.load(std::memory_order_relaxed); - for (PerfettoDsInstanceIndex i = 0; i < internal::kMaxDataSourceInstances; - i++) { - if ((active_instances & (1 << i)) == 0) { - continue; - } - cb(cat, i, true, first, user_arg); - first = false; - } - } - - DataSourceDescriptor GenerateDescriptorFromCategories() const - PERFETTO_LOCKS_EXCLUDED(mu_) { - DataSourceDescriptor dsd; - dsd.set_name("track_event"); - - protozero::HeapBuffered - ted; - { - std::lock_guard lock(mu_); - for (PerfettoTeCategoryImpl* cat : categories_) { - SerializeCategory(*cat->desc, ted.get()); - } - } - dsd.set_track_event_descriptor_raw(ted.SerializeAsString()); - return dsd; - } - - private: - GlobalState() : interned_categories_(0) { - perfetto_te_any_categories = new PerfettoTeCategoryImpl; - perfetto_te_any_categories_enabled = &perfetto_te_any_categories->flag; - } - - mutable std::mutex mu_; - std::vector categories_ PERFETTO_GUARDED_BY(mu_); - uint64_t interned_categories_ PERFETTO_GUARDED_BY(mu_); - }; - - uint32_t inst_id_; - perfetto::protos::gen::TrackEventConfig config_; -}; - -TrackEvent::~TrackEvent() = default; +namespace perfetto::shlib { void ResetTrackEventTls() { *TrackEvent::GetTlsState() = nullptr; } -struct TracePointTraits { - struct TracePointData { - struct PerfettoTeCategoryImpl* enabled; - }; - static constexpr std::atomic* GetActiveInstances( - TracePointData data) { - return &data.enabled->instances; - } -}; - -} // namespace shlib -} // namespace perfetto - -PERFETTO_DECLARE_DATA_SOURCE_STATIC_MEMBERS( - perfetto::shlib::TrackEvent, - perfetto::shlib::TrackEventDataSourceTraits); - -PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS( - perfetto::shlib::TrackEvent, - perfetto::shlib::TrackEventDataSourceTraits); - -perfetto::internal::DataSourceType* perfetto::shlib::TrackEvent::GetType() { - return &perfetto::shlib::TrackEvent::Helper::type(); -} - -perfetto::internal::DataSourceThreadLocalState** -perfetto::shlib::TrackEvent::GetTlsState() { - return &tls_state_; -} - -namespace { - -using perfetto::internal::TrackEventInternal; - -perfetto::protos::pbzero::TrackEvent::Type EventType(int32_t type) { - using Type = perfetto::protos::pbzero::TrackEvent::Type; - auto enum_type = static_cast(type); - switch (enum_type) { - case PERFETTO_TE_TYPE_SLICE_BEGIN: - return Type::TYPE_SLICE_BEGIN; - case PERFETTO_TE_TYPE_SLICE_END: - return Type::TYPE_SLICE_END; - case PERFETTO_TE_TYPE_INSTANT: - return Type::TYPE_INSTANT; - case PERFETTO_TE_TYPE_COUNTER: - return Type::TYPE_COUNTER; - } - return Type::TYPE_UNSPECIFIED; -} - -protozero::MessageHandle -NewTracePacketInternal(perfetto::TraceWriterBase* trace_writer, - perfetto::shlib::TrackEventIncrementalState* incr_state, - const perfetto::shlib::TrackEventTlsState& tls_state, - perfetto::TraceTimestamp timestamp, - uint32_t seq_flags) { - // PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL is the default timestamp returned - // by TrackEventInternal::GetTraceTime(). If the configuration in `tls_state` - // uses a different clock, we have to use that instead. - if (PERFETTO_UNLIKELY(tls_state.default_clock_id != - PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL && - timestamp.clock_id == - PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { - timestamp.clock_id = tls_state.default_clock_id; - } - auto packet = trace_writer->NewTracePacket(); - auto ts_unit_multiplier = tls_state.timestamp_unit_multiplier; - if (PERFETTO_LIKELY(timestamp.clock_id == - PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { - if (PERFETTO_LIKELY(incr_state->last_timestamp_ns <= timestamp.value)) { - // No need to set the clock id here, since - // PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL is the clock id assumed by - // default. - auto time_diff_ns = timestamp.value - incr_state->last_timestamp_ns; - auto time_diff_units = time_diff_ns / ts_unit_multiplier; - packet->set_timestamp(time_diff_units); - incr_state->last_timestamp_ns += time_diff_units * ts_unit_multiplier; - } else { - packet->set_timestamp(timestamp.value / ts_unit_multiplier); - packet->set_timestamp_clock_id( - ts_unit_multiplier == 1 - ? static_cast(PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH) - : static_cast(PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE)); - } - } else if (PERFETTO_LIKELY(timestamp.clock_id == - tls_state.default_clock_id)) { - packet->set_timestamp(timestamp.value / ts_unit_multiplier); - } else { - packet->set_timestamp(timestamp.value); - packet->set_timestamp_clock_id(timestamp.clock_id); - } - packet->set_sequence_flags(seq_flags); - return packet; -} - -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) -std::vector GetCmdLine() { - std::vector cmdline_str; - std::string cmdline; - if (perfetto::base::ReadFile("/proc/self/cmdline", &cmdline)) { - perfetto::base::StringSplitter splitter(std::move(cmdline), '\0'); - while (splitter.Next()) { - cmdline_str.emplace_back(splitter.cur_token(), splitter.cur_token_size()); - } - } - return cmdline_str; -} -#endif - -void ResetIncrementalStateIfRequired( - perfetto::TraceWriterBase* trace_writer, - perfetto::shlib::TrackEventIncrementalState* incr_state, - const perfetto::shlib::TrackEventTlsState& tls_state, - const perfetto::TraceTimestamp& timestamp) { - if (!incr_state->was_cleared) { - return; - } - incr_state->was_cleared = false; - - auto sequence_timestamp = timestamp; - if (timestamp.clock_id != PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH && - timestamp.clock_id != PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL) { - sequence_timestamp = TrackEventInternal::GetTraceTime(); - } - - incr_state->last_timestamp_ns = sequence_timestamp.value; - auto tid = perfetto::base::GetThreadId(); - auto pid = perfetto::Platform::GetCurrentProcessId(); - uint64_t thread_track_uuid = - perfetto_te_process_track_uuid ^ static_cast(tid); - auto ts_unit_multiplier = tls_state.timestamp_unit_multiplier; - { - // Mark any incremental state before this point invalid. Also set up - // defaults so that we don't need to repeat constant data for each packet. - auto packet = NewTracePacketInternal( - trace_writer, incr_state, tls_state, timestamp, - perfetto::protos::pbzero::TracePacket::SEQ_INCREMENTAL_STATE_CLEARED); - auto defaults = packet->set_trace_packet_defaults(); - defaults->set_timestamp_clock_id(tls_state.default_clock_id); - // Establish the default track for this event sequence. - auto track_defaults = defaults->set_track_event_defaults(); - track_defaults->set_track_uuid(thread_track_uuid); - - if (tls_state.default_clock_id != PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH) { - perfetto::protos::pbzero::ClockSnapshot* clocks = - packet->set_clock_snapshot(); - // Trace clock. - perfetto::protos::pbzero::ClockSnapshot::Clock* trace_clock = - clocks->add_clocks(); - trace_clock->set_clock_id(PERFETTO_I_CLOCK_INCREMENTAL_UNDERNEATH); - trace_clock->set_timestamp(sequence_timestamp.value); - - if (PERFETTO_LIKELY(tls_state.default_clock_id == - PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL)) { - // Delta-encoded incremental clock in nanoseconds by default but - // configurable by |tls_state.timestamp_unit_multiplier|. - perfetto::protos::pbzero::ClockSnapshot::Clock* clock_incremental = - clocks->add_clocks(); - clock_incremental->set_clock_id(PERFETTO_TE_TIMESTAMP_TYPE_INCREMENTAL); - clock_incremental->set_timestamp(sequence_timestamp.value / - ts_unit_multiplier); - clock_incremental->set_is_incremental(true); - clock_incremental->set_unit_multiplier_ns(ts_unit_multiplier); - } - if (ts_unit_multiplier > 1) { - // absolute clock with custom timestamp_unit_multiplier. - perfetto::protos::pbzero::ClockSnapshot::Clock* absolute_clock = - clocks->add_clocks(); - absolute_clock->set_clock_id(PERFETTO_TE_TIMESTAMP_TYPE_ABSOLUTE); - absolute_clock->set_timestamp(sequence_timestamp.value / - ts_unit_multiplier); - absolute_clock->set_is_incremental(false); - absolute_clock->set_unit_multiplier_ns(ts_unit_multiplier); - } - } - } - - // Every thread should write a descriptor for its default track, because most - // trace points won't explicitly reference it. We also write the process - // descriptor from every thread that writes trace events to ensure it gets - // emitted at least once. - { - auto packet = NewTracePacketInternal( - trace_writer, incr_state, tls_state, timestamp, - perfetto::protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); - auto* track = packet->set_track_descriptor(); - track->set_uuid(thread_track_uuid); - track->set_parent_uuid(perfetto_te_process_track_uuid); - auto* td = track->set_thread(); - - td->set_pid(static_cast(pid)); - td->set_tid(static_cast(tid)); - std::string thread_name; - if (perfetto::base::GetThreadName(thread_name)) - td->set_thread_name(thread_name); - } - { - auto packet = NewTracePacketInternal( - trace_writer, incr_state, tls_state, timestamp, - perfetto::protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); - auto* track = packet->set_track_descriptor(); - track->set_uuid(perfetto_te_process_track_uuid); - auto* pd = track->set_process(); - -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) - static perfetto::base::NoDestructor> cmdline( - GetCmdLine()); - if (!cmdline.ref().empty()) { - // Since cmdline is a zero-terminated list of arguments, this ends up - // writing just the first element, i.e., the process name, into the - // process name field. - pd->set_process_name(cmdline.ref()[0]); - for (const std::string& arg : cmdline.ref()) { - pd->add_cmdline(arg); - } - } -#endif - pd->set_pid(static_cast(pid)); - } -} - -// Appends the fields described by `fields` to `msg`. -void AppendHlProtoFields(protozero::Message* msg, - PerfettoTeHlProtoField* const* fields) { - for (PerfettoTeHlProtoField* const* p = fields; *p != nullptr; p++) { - switch ((*p)->type) { - case PERFETTO_TE_HL_PROTO_TYPE_CSTR: { - auto field = reinterpret_cast(*p); - msg->AppendString(field->header.id, field->str); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_BYTES: { - auto field = reinterpret_cast(*p); - msg->AppendBytes(field->header.id, field->buf, field->len); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_NESTED: { - auto field = reinterpret_cast(*p); - auto* nested = - msg->BeginNestedMessage(field->header.id); - AppendHlProtoFields(nested, field->fields); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_VARINT: { - auto field = reinterpret_cast(*p); - msg->AppendVarInt(field->header.id, field->value); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_FIXED64: { - auto field = reinterpret_cast(*p); - msg->AppendFixed(field->header.id, field->value); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_FIXED32: { - auto field = reinterpret_cast(*p); - msg->AppendFixed(field->header.id, field->value); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_DOUBLE: { - auto field = reinterpret_cast(*p); - msg->AppendFixed(field->header.id, field->value); - break; - } - case PERFETTO_TE_HL_PROTO_TYPE_FLOAT: { - auto field = reinterpret_cast(*p); - msg->AppendFixed(field->header.id, field->value); - break; - } - } - } -} - -void WriteTrackEvent(perfetto::shlib::TrackEventIncrementalState* incr, - perfetto::protos::pbzero::TrackEvent* event, - PerfettoTeCategoryImpl* cat, - perfetto::protos::pbzero::TrackEvent::Type type, - const char* name, - const PerfettoTeHlExtra* const* extra_data, - std::optional track_uuid, - const PerfettoTeCategoryDescriptor* dynamic_cat, - bool use_interning) { - if (type != perfetto::protos::pbzero::TrackEvent::TYPE_UNSPECIFIED) { - event->set_type(type); - } - - if (!dynamic_cat && - type != perfetto::protos::pbzero::TrackEvent::TYPE_SLICE_END && - type != perfetto::protos::pbzero::TrackEvent::TYPE_COUNTER) { - uint64_t iid = cat->cat_iid; - auto res = incr->iids.FindOrAssign( - perfetto::protos::pbzero::InternedData::kEventCategoriesFieldNumber, - &iid, sizeof(iid)); - if (res.newly_assigned) { - auto* ser = incr->serialized_interned_data->add_event_categories(); - ser->set_iid(iid); - ser->set_name(cat->desc->name); - } - event->add_category_iids(iid); - } - - if (type != perfetto::protos::pbzero::TrackEvent::TYPE_SLICE_END) { - if (name) { - if (use_interning) { - const void* str = name; - size_t len = strlen(name); - auto res = incr->iids.FindOrAssign( - perfetto::protos::pbzero::InternedData::kEventNamesFieldNumber, str, - len); - if (res.newly_assigned) { - auto* ser = incr->serialized_interned_data->add_event_names(); - ser->set_iid(res.iid); - ser->set_name(name); - } - event->set_name_iid(res.iid); - } else { - event->set_name(name); - } - } - } - - if (dynamic_cat && - type != perfetto::protos::pbzero::TrackEvent::TYPE_SLICE_END && - type != perfetto::protos::pbzero::TrackEvent::TYPE_COUNTER) { - event->add_categories(dynamic_cat->name); - } - - if (track_uuid) { - event->set_track_uuid(*track_uuid); - } - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_INT64 && - type == perfetto::protos::pbzero::TrackEvent::TYPE_COUNTER) { - event->set_counter_value( - reinterpret_cast(extra) - .value); - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_DOUBLE) { - event->set_double_counter_value( - reinterpret_cast(extra) - .value); - } - } - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_BOOL || - extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_UINT64 || - extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_INT64 || - extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_DOUBLE || - extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_STRING || - extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_POINTER) { - auto* dbg = event->add_debug_annotations(); - const char* arg_name = nullptr; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_BOOL) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_bool_value(arg.value); - arg_name = arg.name; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_UINT64) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_uint_value(arg.value); - arg_name = arg.name; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_INT64) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_int_value(arg.value); - arg_name = arg.name; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_DOUBLE) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_double_value(arg.value); - arg_name = arg.name; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_STRING) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_string_value(arg.value); - arg_name = arg.name; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DEBUG_ARG_POINTER) { - const auto& arg = - reinterpret_cast( - extra); - dbg->set_pointer_value(arg.value); - arg_name = arg.name; - } - - if (arg_name != nullptr) { - const void* str = arg_name; - size_t len = strlen(arg_name); - auto res = - incr->iids.FindOrAssign(perfetto::protos::pbzero::InternedData:: - kDebugAnnotationNamesFieldNumber, - str, len); - if (res.newly_assigned) { - auto* ser = - incr->serialized_interned_data->add_debug_annotation_names(); - ser->set_iid(res.iid); - ser->set_name(arg_name); - } - dbg->set_name_iid(res.iid); - } - } - } - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_FLOW) { - event->add_flow_ids( - reinterpret_cast(extra).id); - } - } - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_TERMINATING_FLOW) { - event->add_terminating_flow_ids( - reinterpret_cast(extra).id); - } - } - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_PROTO_FIELDS) { - const auto* fields = - reinterpret_cast(extra) - .fields; - AppendHlProtoFields(event, fields); - } - } -} - -uint64_t EmitNamedTrack(uint64_t parent_uuid, - const char* name, - uint64_t id, - perfetto::shlib::TrackEventIncrementalState* incr_state, - perfetto::TraceWriterBase* trace_writer) { - uint64_t uuid = parent_uuid; - uuid ^= PerfettoFnv1a(name, strlen(name)); - uuid ^= id; - if (incr_state->seen_track_uuids.insert(uuid).second) { - auto packet = trace_writer->NewTracePacket(); - auto* track_descriptor = packet->set_track_descriptor(); - track_descriptor->set_uuid(uuid); - if (parent_uuid) { - track_descriptor->set_parent_uuid(parent_uuid); - } - track_descriptor->set_name(name); - } - return uuid; -} - -uint64_t EmitRegisteredTrack( - const PerfettoTeRegisteredTrackImpl* registered_track, - perfetto::shlib::TrackEventIncrementalState* incr_state, - perfetto::TraceWriterBase* trace_writer) { - if (incr_state->seen_track_uuids.insert(registered_track->uuid).second) { - auto packet = trace_writer->NewTracePacket(); - auto* track_descriptor = packet->set_track_descriptor(); - track_descriptor->AppendRawProtoBytes(registered_track->descriptor, - registered_track->descriptor_size); - } - return registered_track->uuid; -} +} // namespace perfetto::shlib -uint64_t EmitProtoTrack(uint64_t uuid, - PerfettoTeHlProtoField* const* fields, - perfetto::shlib::TrackEventIncrementalState* incr_state, - perfetto::TraceWriterBase* trace_writer) { - if (incr_state->seen_track_uuids.insert(uuid).second) { - auto packet = trace_writer->NewTracePacket(); - auto* track_descriptor = packet->set_track_descriptor(); - track_descriptor->set_uuid(uuid); - AppendHlProtoFields(track_descriptor, fields); - } - return uuid; +void PerfettoTeInit(void) { + perfetto::DataSourceDescriptor dsd = perfetto::shlib::GlobalState::Instance() + .GenerateDescriptorFromCategories(); + perfetto::shlib::TrackEvent::Init(dsd); + perfetto_te_process_track_uuid = + perfetto::internal::TrackRegistry::ComputeProcessUuid(); } -uint64_t EmitProtoTrackWithParentUuid( - uint64_t uuid, - uint64_t parent_uuid, - PerfettoTeHlProtoField* const* fields, - perfetto::shlib::TrackEventIncrementalState* incr_state, - perfetto::TraceWriterBase* trace_writer) { - if (incr_state->seen_track_uuids.insert(uuid).second) { - auto packet = trace_writer->NewTracePacket(); - auto* track_descriptor = packet->set_track_descriptor(); - track_descriptor->set_uuid(uuid); - track_descriptor->set_parent_uuid(parent_uuid); - AppendHlProtoFields(track_descriptor, fields); - } - return uuid; +struct PerfettoTeTimestamp PerfettoTeGetTimestamp(void) { + struct PerfettoTeTimestamp ret; + ret.clock_id = PERFETTO_TE_TIMESTAMP_TYPE_BOOT; + ret.value = perfetto::internal::TrackEventInternal::GetTimeNs(); + return ret; } -} // namespace - struct PerfettoTeCategoryImpl* PerfettoTeCategoryImplCreate( struct PerfettoTeCategoryDescriptor* desc) { auto* cat = new PerfettoTeCategoryImpl; cat->desc = desc; - perfetto::shlib::TrackEvent::RegisterCategory(cat); + + perfetto::shlib::GlobalState::Instance().RegisterCategory(cat); return cat; } void PerfettoTePublishCategories() { - perfetto::shlib::TrackEvent::UpdateDescriptorFromCategories(); + perfetto::DataSourceDescriptor dsd = perfetto::shlib::GlobalState::Instance() + .GenerateDescriptorFromCategories(); + perfetto::shlib::TrackEvent::UpdateDescriptorFromCategories(dsd); } void PerfettoTeCategoryImplSetCallback(struct PerfettoTeCategoryImpl* cat, @@ -953,424 +83,6 @@ uint64_t PerfettoTeCategoryImplGetIid(struct PerfettoTeCategoryImpl* cat) { } void PerfettoTeCategoryImplDestroy(struct PerfettoTeCategoryImpl* cat) { - perfetto::shlib::TrackEvent::UnregisterCategory(cat); + perfetto::shlib::GlobalState::Instance().UnregisterCategory(cat); delete cat; } - -void PerfettoTeInit(void) { - perfetto::shlib::TrackEvent::Init(); - perfetto_te_process_track_uuid = - perfetto::internal::TrackRegistry::ComputeProcessUuid(); -} - -struct PerfettoTeTimestamp PerfettoTeGetTimestamp(void) { - struct PerfettoTeTimestamp ret; - ret.clock_id = PERFETTO_TE_TIMESTAMP_TYPE_BOOT; - ret.value = TrackEventInternal::GetTimeNs(); - return ret; -} - -static bool IsDynamicCategoryEnabled( - uint32_t inst_idx, - perfetto::shlib::TrackEventIncrementalState* incr_state, - const struct PerfettoTeCategoryDescriptor& desc) { - constexpr size_t kMaxCacheSize = 20; - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - auto& cache = incr_state->dynamic_categories; - protozero::HeapBuffered ted; - SerializeCategory(desc, ted.get()); - std::string serialized = ted.SerializeAsString(); - auto* cached = cache.Find(serialized); - if (cached) { - return *cached; - } - - auto* internal_state = ds->static_state()->TryGet(inst_idx); - if (!internal_state) - return false; - std::unique_lock lock(internal_state->lock); - auto* sds = static_cast( - internal_state->data_source.get()); - - bool res = IsSingleCategoryEnabled(desc, sds->GetConfig()); - if (cache.size() < kMaxCacheSize) { - cache[serialized] = res; - } - return res; -} - -// If the category `dyn_cat` is enabled on the data source instance pointed by -// `ii`, returns immediately. Otherwise, advances `ii` to a data source instance -// where `dyn_cat` is enabled. If there's no data source instance where -// `dyn_cat` is enabled, `ii->instance` will be nullptr. -static void AdvanceToFirstEnabledDynamicCategory( - perfetto::internal::DataSourceType::InstancesIterator* ii, - perfetto::internal::DataSourceThreadLocalState* tls_state, - struct PerfettoTeCategoryImpl* cat, - const PerfettoTeCategoryDescriptor& dyn_cat) { - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - for (; ii->instance; - ds->NextIteration( - ii, tls_state, {cat})) { - auto* incr_state = - static_cast( - ds->GetIncrementalState(ii->instance, ii->i)); - if (IsDynamicCategoryEnabled(ii->i, incr_state, dyn_cat)) { - break; - } - } -} - -static void InstanceOp( - perfetto::internal::DataSourceType* ds, - perfetto::internal::DataSourceType::InstancesIterator* ii, - perfetto::internal::DataSourceThreadLocalState* tls_state, - struct PerfettoTeCategoryImpl* cat, - perfetto::protos::pbzero::TrackEvent::Type type, - const char* name, - struct PerfettoTeHlExtra* const* extra_data) { - if (!ii->instance) { - return; - } - - std::variant - track; - std::optional track_uuid; - - const struct PerfettoTeHlExtraTimestamp* custom_timestamp = nullptr; - const struct PerfettoTeCategoryDescriptor* dynamic_cat = nullptr; - std::optional int_counter; - std::optional double_counter; - bool use_interning = true; - bool flush = false; - - for (const auto* it = extra_data; *it != nullptr; it++) { - const struct PerfettoTeHlExtra& extra = **it; - if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_REGISTERED_TRACK) { - const auto& cast = - reinterpret_cast( - extra); - track = cast.track; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NAMED_TRACK) { - track = - &reinterpret_cast(extra); - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_PROTO_TRACK) { - track = - &reinterpret_cast(extra); - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NESTED_TRACKS) { - auto* nested = - &reinterpret_cast(extra); - track = nested; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_TIMESTAMP) { - custom_timestamp = - &reinterpret_cast(extra); - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_DYNAMIC_CATEGORY) { - dynamic_cat = - reinterpret_cast( - extra) - .desc; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_INT64) { - int_counter = - reinterpret_cast(extra) - .value; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_COUNTER_DOUBLE) { - double_counter = - reinterpret_cast(extra) - .value; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_NO_INTERN) { - use_interning = false; - } else if (extra.type == PERFETTO_TE_HL_EXTRA_TYPE_FLUSH) { - flush = true; - } - } - - perfetto::TraceTimestamp ts; - if (custom_timestamp) { - ts.clock_id = custom_timestamp->timestamp.clock_id; - ts.value = custom_timestamp->timestamp.value; - } else { - ts = TrackEventInternal::GetTraceTime(); - } - - if (PERFETTO_UNLIKELY(dynamic_cat)) { - AdvanceToFirstEnabledDynamicCategory(ii, tls_state, cat, *dynamic_cat); - if (!ii->instance) { - return; - } - } - - perfetto::TraceWriterBase* trace_writer = ii->instance->trace_writer.get(); - - const auto& track_event_tls = - *static_cast( - ii->instance->data_source_custom_tls.get()); - - auto* incr_state = static_cast( - ds->GetIncrementalState(ii->instance, ii->i)); - ResetIncrementalStateIfRequired(trace_writer, incr_state, track_event_tls, - ts); - - if (std::holds_alternative(track)) { - auto* registered_track = - std::get(track); - track_uuid = - EmitRegisteredTrack(registered_track, incr_state, trace_writer); - } else if (std::holds_alternative( - track)) { - auto* named_track = std::get(track); - track_uuid = EmitNamedTrack(named_track->parent_uuid, named_track->name, - named_track->id, incr_state, trace_writer); - } else if (std::holds_alternative( - track)) { - auto* proto_track = std::get(track); - track_uuid = EmitProtoTrack(proto_track->uuid, proto_track->fields, - incr_state, trace_writer); - } else if (std::holds_alternative( - track)) { - auto* nested = std::get(track); - - uint64_t uuid = 0; - - for (PerfettoTeHlNestedTrack* const* tp = nested->tracks; *tp != nullptr; - tp++) { - auto track_type = - static_cast((*tp)->type); - - switch (track_type) { - case PERFETTO_TE_HL_NESTED_TRACK_TYPE_NAMED: { - auto* named_track = - reinterpret_cast(*tp); - uuid = EmitNamedTrack(uuid, named_track->name, named_track->id, - incr_state, trace_writer); - } break; - case PERFETTO_TE_HL_NESTED_TRACK_TYPE_PROCESS: { - uuid = perfetto_te_process_track_uuid; - } break; - case PERFETTO_TE_HL_NESTED_TRACK_TYPE_THREAD: { - uuid = perfetto_te_process_track_uuid ^ - static_cast(perfetto::base::GetThreadId()); - } break; - case PERFETTO_TE_HL_NESTED_TRACK_TYPE_PROTO: { - auto* proto_track = - reinterpret_cast(*tp); - uuid = EmitProtoTrackWithParentUuid(proto_track->id ^ uuid, uuid, - proto_track->fields, incr_state, - trace_writer); - } break; - case PERFETTO_TE_HL_NESTED_TRACK_TYPE_REGISTERED: { - auto* registered_track = - reinterpret_cast(*tp); - uuid = EmitRegisteredTrack(registered_track->track, incr_state, - trace_writer); - } break; - } - } - track_uuid = uuid; - } - - { - auto packet = NewTracePacketInternal( - trace_writer, incr_state, track_event_tls, ts, - perfetto::protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE); - auto* track_event = packet->set_track_event(); - WriteTrackEvent(incr_state, track_event, cat, type, name, extra_data, - track_uuid, dynamic_cat, use_interning); - track_event->Finalize(); - - if (!incr_state->serialized_interned_data.empty()) { - auto ranges = incr_state->serialized_interned_data.GetRanges(); - packet->AppendScatteredBytes( - perfetto::protos::pbzero::TracePacket::kInternedDataFieldNumber, - ranges.data(), ranges.size()); - incr_state->serialized_interned_data.Reset(); - } - } - - if (PERFETTO_UNLIKELY(flush)) { - trace_writer->Flush(); - } -} - -void PerfettoTeHlEmitImpl(struct PerfettoTeCategoryImpl* cat, - int32_t type, - const char* name, - struct PerfettoTeHlExtra* const* extra_data) { - uint32_t cached_instances = - perfetto::shlib::TracePointTraits::GetActiveInstances({cat})->load( - std::memory_order_relaxed); - if (!cached_instances) { - return; - } - - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - perfetto::internal::DataSourceThreadLocalState*& tls_state = - *perfetto::shlib::TrackEvent::GetTlsState(); - - if (!ds->TracePrologue( - &tls_state, &cached_instances, {cat})) { - return; - } - - for (perfetto::internal::DataSourceType::InstancesIterator ii = - ds->BeginIteration( - cached_instances, tls_state, {cat}); - ii.instance; - ds->NextIteration( - &ii, tls_state, {cat})) { - InstanceOp(ds, &ii, tls_state, cat, EventType(type), name, extra_data); - } - ds->TraceEpilogue(tls_state); -} - -static void FillIterator( - const perfetto::internal::DataSourceType::InstancesIterator* ii, - struct PerfettoTeTimestamp ts, - struct PerfettoTeLlImplIterator* iterator) { - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - auto& track_event_tls = *static_cast( - ii->instance->data_source_custom_tls.get()); - - auto* incr_state = static_cast( - ds->GetIncrementalState(ii->instance, ii->i)); - perfetto::TraceTimestamp tts; - tts.clock_id = ts.clock_id; - tts.value = ts.value; - ResetIncrementalStateIfRequired(ii->instance->trace_writer.get(), incr_state, - track_event_tls, tts); - - iterator->incr = reinterpret_cast(incr_state); - iterator->tls = - reinterpret_cast(&track_event_tls); -} - -struct PerfettoTeLlImplIterator PerfettoTeLlImplBegin( - struct PerfettoTeCategoryImpl* cat, - struct PerfettoTeTimestamp ts) { - struct PerfettoTeLlImplIterator ret = {}; - uint32_t cached_instances = - perfetto::shlib::TracePointTraits::GetActiveInstances({cat})->load( - std::memory_order_relaxed); - if (!cached_instances) { - return ret; - } - - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - perfetto::internal::DataSourceThreadLocalState*& tls_state = - *perfetto::shlib::TrackEvent::GetTlsState(); - - if (!ds->TracePrologue( - &tls_state, &cached_instances, {cat})) { - return ret; - } - - perfetto::internal::DataSourceType::InstancesIterator ii = - ds->BeginIteration(cached_instances, - tls_state, {cat}); - - ret.ds.inst_id = ii.i; - tls_state->root_tls->cached_instances = ii.cached_instances; - ret.ds.tracer = reinterpret_cast(ii.instance); - if (!ret.ds.tracer) { - ds->TraceEpilogue(tls_state); - return ret; - } - - FillIterator(&ii, ts, &ret); - - ret.ds.tls = reinterpret_cast(tls_state); - return ret; -} - -void PerfettoTeLlImplNext(struct PerfettoTeCategoryImpl* cat, - struct PerfettoTeTimestamp ts, - struct PerfettoTeLlImplIterator* iterator) { - auto* tls = reinterpret_cast( - iterator->ds.tls); - - perfetto::internal::DataSourceType::InstancesIterator ii; - ii.i = iterator->ds.inst_id; - ii.cached_instances = tls->root_tls->cached_instances; - ii.instance = - reinterpret_cast( - iterator->ds.tracer); - - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - ds->NextIteration(&ii, tls, - {cat}); - - iterator->ds.inst_id = ii.i; - tls->root_tls->cached_instances = ii.cached_instances; - iterator->ds.tracer = - reinterpret_cast(ii.instance); - - if (!iterator->ds.tracer) { - ds->TraceEpilogue(tls); - return; - } - - FillIterator(&ii, ts, iterator); -} - -void PerfettoTeLlImplBreak(struct PerfettoTeCategoryImpl*, - struct PerfettoTeLlImplIterator* iterator) { - auto* tls = reinterpret_cast( - iterator->ds.tls); - - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - ds->TraceEpilogue(tls); -} - -bool PerfettoTeLlImplDynCatEnabled( - struct PerfettoDsTracerImpl* tracer, - PerfettoDsInstanceIndex inst_id, - const struct PerfettoTeCategoryDescriptor* dyn_cat) { - perfetto::internal::DataSourceType* ds = - perfetto::shlib::TrackEvent::GetType(); - - auto* tls_inst = - reinterpret_cast( - tracer); - - auto* incr_state = static_cast( - ds->GetIncrementalState(tls_inst, inst_id)); - - return IsDynamicCategoryEnabled(inst_id, incr_state, *dyn_cat); -} - -bool PerfettoTeLlImplTrackSeen(struct PerfettoTeLlImplIncr* incr, - uint64_t uuid) { - auto* incr_state = - reinterpret_cast(incr); - - return !incr_state->seen_track_uuids.insert(uuid).second; -} - -uint64_t PerfettoTeLlImplIntern(struct PerfettoTeLlImplIncr* incr, - int32_t type, - const void* data, - size_t data_size, - bool* seen) { - auto* incr_state = - reinterpret_cast(incr); - - auto res = incr_state->iids.FindOrAssign(type, data, data_size); - *seen = !res.newly_assigned; - return res.iid; -} From d337367ff64ae5b8aa200d2b58a9dcfa392238e0 Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Fri, 10 Oct 2025 23:56:27 +0200 Subject: [PATCH 059/370] Remove `std::move` statements for returning values from functions (#3250) Removes `std::move` from all functions for returning values to the caller. All of these issues were reported by cppcheck. --- src/profiling/common/producer_support.cc | 2 +- .../importers/etm/etm_v4_stream_demultiplexer.cc | 2 +- src/trace_processor/trace_processor_impl.cc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/profiling/common/producer_support.cc b/src/profiling/common/producer_support.cc index e9e193db81f..5fea5835a6e 100644 --- a/src/profiling/common/producer_support.cc +++ b/src/profiling/common/producer_support.cc @@ -45,7 +45,7 @@ std::optional FindInPackagesList( } if (pkg.uid == lookup_uid) { - return std::move(pkg); // -Wreturn-std-move-in-c++11 + return pkg; } } return std::nullopt; diff --git a/src/trace_processor/importers/etm/etm_v4_stream_demultiplexer.cc b/src/trace_processor/importers/etm/etm_v4_stream_demultiplexer.cc index e6c17804970..3a70af06a6e 100644 --- a/src/trace_processor/importers/etm/etm_v4_stream_demultiplexer.cc +++ b/src/trace_processor/importers/etm/etm_v4_stream_demultiplexer.cc @@ -218,7 +218,7 @@ base::StatusOr ParseAuxtraceInfo( } } - return std::move(per_cpu_configuration); + return base::StatusOr(std::move(per_cpu_configuration)); } // ETM data is embedded in the AUX buffers. diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc index 6bfd30cb18c..7e4cdc2c1c8 100644 --- a/src/trace_processor/trace_processor_impl.cc +++ b/src/trace_processor/trace_processor_impl.cc @@ -258,7 +258,7 @@ base::StatusOr ToRegisteredPackage( new_package.modules.Insert(module_name_and_sql.first, {module_name_and_sql.second, false}); } - return std::move(new_package); + return base::StatusOr(std::move(new_package)); } class ValueAtMaxTs : public sqlite::AggregateFunction { From 3b4d64fbceb41b554ff7e609ed721160c2f5b1e7 Mon Sep 17 00:00:00 2001 From: hteplitz-Google Date: Fri, 10 Oct 2025 16:51:57 -0700 Subject: [PATCH 060/370] [TP] Fix extra statsd descriptors by enabling merging on main addFromFDS method (#3260) Previously submitted code to enable extra statsd descriptors was rolled back last week due to a failing test case that was not covered prior to merging. The root cause appears to be a missing merge flag when adding the main kAtomsDescriptor to the descriptor pool through addFromFileDescriptor method --- src/trace_processor/importers/proto/statsd_module.cc | 5 +++-- src/trace_processor/trace_processor_storage_impl.cc | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/trace_processor/importers/proto/statsd_module.cc b/src/trace_processor/importers/proto/statsd_module.cc index bd30d61b4b4..8076ce3655a 100644 --- a/src/trace_processor/importers/proto/statsd_module.cc +++ b/src/trace_processor/importers/proto/statsd_module.cc @@ -114,8 +114,9 @@ StatsdModule::StatsdModule(ProtoImporterModuleContext* module_context, context_(context), args_parser_(*context_->descriptor_pool_) { RegisterForField(TracePacket::kStatsdAtomFieldNumber); - context_->descriptor_pool_->AddFromFileDescriptorSet(kAtomsDescriptor.data(), - kAtomsDescriptor.size()); + context_->descriptor_pool_->AddFromFileDescriptorSet( + kAtomsDescriptor.data(), kAtomsDescriptor.size(), {}, + true); // To allow merging of extra descriptors from statsd if (auto i = context_->descriptor_pool_->FindDescriptorIdx(kAtomProtoName)) { descriptor_idx_ = *i; } else { diff --git a/src/trace_processor/trace_processor_storage_impl.cc b/src/trace_processor/trace_processor_storage_impl.cc index 0f1151fba6a..8bf566f2e7d 100644 --- a/src/trace_processor/trace_processor_storage_impl.cc +++ b/src/trace_processor/trace_processor_storage_impl.cc @@ -56,6 +56,11 @@ TraceProcessorStorageImpl::TraceProcessorStorageImpl(const Config& cfg) kProtoTraceType); context()->reader_registry->RegisterTraceReader( kSymbolsTraceType); + for (const std::string& raw_bytes : cfg.extra_parsing_descriptors) { + context_.descriptor_pool_->AddFromFileDescriptorSet( + reinterpret_cast(raw_bytes.data()), raw_bytes.size(), + {}, true); + } } TraceProcessorStorageImpl::~TraceProcessorStorageImpl() {} From 936b63521c8bafc83e6765e61140d9fecbd7ed7b Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Sat, 11 Oct 2025 12:15:10 +0100 Subject: [PATCH 061/370] ui: Fix table use-after-drop in QueryFlamegraph (#3252) Right now, a temporary table is created containing the slice data for the flamegraph every time a new area selection is created (i.e. every time the area selection is created, or an existing one is modified). QueryFlamegraph runs long-running asynchronous operations internally, which depend on this temporary table. Every time a new area selection is created, the old table is dropped in order to avoid leaking memory. However, since we have no idea what the QueryFlamegraph is doing internally, we can drop this table while the QueryFlamegraph is in the middle of using it, which causes issues. This change essentially shifts ownership of the underlying source table into the QueryFlamegraph itself, so that it can be only dropped once it's actually no longer being used. Fixes: https://buganizer.corp.google.com/issues/447414248 --- ui/src/components/query_flamegraph.ts | 26 +++++++++++++++++-- .../dev.perfetto.TraceProcessorTrack/index.ts | 16 +++++++----- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/ui/src/components/query_flamegraph.ts b/ui/src/components/query_flamegraph.ts index f5a5e917ac1..760d375b18f 100644 --- a/ui/src/components/query_flamegraph.ts +++ b/ui/src/components/query_flamegraph.ts @@ -41,6 +41,7 @@ import { } from '../widgets/flamegraph'; import {Trace} from '../public/trace'; import {sqliteString} from '../base/string_utils'; +import {SharedAsyncDisposable} from '../base/shared_disposable'; export interface QueryFlamegraphColumn { // The name of the column in SQL. @@ -154,16 +155,28 @@ export function metricsFromTableOrSubquery( // A Perfetto UI component which wraps the `Flamegraph` widget and fetches the // data for the widget by querying an `Engine`. -export class QueryFlamegraph { +export class QueryFlamegraph implements AsyncDisposable { private data?: FlamegraphQueryData; private readonly selMonitor = new Monitor([() => this.state.state]); private readonly queryLimiter = new AsyncLimiter(); + private readonly dependencies: ReadonlyArray< + SharedAsyncDisposable + >; constructor( private readonly trace: Trace, private readonly metrics: ReadonlyArray, private state: QueryFlamegraphState, - ) {} + dependencies: ReadonlyArray = [], + ) { + this.dependencies = dependencies.map((d) => SharedAsyncDisposable.wrap(d)); + } + + async [Symbol.asyncDispose](): Promise { + for (const dependency of this.dependencies ?? []) { + await dependency[Symbol.asyncDispose]?.(); + } + } render() { if (this.selMonitor.ifStateChanged()) { @@ -177,6 +190,15 @@ export class QueryFlamegraph { this.data = undefined; this.queryLimiter.schedule(async () => { this.data = undefined; + // Clone all the dependencies to make sure the the are not dropped while + // this function is running, adding them to the trash to make sure they + // are disposed after this function returns, but note this won't + // actually drop the tables unless this class instances have also been + // disposed due to the SharedAsyncDisposable logic. + await using trash = new AsyncDisposableStack(); + for (const dependency of this.dependencies ?? []) { + trash.use(dependency.clone()); + } this.data = await computeFlamegraphTree(engine, metric, state.state); }); } diff --git a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts index 38a5a8e2652..a04f2f2995b 100644 --- a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts +++ b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts @@ -603,7 +603,7 @@ function createSliceFlameGraphPanel(trace: Trace) { return undefined; } - return {isLoading: false, content: currentFlamegraph.flamegraph.render()}; + return {isLoading: false, content: currentFlamegraph.render()}; }, }; } @@ -611,7 +611,7 @@ function createSliceFlameGraphPanel(trace: Trace) { async function computeSliceFlamegraph( trace: Trace, currentSelection: AreaSelection, -): Promise<(AsyncDisposable & {flamegraph: QueryFlamegraph}) | undefined> { +): Promise { const trackIds = []; for (const trackInfo of currentSelection.tracks) { if (!trackInfo?.tags?.kinds?.includes(SLICE_TRACK_KIND)) { @@ -689,10 +689,12 @@ async function computeSliceFlamegraph( }, ], ); - return { - ...iiTable, - flamegraph: new QueryFlamegraph(trace, metrics, { + return new QueryFlamegraph( + trace, + metrics, + { state: Flamegraph.createDefaultState(metrics), - }), - }; + }, + [iiTable], + ); } From 625f5961ec0ccea354fc1b565d7bd75b88f98a8c Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Sat, 11 Oct 2025 13:31:24 +0100 Subject: [PATCH 062/370] ui: group settings page by plugin (#3254) This CL groups the settings page view by the plugin which added the setting. Note that all core_plugins are added to the "core" section rather than being pulled out into plugins (because to all intents and purposes, they should be considered part of the core and it's an implementation detail where exactly they are). Fixes: https://github.com/google/perfetto/issues/2584 --- ui/src/core/app_impl.ts | 11 ++- ui/src/core/plugin_manager.ts | 11 ++- ui/src/core/settings_manager.ts | 12 ++- .../settings_page.ts | 94 +++++++++++++++---- .../dev.perfetto.SettingsPage/styles.scss | 17 ++++ ui/src/frontend/index.ts | 4 +- 6 files changed, 124 insertions(+), 25 deletions(-) diff --git a/ui/src/core/app_impl.ts b/ui/src/core/app_impl.ts index 778c9724964..5031f22b842 100644 --- a/ui/src/core/app_impl.ts +++ b/ui/src/core/app_impl.ts @@ -23,7 +23,7 @@ import {FeatureFlagManager, FlagSettings} from '../public/feature_flag'; import {PageHandler} from '../public/page'; import {Raf} from '../public/raf'; import {RouteArg, RouteArgs} from '../public/route_schema'; -import {Setting, SettingsManager} from '../public/settings'; +import {Setting, SettingDescriptor, SettingsManager} from '../public/settings'; import {DurationPrecision, TimestampFormat} from '../public/timeline'; import {NewEngineMode} from '../trace_processor/engine'; import {AnalyticsInternal, initAnalytics} from './analytics_impl'; @@ -216,6 +216,7 @@ export class AppImpl implements App { readonly initialPluginRouteArgs: RouteArgs; private readonly appCtx: AppContext; private readonly pageMgrProxy: PageManagerImpl; + private readonly settingsMgrProxy: SettingsManager; // Invoked by frontend/index.ts. static initialize(args: AppInitArgs) { @@ -259,6 +260,12 @@ export class AppImpl implements App { }); }, }); + + this.settingsMgrProxy = createProxy(this.appCtx.settingsManager, { + register(setting: SettingDescriptor): Setting { + return appCtx.settingsManager.register(setting, pluginId); + }, + }); } forPlugin(pluginId: string): AppImpl { @@ -306,7 +313,7 @@ export class AppImpl implements App { } get settings(): SettingsManager { - return this.appCtx.settingsManager; + return this.settingsMgrProxy; } get featureFlags(): FeatureFlagManager { diff --git a/ui/src/core/plugin_manager.ts b/ui/src/core/plugin_manager.ts index d9d9645edec..93237158783 100644 --- a/ui/src/core/plugin_manager.ts +++ b/ui/src/core/plugin_manager.ts @@ -58,6 +58,9 @@ export interface PluginWrapper { // boot time. readonly enabled: boolean; + // Whether this is a core plugin (part of CORE_PLUGINS) or not. + readonly isCore: boolean; + // Keeps track of whether this plugin is active. A plugin can be active even // if it's disabled, if another plugin depends on it. // @@ -85,7 +88,7 @@ export class PluginManagerImpl { constructor(private readonly app: PluginAppInterface) {} - registerPlugin(desc: PerfettoPluginStatic) { + registerPlugin(desc: PerfettoPluginStatic, isCore = false) { const flagId = `plugin_${desc.id}`; const name = `Plugin: ${desc.id}`; const flag = featureFlags.register({ @@ -98,6 +101,7 @@ export class PluginManagerImpl { desc, enableFlag: flag, enabled: flag.get(), + isCore, }); } @@ -172,6 +176,11 @@ export class PluginManagerImpl { return assertExists(plugin.traceContext).instance as T; } + isCorePlugin(pluginId: string): boolean { + const plugin = this.registry.tryGet(pluginId); + return plugin?.isCore ?? false; + } + /** * Sort plugins in dependency order, ensuring that if a plugin depends on * other plugins, those plugins will appear fist in the list. diff --git a/ui/src/core/settings_manager.ts b/ui/src/core/settings_manager.ts index a0a2f5cb82b..6472cc01305 100644 --- a/ui/src/core/settings_manager.ts +++ b/ui/src/core/settings_manager.ts @@ -20,15 +20,17 @@ import { SettingsManager, } from '../public/settings'; import {Storage} from './storage'; +import {CORE_PLUGIN_ID} from './plugin_manager'; export const PERFETTO_SETTINGS_STORAGE_KEY = 'perfettoSettings'; // Implement the Setting interface for registered settings -class SettingImpl implements Setting { +export class SettingImpl implements Setting { readonly bootValue?: T; constructor( private readonly manager: SettingsManagerImpl, + public readonly pluginId: string, public readonly id: string, public readonly name: string, public readonly description: string, @@ -95,7 +97,10 @@ export class SettingsManagerImpl implements SettingsManager { return this.registry.get(id) as Setting | undefined; } - register(setting: SettingDescriptor): Setting { + register(setting: SettingDescriptor, pluginId?: string): Setting { + // Default to CORE_PLUGIN_ID if no pluginId is provided + const resolvedPluginId = pluginId ?? CORE_PLUGIN_ID; + // Determine the initial value: stored value if valid, otherwise default. const storedValue = this.currentStoredValues[setting.id]; const parseResult = setting.schema.safeParse(storedValue); @@ -112,6 +117,7 @@ export class SettingsManagerImpl implements SettingsManager { const settingImpl = new SettingImpl( this, + resolvedPluginId, setting.id, setting.name, setting.description, @@ -135,7 +141,7 @@ export class SettingsManagerImpl implements SettingsManager { this.save(); } - getAllSettings(): ReadonlyArray> { + getAllSettings(): ReadonlyArray> { const settings = Array.from(this.registry.values()); settings.sort((a, b) => a.id.localeCompare(b.id)); return settings; diff --git a/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts b/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts index 87d26eb68ce..c68bcca6c16 100644 --- a/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts +++ b/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts @@ -13,7 +13,7 @@ // limitations under the License. import {Setting} from '../../public/settings'; -import {SettingsManagerImpl} from '../../core/settings_manager'; +import {SettingImpl, SettingsManagerImpl} from '../../core/settings_manager'; import m from 'mithril'; import {AppImpl} from '../../core/app_impl'; import {z} from 'zod'; @@ -28,7 +28,8 @@ import {Intent} from '../../widgets/common'; import {EmptyState} from '../../widgets/empty_state'; import {classNames} from '../../base/classnames'; import {Stack, StackAuto} from '../../widgets/stack'; -import {FuzzyFinder} from '../../base/fuzzy'; +import {FuzzyFinder, FuzzySegment} from '../../base/fuzzy'; +import {CORE_PLUGIN_ID} from '../../core/plugin_manager'; export class SettingsPage implements m.ClassComponent { private filterText = ''; @@ -36,17 +37,22 @@ export class SettingsPage implements m.ClassComponent { view() { const app = AppImpl.instance; const settingsManager = app.settings as SettingsManagerImpl; - const allSettings = settingsManager.getAllSettings(); const reloadRequired = settingsManager.isReloadRequired(); - - // Filter settings based on the search text const isFiltering = this.filterText.trim() !== ''; - const finder = new FuzzyFinder(allSettings, (s) => { - return `${s.name} ${s.description ?? ''}`; + + // Get settings (filtered or all) grouped by plugin + const settings = isFiltering + ? this.getFilteredSettingsGrouped(settingsManager) + : this.getAllSettingsGrouped(settingsManager); + const groupedSettings = this.groupSettingsByPlugin(settings); + + // Sort plugin IDs: CORE_PLUGIN_ID first, then alphabetically + const sortedPluginIds = Array.from(groupedSettings.keys()).sort((a, b) => { + if (a === CORE_PLUGIN_ID) return -1; + if (b === CORE_PLUGIN_ID) return 1; + return a.localeCompare(b); }); - const filteredSettings = isFiltering - ? finder.find(this.filterText) - : allSettings.map((item) => ({item, segments: []})); + return m( SettingsShell, { @@ -82,14 +88,68 @@ export class SettingsPage implements m.ClassComponent { }, m( '.pf-settings-page', - filteredSettings.length === 0 + groupedSettings.size === 0 ? this.renderEmptyState(isFiltering) - : m( - CardStack, - filteredSettings.map(({item}) => { - return this.renderSettingCard(item); - }), - ), + : sortedPluginIds.map((pluginId) => { + const settings = groupedSettings.get(pluginId)!; + return this.renderPluginSection(pluginId, settings); + }), + ), + ); + } + + private getAllSettingsGrouped(settingsManager: SettingsManagerImpl) { + return settingsManager + .getAllSettings() + .map((item) => ({item, segments: []})); + } + + private getFilteredSettingsGrouped(settingsManager: SettingsManagerImpl) { + const allSettings = settingsManager.getAllSettings(); + const finder = new FuzzyFinder(allSettings, (s) => { + return `${s.name} ${s.description ?? ''}`; + }); + return finder.find(this.filterText); + } + + private groupSettingsByPlugin( + settings: Array<{item: SettingImpl; segments: FuzzySegment[]}>, + ) { + const app = AppImpl.instance; + const grouped = new Map< + string, + Array<{item: Setting; segments: FuzzySegment[]}> + >(); + for (const result of settings) { + const setting = result.item; + const isCore = + setting.pluginId === CORE_PLUGIN_ID || + app.plugins.isCorePlugin(setting.pluginId); + const targetGroup = isCore ? CORE_PLUGIN_ID : setting.pluginId; + + const existing = grouped.get(targetGroup) ?? []; + existing.push(result); + grouped.set(targetGroup, existing); + } + return grouped; + } + + private renderPluginSection( + pluginId: string, + settings: Array<{item: Setting; segments: FuzzySegment[]}>, + ) { + // Display CORE_PLUGIN_ID as "Core" in the UI + const displayName = pluginId === CORE_PLUGIN_ID ? 'Core' : pluginId; + + return m( + '.pf-settings-page__plugin-section', + {key: pluginId}, + m('h2.pf-settings-page__plugin-title', displayName), + m( + CardStack, + settings.map(({item}) => { + return this.renderSettingCard(item); + }), ), ); } diff --git a/ui/src/core_plugins/dev.perfetto.SettingsPage/styles.scss b/ui/src/core_plugins/dev.perfetto.SettingsPage/styles.scss index 08a443b5700..48c6ceef0e8 100644 --- a/ui/src/core_plugins/dev.perfetto.SettingsPage/styles.scss +++ b/ui/src/core_plugins/dev.perfetto.SettingsPage/styles.scss @@ -15,6 +15,23 @@ @import "../../assets/theme"; .pf-settings-page { + &__plugin-section { + margin-bottom: 32px; + + &:last-child { + margin-bottom: 0; + } + } + + &__plugin-title { + font-size: 18px; + font-weight: 600; + margin: 0 0 16px 0; + padding: 8px 12px; + background: var(--pf-minimal-background); + border-radius: 4px; + } + &__card { display: flex; flex-direction: row; diff --git a/ui/src/frontend/index.ts b/ui/src/frontend/index.ts index fa8abaede00..c8702672b9a 100644 --- a/ui/src/frontend/index.ts +++ b/ui/src/frontend/index.ts @@ -423,8 +423,8 @@ function onCssLoaded() { // Initialize plugins, now that we are ready to go. const pluginManager = AppImpl.instance.plugins; - CORE_PLUGINS.forEach((p) => pluginManager.registerPlugin(p)); - NON_CORE_PLUGINS.forEach((p) => pluginManager.registerPlugin(p)); + CORE_PLUGINS.forEach((p) => pluginManager.registerPlugin(p, true)); + NON_CORE_PLUGINS.forEach((p) => pluginManager.registerPlugin(p, false)); const route = Router.parseUrl(window.location.href); const overrides = (route.args.enablePlugins ?? '').split(','); pluginManager.activatePlugins(overrides); From c768918e87d0073479f44a23d5bae62ddb86b6f4 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Sat, 11 Oct 2025 16:02:01 +0100 Subject: [PATCH 063/370] ui: Improve plugin docs for settings and flags (#3262) --- docs/contributing/ui-plugins.md | 70 ++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/docs/contributing/ui-plugins.md b/docs/contributing/ui-plugins.md index 18aa203ed1f..4210650f2a2 100644 --- a/docs/contributing/ui-plugins.md +++ b/docs/contributing/ui-plugins.md @@ -1647,6 +1647,13 @@ functionality gradually or providing options for advanced users. Feature flags are typically registered in the `onActivate` lifecycle hook using the `app.featureFlags` manager. +> **Note**: Feature flags are best suited for gating new or experimental +> features during development and rollout. They work well as temporary toggles +> that have a plan to be removed once the feature is stable (either by making it +> the default behavior or removing it entirely). If a feature needs ongoing user +> configuration, consider using [Custom Settings](#custom-settings) instead, as +> they provide a better user experience for permanent preferences. + To register a feature flag, you provide `FlagSettings`: - `id` (string): A unique identifier for the flag (e.g., @@ -1674,39 +1681,37 @@ interact with the flag's state: **Example:** ```typescript -import {App, Flag, FlagSettings} from '../../public'; // Adjust path as needed +import {App, Flag, FlagSettings, PerfettoPlugin, Trace} from '../../public'; // Adjust path as needed -export default class implements PerfettoPlugin { +export default class MyFeatureFlagPlugin implements PerfettoPlugin { static readonly id = 'com.example.MyFeatureFlagPlugin'; - private static myCoolFeatureFlag: Flag; + private static enableExperimentalTracks: Flag; static onActivate(app: App): void { - const flagSettings: FlagSettings = { - id: `${this.id}#myCoolFeature`, - name: 'Enable My Cool Feature', + // Register a feature flag to control experimental tracks + this.enableExperimentalTracks = app.featureFlags.register({ + id: `${this.id}#enableExperimentalTracks`, + name: 'Enable Experimental Memory Tracks', defaultValue: false, description: - 'This flag enables a super cool experimental feature that does X, Y, and Z.', - devOnly: true, // Optional: only for dev builds - }; - this.myCoolFeatureFlag = app.featureFlags.register(flagSettings); - - // You can immediately check its state or use it to gate other registrations - if (this.myCoolFeatureFlag.get()) { - console.log('My Cool Feature is enabled!'); - // Register other components that depend on this flag + 'Enables experimental memory analysis tracks that show detailed heap allocations and memory pressure events. These tracks are under active development.', + devOnly: true, // Only visible in development builds + }); + + // Register a command that's only available when the flag is enabled + if (this.enableExperimentalTracks.get()) { + app.commands.registerCommand({ + id: `${this.id}#analyzeMemoryLeaks`, + name: 'Analyze potential memory leaks', + callback: () => console.log('Running experimental leak detection...'), + }); } } async onTraceLoad(trace: Trace): Promise { - // Example of using the flag later - if (MyFeatureFlagPlugin.myCoolFeatureFlag.get()) { - // Add tracks or tabs related to this feature - trace.sidebar.addMenuItem({ - section: 'current_trace', - text: 'Cool Feature Action', - action: () => alert('Cool feature activated!'), - }); + // Only add experimental tracks if the feature flag is enabled + if (MyFeatureFlagPlugin.enableExperimentalTracks.get()) { + // ... add the track ... } } } @@ -1769,25 +1774,24 @@ const MyComplexObjectSchema = z.object({ }); type MyComplexObject = z.infer; -export default class implements PerfettoPlugin { +export default class MySettingsPlugin implements PerfettoPlugin { static readonly id = 'com.example.MySettingsPlugin'; private static simpleBooleanSetting: Setting; private static complexObjectSetting: Setting; static onActivate(app: App): void { // 1. A simple boolean setting - const boolSettingDesc: SettingDescriptor = { + this.simpleBooleanSetting = app.settings.register({ id: `${this.id}#enableSimpleFeature`, name: 'Enable Simple Feature', description: 'Toggles a basic feature on or off.', schema: z.boolean(), defaultValue: true, requiresReload: false, - }; - this.simpleBooleanSetting = app.settings.register(boolSettingDesc); + }); // 2. A more complex object-based setting with a custom renderer - const complexSettingDesc: SettingDescriptor = { + this.complexObjectSetting = app.settings.register({ id: `${this.id}#complexConfig`, name: 'Complex Configuration', description: 'Configure advanced options A and B.', @@ -1819,8 +1823,7 @@ export default class implements PerfettoPlugin { setting.isDefault ? m('span', ' (Default)') : null, ]); }, - }; - this.complexObjectSetting = app.settings.register(complexSettingDesc); + }); // Using the setting value if (this.simpleBooleanSetting.get()) { @@ -1832,7 +1835,12 @@ export default class implements PerfettoPlugin { ); } - // ... other plugin methods + async onTraceLoad(trace: Trace) { + // Use the setting in onTraceLoad + if (MySettingsPlugin.simpleBooleanSetting.get()) { + console.log('Simple feature is ON'); + } + } } ``` From c64475bcd53b3eb4dec7117f97efc1234a891a52 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Mon, 13 Oct 2025 08:09:25 +0100 Subject: [PATCH 064/370] ui: Roll canary (#3264) Release cherry-picks: - #3252 - #3248 --- ui/release/channels.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/release/channels.json b/ui/release/channels.json index d6f8d56763a..b0f2db77a2d 100644 --- a/ui/release/channels.json +++ b/ui/release/channels.json @@ -6,7 +6,7 @@ }, { "name": "canary", - "rev": "446c15b2facf931a20cd6232c6f6cd9c5a7f989b" + "rev": "c5facd8cc66984f0eb14e3cf561dbe9c162d3258" }, { "name": "autopush", From 0b2a5b077ab08818704487b14218ce621a75ca54 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Mon, 13 Oct 2025 09:00:08 +0100 Subject: [PATCH 065/370] ui: allow setting record time from keyboard (#3251) Also remove track_event from Chrome/CrOS: I forgot that they have their own dedicated section so there's no point enabling it for them. Fixes: https://github.com/google/perfetto/issues/3243 --- .../pages/perfetto_sdk.ts | 2 +- .../pages/widgets/slider.ts | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/perfetto_sdk.ts b/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/perfetto_sdk.ts index 80e61f71c94..0a5a027a994 100644 --- a/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/perfetto_sdk.ts +++ b/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/perfetto_sdk.ts @@ -50,7 +50,7 @@ function trackEvent(): RecordProbe { image: 'rec_atrace.png', description: 'Enables C / C++ / Java annotations (PERFETTO_TE_SLICE_BEGIN(), TRACE_EVENT(), os.PerfettoTrace())', - supportedPlatforms: ['ANDROID', 'CHROME', 'CHROME_OS', 'LINUX'], + supportedPlatforms: ['ANDROID', 'LINUX'], settings, genConfig: function (tc: TraceConfigBuilder) { tc.addTrackEventDisabledCategories('*'); diff --git a/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/widgets/slider.ts b/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/widgets/slider.ts index 63ae2204cff..183a6c30d74 100644 --- a/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/widgets/slider.ts +++ b/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/widgets/slider.ts @@ -99,10 +99,21 @@ export class Slider implements ProbeSetting { let spinnerCfg = {}; if (attrs.isTime) { + const timeStr = new Date(val).toISOString().substring(11, 11 + 8); spinnerCfg = { type: 'text', pattern: '(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}', // hh:mm:ss - value: new Date(val).toISOString().substring(11, 11 + 8), + defaultValue: timeStr, + oncreate: (vnode: m.VnodeDOM) => { + (vnode.dom as HTMLInputElement).value = timeStr; + }, + onupdate: (vnode: m.VnodeDOM) => { + const input = vnode.dom as HTMLInputElement; + // Only update if the input is not focused (i.e., user is not typing) + if (document.activeElement !== input) { + input.value = new Date(val).toISOString().substring(11, 11 + 8); + } + }, oninput: (e: InputEvent) => { this.onTimeValueChange((e.target as HTMLInputElement).value); }, From da58fbdf0f14a29a3ccd4f304ccb83ef4940185d Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Mon, 13 Oct 2025 09:19:53 +0100 Subject: [PATCH 066/370] ui: Add selection.resolveSqlEvents which returns a list of all matching tracks for a given table name + id pair (#3265) This is some groundwork for #3188 --- ui/src/core/selection_manager.ts | 54 +++++++++++++++++++------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/ui/src/core/selection_manager.ts b/ui/src/core/selection_manager.ts index d1313f6aef6..b48a79c9cfc 100644 --- a/ui/src/core/selection_manager.ts +++ b/ui/src/core/selection_manager.ts @@ -226,10 +226,10 @@ export class SelectionManagerImpl implements SelectionManager { return this.detailsPanels.get(this._selection); } - async resolveSqlEvent( + async resolveSqlEvents( sqlTableName: string, id: number, - ): Promise<{eventId: number; trackUri: string} | undefined> { + ): Promise> { // This function: // 1. Find the list of tracks whose rootTableName is the same as the one we // are looking for @@ -240,6 +240,7 @@ export class SelectionManagerImpl implements SelectionManager { // One flaw of this approach is that. const groups = new Map(); const tracksWithNoFilter: [SourceDataset, Track][] = []; + const matches: {eventId: number; trackUri: string}[] = []; this.trackManager .getAllTracks() @@ -267,7 +268,7 @@ export class SelectionManagerImpl implements SelectionManager { const query = `select id from (${dataset.query()}) where id = ${id}`; const result = await this.engine.query(query); if (result.numRows() > 0) { - return {eventId: id, trackUri: track.uri}; + matches.push({eventId: id, trackUri: track.uri}); } } @@ -290,31 +291,42 @@ export class SelectionManagerImpl implements SelectionManager { const query = `select * from (${union.query(schema)}) where id = ${id}`; const result = await this.engine.query(query); - const row = result.iter(schema); - const value = row.get(colName); - - let trackUri = map.get(value); + const getTrackFromFilterValue = function (value: SqlValue) { + let trackUri = map.get(value); - // If that didn't work, try converting the value to a number if it's a - // bigint. Unless specified as a NUM type, any integers on the wire will - // be parsed as a bigint to avoid losing precision. - if (trackUri === undefined && typeof value === 'bigint') { - trackUri = map.get(Number(value)); - } + // If that didn't work, try converting the value to a number if it's a + // bigint. Unless specified as a NUM type, any integers on the wire will + // be parsed as a bigint to avoid losing precision. + if (trackUri === undefined && typeof value === 'bigint') { + trackUri = map.get(Number(value)); + } + return trackUri; + }; - if (trackUri) { - return {eventId: id, trackUri}; + const row = result.iter(schema); + for (; row.valid(); row.next()) { + const value = row.get(colName); + const trackUri = getTrackFromFilterValue(value); + if (trackUri) { + matches.push({eventId: id, trackUri}); + } } } - return undefined; + return matches; } - selectSqlEvent(sqlTableName: string, id: number, opts?: SelectionOpts): void { - this.resolveSqlEvent(sqlTableName, id).then((selection) => { - selection && - this.selectTrackEvent(selection.trackUri, selection.eventId, opts); - }); + async resolveSqlEvent( + sqlTableName: string, + id: number, + ): Promise<{eventId: number; trackUri: string} | undefined> { + const matches = await this.resolveSqlEvents(sqlTableName, id); + return matches[0]; + } + + async selectSqlEvent(sqlTableName: string, id: number, opts?: SelectionOpts) { + const event = await this.resolveSqlEvent(sqlTableName, id); + event && this.selectTrackEvent(event.trackUri, event.eventId, opts); } private setSelection(selection: Selection, opts?: SelectionOpts) { From 8eeb8a8040a11d826750ffd6dbc4fa6610f4ca88 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Mon, 13 Oct 2025 13:36:19 +0100 Subject: [PATCH 067/370] exp: Add comments to nodes (#3266) Add freeform commenting to nodes, that is visible on the node (on the graph). Some styling fixes --- .../query_builder/graph/node_block.scss | 11 ----------- .../query_builder/graph/node_block.ts | 4 +--- .../query_builder/graph/node_box.scss | 11 ----------- .../query_builder/graph/node_box.ts | 10 +++++++--- .../query_builder/graph/node_container.scss | 16 ++++++++++++++++ .../query_builder/node_explorer.scss | 9 +++++++++ .../query_builder/node_explorer.ts | 9 +++++++++ .../query_builder/nodes/aggregation_node.ts | 2 ++ .../nodes/interval_intersect_node.ts | 2 ++ .../query_builder/nodes/modify_columns_node.ts | 2 ++ .../query_builder/nodes/sources/slices_source.ts | 2 ++ .../query_builder/nodes/sources/sql_source.ts | 2 ++ .../query_builder/nodes/sources/table_source.ts | 2 ++ .../dev.perfetto.ExplorePage/query_node.ts | 1 + 14 files changed, 55 insertions(+), 28 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss index 5aead99eeed..a90bde4752d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.scss @@ -40,15 +40,4 @@ &:not(:last-child) { border-bottom: 2px solid var(--pf-color-border); } - - .pf-button { - display: none; - position: absolute; - top: -0.5rem; - right: -0.5rem; - } - - &:hover .pf-button { - display: flex; - } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts index 973696e7051..0d92e809638 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts @@ -18,7 +18,6 @@ import { NodeBoxAttrs, NodeBoxContent, renderAddButton, - renderFilters, renderWarningIcon, } from './node_box'; import {QueryNode} from '../../query_node'; @@ -56,8 +55,7 @@ export const NodeBlock: m.Component = { m( '.pf-node-block__node', {onclick: () => onNodeSelected(n)}, - m(NodeBoxContent, {node: n}), - renderFilters({...attrs, node: n}), + m(NodeBoxContent, {...attrs, node: n}), ), ), renderWarningIcon(lastNode), diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss index 8d194269b2a..e4b89ee417f 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.scss @@ -108,14 +108,3 @@ .pf-node-box-port { z-index: 1; } - -.pf-node-box .pf-button { - display: none; - position: absolute; - top: -0.5rem; - right: -0.5rem; -} - -.pf-node-box:hover .pf-button { - display: flex; -} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts index 0854a80b24d..467a44e1d96 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts @@ -22,6 +22,8 @@ import {QueryNode, singleNodeOperation} from '../../query_node'; import {FilterDefinition} from '../../../../components/widgets/data_grid/common'; import {Chip} from '../../../../widgets/chip'; import {Icon} from '../../../../widgets/icon'; +import {Callout} from '../../../../widgets/callout'; +import {Intent} from '../../../../widgets/common'; import {NodeContainer} from './node_container'; @@ -139,7 +141,7 @@ export function renderFilters(attrs: NodeBoxAttrs): m.Child { ); } -export const NodeBoxContent: m.Component<{node: QueryNode}> = { +export const NodeBoxContent: m.Component = { view({attrs}) { const {node} = attrs; const hasCustomTitle = node.state.customTitle !== undefined; @@ -148,7 +150,10 @@ export const NodeBoxContent: m.Component<{node: QueryNode}> = { return m( '.pf-node-box__content', shouldShowTitle && m('span.pf-node-box__title', node.getTitle()), + node.state.comment && + m(Callout, {intent: Intent.None}, node.state.comment), m('.pf-node-box__details', node.nodeDetails?.()), + renderFilters(attrs), ); }, }; @@ -193,8 +198,7 @@ export const NodeBox: m.Component = { }); }), renderWarningIcon(node), - m(NodeBoxContent, {node}), - renderFilters(attrs), + m(NodeBoxContent, attrs), renderContextMenu(attrs), node.nextNodes.map((_, i) => { const portCount = node.nextNodes.length; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss index efbcc3d1e69..66af9f60a1f 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_container.scss @@ -21,6 +21,9 @@ border-radius: 8px; background-color: var(--pf-color-background); box-shadow: 0 2px 4px var(--pf-color-box-shadow); + // Set a max-width to prevent nodes with long comments or details from + // becoming excessively wide and breaking the layout. + max-width: 300px; &--selected { border-color: var(--pf-color-primary); @@ -29,4 +32,17 @@ &--dragging { opacity: 0.4; } + + // Generic styling for buttons that should appear on hover over any node + // container. + > .pf-button { + display: none; + position: absolute; + top: -0.5rem; + right: -0.5rem; + } + + &:hover > .pf-button { + display: flex; + } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.scss index 70597954582..9f71b521002 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.scss @@ -45,6 +45,15 @@ i.pf-node-explorer__warning-icon--warning { color: var(--pf-color-warning); } + + .pf-node-explorer__comment { + border: 1px solid var(--pf-color-border); + border-radius: 4px; + padding: 0.5rem; + background-color: var(--pf-color-background); + margin-top: 0.5rem; + resize: vertical; + } } .pf-node-explorer-sql-source { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.ts index 777e5b821a9..13a5776007b 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_explorer.ts @@ -171,6 +171,15 @@ export class NodeExplorer implements m.ClassComponent { 'article', this.selectedView === SelectedView.kModify && [ node.nodeSpecificModify(attrs.onExecute), + m('textarea.pf-node-explorer__comment', { + 'aria-label': 'Comment', + 'placeholder': 'Add a comment...', + 'oninput': (e: InputEvent) => { + if (!e.target) return; + node.state.comment = (e.target as HTMLTextAreaElement).value; + }, + 'value': node.state.comment, + }), ], this.selectedView === SelectedView.kSql && (isAQuery(this.currentQuery) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 8f57d08f421..46df746ba10 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -45,6 +45,7 @@ export interface AggregationSerializedState { }[]; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface AggregationNodeState extends QueryNodeState { @@ -298,6 +299,7 @@ export class AggregationNode implements QueryNode { })), filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts index e6cb7ba8efc..dff409d7a96 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts @@ -31,6 +31,7 @@ export interface IntervalIntersectSerializedState { intervalNodes: string[]; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface IntervalIntersectNodeState extends QueryNodeState { @@ -181,6 +182,7 @@ export class IntervalIntersectNode implements QueryNode { intervalNodes: this.state.intervalNodes.map((n) => n.nodeId), filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index b571e33e810..3b399ce4b8b 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -45,6 +45,7 @@ export interface ModifyColumnsSerializedState { selectedColumns: ColumnInfo[]; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface ModifyColumnsState extends QueryNodeState { @@ -461,6 +462,7 @@ export class ModifyColumnsNode implements QueryNode { selectedColumns: this.state.selectedColumns, filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts index fb2ef947d52..b3678522a24 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts @@ -35,6 +35,7 @@ export interface SlicesSourceSerializedState { track_name?: string; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface SlicesSourceState extends QueryNodeState { @@ -91,6 +92,7 @@ export class SlicesSourceNode extends SourceNode { track_name: this.state.track_name, filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts index 7736d262a44..f010514c1c7 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts @@ -37,6 +37,7 @@ export interface SqlSourceSerializedState { sql?: string; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface SqlSourceState extends QueryNodeState { @@ -102,6 +103,7 @@ export class SqlSourceNode extends SourceNode { sql: this.state.sql, filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts index 47b95c060ab..7c9de72ea93 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts @@ -39,6 +39,7 @@ export interface TableSourceSerializedState { sqlTable?: string; filters?: FilterDefinition[]; customTitle?: string; + comment?: string; } export interface TableSourceState extends QueryNodeState { @@ -224,6 +225,7 @@ export class TableSourceNode extends SourceNode { sqlTable: this.state.sqlTable?.name, filters: this.state.filters, customTitle: this.state.customTitle, + comment: this.state.comment, }; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index a805f40eebe..49c53d27202 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -46,6 +46,7 @@ export function singleNodeOperation(type: NodeType): boolean { export interface QueryNodeState { prevNodes?: QueryNode[]; customTitle?: string; + comment?: string; // Operations filters?: FilterDefinition[]; From 9d0c7e2508f13739eaf4ae8ca63b76ae65edbceb Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Mon, 13 Oct 2025 13:54:10 +0100 Subject: [PATCH 068/370] ui: Add confirmation when restoring defaults (#3268) Now that settings are getting more complex and contain more information, accidentally restoring settings can be rather destructive. This patch adds a confirmation dialog to each 'Restore Defaults' button on the settings, plugins and flags pages to avoid accidentally wiping away information that would be annoying to reconfigure. image --- .../dev.perfetto.FlagsPage/flags_page.ts | 40 ++++++++++++-- .../dev.perfetto.FlagsPage/plugins_page.ts | 54 ++++++++++++++----- .../settings_page.ts | 40 ++++++++++++-- 3 files changed, 112 insertions(+), 22 deletions(-) diff --git a/ui/src/core_plugins/dev.perfetto.FlagsPage/flags_page.ts b/ui/src/core_plugins/dev.perfetto.FlagsPage/flags_page.ts index 718d8115b09..c24b98fc09d 100644 --- a/ui/src/core_plugins/dev.perfetto.FlagsPage/flags_page.ts +++ b/ui/src/core_plugins/dev.perfetto.FlagsPage/flags_page.ts @@ -30,6 +30,8 @@ import {FuzzyFinder} from '../../base/fuzzy'; import {classNames} from '../../base/classnames'; import {Intent} from '../../widgets/common'; import {Anchor} from '../../widgets/anchor'; +import {Popup} from '../../widgets/popup'; +import {Box} from '../../widgets/box'; const RELEASE_PROCESS_URL = 'https://perfetto.dev/docs/visualization/perfetto-ui-release-process'; @@ -169,11 +171,39 @@ export class FlagsPage implements m.ClassComponent { stickyHeaderContent: m( Stack, {orientation: 'horizontal'}, - m(Button, { - icon: 'restore', - label: 'Restore Defaults', - onclick: () => featureFlags.resetAll(), - }), + m( + Popup, + { + trigger: m(Button, { + icon: 'restore', + label: 'Restore Defaults', + }), + }, + m( + Box, + m( + Stack, + 'Are you sure you want to restore all flags to their default values? This action cannot be undone!', + m( + Stack, + {orientation: 'horizontal'}, + m(StackAuto), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + variant: ButtonVariant.Filled, + label: 'Cancel', + }), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + intent: Intent.Danger, + variant: ButtonVariant.Filled, + label: 'Restore Defaults', + onclick: () => featureFlags.resetAll(), + }), + ), + ), + ), + ), needsReload && m(Button, { icon: 'refresh', diff --git a/ui/src/core_plugins/dev.perfetto.FlagsPage/plugins_page.ts b/ui/src/core_plugins/dev.perfetto.FlagsPage/plugins_page.ts index 117662028d4..acb5815df02 100644 --- a/ui/src/core_plugins/dev.perfetto.FlagsPage/plugins_page.ts +++ b/ui/src/core_plugins/dev.perfetto.FlagsPage/plugins_page.ts @@ -29,6 +29,8 @@ import {FuzzyFinder} from '../../base/fuzzy'; import {Stack, StackAuto} from '../../widgets/stack'; import {TextInput} from '../../widgets/text_input'; import {EmptyState} from '../../widgets/empty_state'; +import {Popup} from '../../widgets/popup'; +import {Box} from '../../widgets/box'; enum SortOrder { Name = 'name', @@ -114,19 +116,47 @@ export class PluginsPage implements m.ClassComponent { }, m( ButtonBar, - m(Button, { - icon: 'restore', - disabled: !anyNonDefaults, - label: 'Restore Defaults', - title: anyNonDefaults - ? 'Restore all plugins to their default enabled/disabled state' - : 'All plugins are in their default state', - onclick: () => { - for (const plugin of registeredPlugins) { - plugin.enableFlag.reset(); - } + m( + Popup, + { + trigger: m(Button, { + icon: 'restore', + disabled: !anyNonDefaults, + label: 'Restore Defaults', + title: anyNonDefaults + ? 'Restore all plugins to their default enabled/disabled state' + : 'All plugins are in their default state', + }), }, - }), + m( + Box, + m( + Stack, + 'Are you sure you want to restore all plugins to their default enabled/disabled state? This action cannot be undone!', + m( + Stack, + {orientation: 'horizontal'}, + m(StackAuto), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + variant: ButtonVariant.Filled, + label: 'Cancel', + }), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + intent: Intent.Danger, + variant: ButtonVariant.Filled, + label: 'Restore Defaults', + onclick: () => { + for (const plugin of registeredPlugins) { + plugin.enableFlag.reset(); + } + }, + }), + ), + ), + ), + ), needsRestart && reloadButton(), ), m(StackAuto), diff --git a/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts b/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts index c68bcca6c16..563ac5dda3b 100644 --- a/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts +++ b/ui/src/core_plugins/dev.perfetto.SettingsPage/settings_page.ts @@ -30,6 +30,8 @@ import {classNames} from '../../base/classnames'; import {Stack, StackAuto} from '../../widgets/stack'; import {FuzzyFinder, FuzzySegment} from '../../base/fuzzy'; import {CORE_PLUGIN_ID} from '../../core/plugin_manager'; +import {Popup} from '../../widgets/popup'; +import {Box} from '../../widgets/box'; export class SettingsPage implements m.ClassComponent { private filterText = ''; @@ -61,11 +63,39 @@ export class SettingsPage implements m.ClassComponent { stickyHeaderContent: m( Stack, {orientation: 'horizontal'}, - m(Button, { - icon: 'restore', - label: 'Restore Defaults', - onclick: () => settingsManager.resetAll(), - }), + m( + Popup, + { + trigger: m(Button, { + icon: 'restore', + label: 'Restore Defaults', + }), + }, + m( + Box, + m( + Stack, + 'Are you sure you want to restore all settings to their default values? This action cannot be undone!', + m( + Stack, + {orientation: 'horizontal'}, + m(StackAuto), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + variant: ButtonVariant.Filled, + label: 'Cancel', + }), + m(Button, { + className: Popup.DISMISS_POPUP_GROUP_CLASS, + intent: Intent.Danger, + variant: ButtonVariant.Filled, + label: 'Restore Defaults', + onclick: () => settingsManager.resetAll(), + }), + ), + ), + ), + ), reloadRequired && m(Button, { icon: 'refresh', From 6a960b04f6e20ace0f0e084be42a660f7ff6490a Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Mon, 13 Oct 2025 14:37:26 +0100 Subject: [PATCH 069/370] exp: Support creating dev nodes for fast development (#3267) Cleanup node registration by creating a global nodeRegistry. Add a devMode that acts as a global flag to the whole explorePage. Currently it can be used as a way to enable additional dev nodes. Cleanup the entry page to explore page by moving it into a new file.. --- .../dev.perfetto.ExplorePage/explore_page.ts | 236 ++++++++---------- .../query_builder/builder.scss | 1 + .../query_builder/builder.ts | 42 ++-- .../query_builder/core_nodes.ts | 109 ++++++++ .../query_builder/dev_nodes.ts | 27 ++ .../query_builder/empty_graph.scss | 98 ++++++++ .../query_builder/empty_graph.ts | 112 +++++++++ .../query_builder/graph/graph.scss | 85 ------- .../query_builder/graph/graph.ts | 144 ++++------- .../query_builder/graph/node_block.ts | 6 +- .../query_builder/graph/node_box.ts | 33 +-- .../query_builder/node_registry.ts | 74 ++++++ .../query_builder/nodes/aggregation_node.ts | 6 +- .../query_builder/nodes/dev/test_node.ts | 59 +++++ .../nodes/modify_columns_node.ts | 19 +- .../dev.perfetto.ExplorePage/query_node.ts | 6 + 16 files changed, 700 insertions(+), 357 deletions(-) create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_registry.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts index fc36a77753f..7e637c37826 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts @@ -16,25 +16,22 @@ import m from 'mithril'; import SqlModulesPlugin from '../dev.perfetto.SqlModules'; import {Builder} from './query_builder/builder'; -import {QueryNode} from './query_node'; -import { - TableSourceNode, - modalForTableSelection, -} from './query_builder/nodes/sources/table_source'; -import {SlicesSourceNode} from './query_builder/nodes/sources/slices_source'; -import {SqlSourceNode} from './query_builder/nodes/sources/sql_source'; -import {AggregationNode} from './query_builder/nodes/aggregation_node'; -import {ModifyColumnsNode} from './query_builder/nodes/modify_columns_node'; +import {QueryNode, QueryNodeState} from './query_node'; import {Trace} from '../../public/trace'; -import {IntervalIntersectNode} from './query_builder/nodes/interval_intersect_node'; + import {NodeBoxLayout} from './query_builder/graph/node_box'; import {exportStateAsJson, importStateFromJson} from './json_handler'; import {showImportWithStatementModal} from './sql_json_handler'; +import {registerCoreNodes} from './query_builder/core_nodes'; +import {nodeRegistry} from './query_builder/node_registry'; + +registerCoreNodes(); export interface ExplorePageState { rootNodes: QueryNode[]; selectedNode?: QueryNode; nodeLayouts: Map; + devMode?: boolean; } interface ExplorePageAttrs { @@ -50,120 +47,98 @@ interface ExplorePageAttrs { export class ExplorePage implements m.ClassComponent { private selectNode(attrs: ExplorePageAttrs, node: QueryNode) { - attrs.onStateUpdate({ - ...attrs.state, + attrs.onStateUpdate((currentState) => ({ + ...currentState, selectedNode: node, - }); + })); } private deselectNode(attrs: ExplorePageAttrs) { - attrs.onStateUpdate({ - ...attrs.state, + attrs.onStateUpdate((currentState) => ({ + ...currentState, selectedNode: undefined, - }); + })); } - async handleAddStdlibTableSource(attrs: ExplorePageAttrs) { - const {trace, state, onStateUpdate} = attrs; - const sqlModules = attrs.sqlModulesPlugin.getSqlModules(); - if (!sqlModules) { - return; + private async handleDevModeChange(attrs: ExplorePageAttrs, enabled: boolean) { + if (enabled) { + const {registerDevNodes} = await import('./query_builder/dev_nodes'); + registerDevNodes(); } + attrs.onStateUpdate((currentState) => ({ + ...currentState, + devMode: enabled, + })); + } - const selection = await modalForTableSelection(sqlModules); + handleAddDerivedNode( + attrs: ExplorePageAttrs, + node: QueryNode, + derivedNodeId: string, + ) { + const {state, onStateUpdate} = attrs; + const descriptor = nodeRegistry.get(derivedNodeId); + if (descriptor) { + const nodeState: QueryNodeState = { + prevNodes: [node], + }; - if (selection) { - const newNode = new TableSourceNode({ - trace, - sqlModules, - sqlTable: selection.sqlTable, + const newNode = descriptor.factory(nodeState, { + allNodes: state.rootNodes, }); - onStateUpdate({ - ...state, - rootNodes: [...state.rootNodes, newNode], + node.nextNodes.push(newNode); + onStateUpdate((currentState) => ({ + ...currentState, selectedNode: newNode, - }); + })); } } - handleAddAggregation(attrs: ExplorePageAttrs, node: QueryNode) { - const {state, onStateUpdate} = attrs; - const newNode = new AggregationNode({ - prevNodes: [node], - groupByColumns: [], - aggregations: [], - }); - node.nextNodes.push(newNode); - onStateUpdate({ - ...state, - selectedNode: newNode, - }); - } + private async handleAddSourceNode(attrs: ExplorePageAttrs, id: string) { + const descriptor = nodeRegistry.get(id); + if (!descriptor) return; - handleAddModifyColumns(attrs: ExplorePageAttrs, node: QueryNode) { - const {state, onStateUpdate} = attrs; - const newNode = new ModifyColumnsNode({ - prevNodes: [node], - newColumns: [], - selectedColumns: [], - }); - node.nextNodes.push(newNode); - onStateUpdate({ - ...state, - selectedNode: newNode, - }); - } + let initialState: Partial | null = {}; - handleAddIntervalIntersect(attrs: ExplorePageAttrs, node: QueryNode) { - const {state, onStateUpdate} = attrs; - const newNode = new IntervalIntersectNode({ - prevNodes: [node], - allNodes: state.rootNodes, - intervalNodes: [], - }); - node.nextNodes.push(newNode); - onStateUpdate({ - ...state, - selectedNode: newNode, - }); - } + if (descriptor.preCreate) { + const sqlModules = attrs.sqlModulesPlugin.getSqlModules(); + if (!sqlModules) return; + initialState = await descriptor.preCreate({sqlModules}); + } - handleAddSlicesSource(attrs: ExplorePageAttrs) { - const {state, onStateUpdate} = attrs; - const newNode = new SlicesSourceNode({}); - onStateUpdate({ - ...state, - rootNodes: [...state.rootNodes, newNode], - selectedNode: newNode, - }); - } + if (initialState === null) { + return; + } - handleAddSqlSource(attrs: ExplorePageAttrs) { - const {state, onStateUpdate} = attrs; - const newNode = new SqlSourceNode({ - trace: attrs.trace, - }); - onStateUpdate({ - ...state, - rootNodes: [...state.rootNodes, newNode], + const newNode = descriptor.factory( + { + ...initialState, + trace: attrs.trace, + }, + {allNodes: attrs.state.rootNodes}, + ); + + attrs.onStateUpdate((currentState) => ({ + ...currentState, + rootNodes: [...currentState.rootNodes, newNode], selectedNode: newNode, - }); + })); } handleClearAllNodes(attrs: ExplorePageAttrs) { - attrs.onStateUpdate({ - ...attrs.state, + attrs.onStateUpdate((currentState) => ({ + ...currentState, rootNodes: [], selectedNode: undefined, - }); + })); } handleDuplicateNode(attrs: ExplorePageAttrs, node: QueryNode) { - const {state, onStateUpdate} = attrs; - onStateUpdate({ - ...state, - rootNodes: [...state.rootNodes, node.clone()], - }); + const {onStateUpdate} = attrs; + onStateUpdate((currentState) => ({ + ...currentState, + rootNodes: [...currentState.rootNodes, node.clone()], + })); } handleDeleteNode(attrs: ExplorePageAttrs, node: QueryNode) { @@ -187,11 +162,11 @@ export class ExplorePage implements m.ClassComponent { const newSelectedNode = state.selectedNode === node ? undefined : state.selectedNode; - onStateUpdate({ - ...state, + onStateUpdate((currentState) => ({ + ...currentState, rootNodes: newRootNodes, selectedNode: newSelectedNode, - }); + })); } handleExport(state: ExplorePageState, trace: Trace) { @@ -235,16 +210,22 @@ export class ExplorePage implements m.ClassComponent { ) { return; } + + // Handle source node creation shortcuts + for (const [id, descriptor] of nodeRegistry.list()) { + if ( + descriptor.type === 'source' && + descriptor.hotkey && + event.key.toLowerCase() === descriptor.hotkey.toLowerCase() + ) { + this.handleAddSourceNode(attrs, id); + event.preventDefault(); // Prevent default browser actions for this key + return; + } + } + + // Handle other shortcuts switch (event.key) { - case 'q': - this.handleAddSqlSource(attrs); - break; - case 't': - this.handleAddStdlibTableSource(attrs); - break; - case 's': - this.handleAddSlicesSource(attrs); - break; case 'i': this.handleImport(attrs); break; @@ -292,11 +273,14 @@ export class ExplorePage implements m.ClassComponent { rootNodes: state.rootNodes, selectedNode: state.selectedNode, nodeLayouts: state.nodeLayouts, + devMode: state.devMode, + onDevModeChange: (enabled) => this.handleDevModeChange(attrs, enabled), onRootNodeCreated: (node) => { - attrs.onStateUpdate({ - ...state, - rootNodes: [...state.rootNodes, node], - }); + attrs.onStateUpdate((currentState) => ({ + ...currentState, + rootNodes: [...currentState.rootNodes, node], + selectedNode: node, + })); }, onNodeSelected: (node) => { if (node) this.selectNode(attrs, node); @@ -312,9 +296,14 @@ export class ExplorePage implements m.ClassComponent { }; }); }, - onAddStdlibTableSource: () => this.handleAddStdlibTableSource(attrs), - onAddSlicesSource: () => this.handleAddSlicesSource(attrs), - onAddSqlSource: () => this.handleAddSqlSource(attrs), + onAddSourceNode: (id) => { + this.handleAddSourceNode(attrs, id); + }, + onAddDerivedNode: (id) => { + if (state.selectedNode) { + this.handleAddDerivedNode(attrs, state.selectedNode, id); + } + }, onClearAllNodes: () => this.handleClearAllNodes(attrs), onDuplicateNode: () => { if (state.selectedNode) { @@ -326,21 +315,6 @@ export class ExplorePage implements m.ClassComponent { this.handleDeleteNode(attrs, state.selectedNode); } }, - onAddAggregationNode: () => { - if (state.selectedNode) { - this.handleAddAggregation(attrs, state.selectedNode); - } - }, - onAddModifyColumnsNode: () => { - if (state.selectedNode) { - this.handleAddModifyColumns(attrs, state.selectedNode); - } - }, - onAddIntervalIntersectNode: () => { - if (state.selectedNode) { - this.handleAddIntervalIntersect(attrs, state.selectedNode); - } - }, onImport: () => this.handleImport(attrs), onImportWithStatement: () => this.handleImportWithStatement(attrs), onExport: () => this.handleExport(state, trace), @@ -351,7 +325,7 @@ export class ExplorePage implements m.ClassComponent { node.state.filters.splice(filterIndex, 1); } } - attrs.onStateUpdate({...state}); + attrs.onStateUpdate((currentState) => ({...currentState})); }, }), ); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss index ef3d4f09fe9..ca5567c9abb 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.scss @@ -15,6 +15,7 @@ @import "../../../assets/theme"; @import "./data_explorer.scss"; @import "./graph/graph.scss"; +@import "./empty_graph.scss"; @import "./help.scss"; @import "./graph/node_box.scss"; @import "./graph/node_container.scss"; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts index 3314b01909a..cf4c97b78eb 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/builder.ts @@ -38,34 +38,35 @@ import {NodeBoxLayout} from './graph/node_box'; export interface BuilderAttrs { readonly trace: Trace; - readonly sqlModules: SqlModules; + + readonly devMode?: boolean; + readonly rootNodes: QueryNode[]; readonly selectedNode?: QueryNode; readonly nodeLayouts: Map; + readonly onDevModeChange?: (enabled: boolean) => void; + + // Add nodes. + readonly onAddSourceNode: (id: string) => void; + readonly onAddDerivedNode: (id: string) => void; + readonly onRootNodeCreated: (node: QueryNode) => void; readonly onNodeSelected: (node?: QueryNode) => void; readonly onDeselect: () => void; readonly onNodeLayoutChange: (nodeId: string, layout: NodeBoxLayout) => void; - // Add source nodes. - readonly onAddStdlibTableSource: () => void; - readonly onAddSlicesSource: () => void; - readonly onAddSqlSource: () => void; - - // Add derived nodes. - readonly onAddAggregationNode: (node: QueryNode) => void; - readonly onAddModifyColumnsNode: (node: QueryNode) => void; - readonly onAddIntervalIntersectNode: (node: QueryNode) => void; - + readonly onDeleteNode: (node: QueryNode) => void; readonly onClearAllNodes: () => void; readonly onDuplicateNode: (node: QueryNode) => void; - readonly onDeleteNode: (node: QueryNode) => void; + readonly onRemoveFilter: (node: QueryNode, filter: FilterDefinition) => void; + + // Import / Export JSON readonly onImport: () => void; - readonly onImportWithStatement: () => void; readonly onExport: () => void; - readonly onRemoveFilter: (node: QueryNode, filter: FilterDefinition) => void; + + readonly onImportWithStatement: () => void; } export class Builder implements m.ClassComponent { @@ -88,9 +89,6 @@ export class Builder implements m.ClassComponent { rootNodes, onNodeSelected, selectedNode, - onAddStdlibTableSource, - onAddSlicesSource, - onAddSqlSource, onClearAllNodes, sqlModules, } = attrs; @@ -170,14 +168,12 @@ export class Builder implements m.ClassComponent { nodeLayouts: attrs.nodeLayouts, onNodeLayoutChange: attrs.onNodeLayoutChange, onDeselect: attrs.onDeselect, - onAddStdlibTableSource, - onAddSlicesSource, - onAddSqlSource, + onAddSourceNode: attrs.onAddSourceNode, onClearAllNodes, onDuplicateNode: attrs.onDuplicateNode, - onAddAggregation: attrs.onAddAggregationNode, - onAddModifyColumns: attrs.onAddModifyColumnsNode, - onAddIntervalIntersect: attrs.onAddIntervalIntersectNode, + onAddDerivedNode: attrs.onAddDerivedNode, + devMode: attrs.devMode, + onDevModeChange: attrs.onDevModeChange, onDeleteNode: (node: QueryNode) => { if (node.isMaterialised()) { trace.engine.query(`DROP TABLE IF EXISTS ${node.meterialisedAs}`); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts new file mode 100644 index 00000000000..827982be84e --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts @@ -0,0 +1,109 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {nodeRegistry} from './node_registry'; +import {SlicesSourceNode} from './nodes/sources/slices_source'; +import { + modalForTableSelection, + TableSourceNode, + TableSourceState, +} from './nodes/sources/table_source'; +import {SqlSourceNode, SqlSourceState} from './nodes/sources/sql_source'; +import {AggregationNode, AggregationNodeState} from './nodes/aggregation_node'; +import { + ModifyColumnsNode, + ModifyColumnsState, +} from './nodes/modify_columns_node'; +import { + IntervalIntersectNode, + IntervalIntersectNodeState, +} from './nodes/interval_intersect_node'; + +export function registerCoreNodes() { + nodeRegistry.register('slice', { + name: 'Slices', + description: 'Explore all the slices from your trace.', + icon: 'bar_chart', + hotkey: 's', + type: 'source', + factory: (state) => new SlicesSourceNode(state), + }); + + nodeRegistry.register('table', { + name: 'Perfetto Table', + description: + 'Query and explore data from any table in the Perfetto standard library.', + icon: 'table_chart', + hotkey: 't', + type: 'source', + preCreate: async ({sqlModules}) => { + const selection = await modalForTableSelection(sqlModules); + if (selection) { + return { + sqlTable: selection.sqlTable, + sqlModules, + }; + } + return null; + }, + factory: (state) => new TableSourceNode(state as TableSourceState), + }); + + nodeRegistry.register('sql', { + name: 'Query Node', + description: + 'Start with a custom SQL query to act as a source for further exploration.', + icon: 'code', + hotkey: 'q', + type: 'source', + factory: (state) => new SqlSourceNode(state as SqlSourceState), + }); + + nodeRegistry.register('aggregation', { + name: 'Aggregation', + description: 'Group and aggregate data from the source node.', + icon: 'functions', + type: 'derived', + factory: (state) => new AggregationNode(state as AggregationNodeState), + }); + + nodeRegistry.register('modify_columns', { + name: 'Modify Columns', + description: 'Select, rename, and add new columns to the data.', + icon: 'edit', + type: 'derived', + factory: (state) => new ModifyColumnsNode(state as ModifyColumnsState), + }); + + nodeRegistry.register('interval_intersect', { + name: 'Interval Intersect', + description: 'Intersect the intervals with another table.', + icon: 'timeline', + type: 'derived', + factory: (state, context) => { + if (!context) { + throw new Error( + 'NodeFactoryContext is required for IntervalIntersectNode', + ); + } + const fullState: IntervalIntersectNodeState = { + ...state, + prevNodes: state.prevNodes ?? [], + allNodes: context.allNodes, + intervalNodes: [], + }; + return new IntervalIntersectNode(fullState); + }, + }); +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts new file mode 100644 index 00000000000..ac6c7c7f1cd --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts @@ -0,0 +1,27 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {nodeRegistry} from './node_registry'; +import {TestNode} from './nodes/dev/test_node'; + +export function registerDevNodes() { + nodeRegistry.register('test_source', { + name: 'Test Source', + description: 'A source for testing purposes.', + icon: 'bug_report', + type: 'source', + factory: (state) => new TestNode(state), + devOnly: true, + }); +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss new file mode 100644 index 00000000000..168024311e3 --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss @@ -0,0 +1,98 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import "../../../assets/theme"; + +.pf-node-graph-add-button-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + padding: 40px; +} + +.pf-node-graph-add-buttons { + display: flex; + gap: 1rem; + justify-content: center; + margin-bottom: 1rem; +} + +.pf-empty-graph-hero { + padding: 2rem; + margin-bottom: 2rem; + text-align: center; + border-radius: 0.5rem; + + .pf-empty-graph-hero__title { + font-size: 1.8em; + font-weight: 500; + margin-bottom: 0.5rem; + font-size: 1.8em; + font-weight: 500; + margin-bottom: 0.5rem; + } + + .pf-empty-graph-hero__subtitle { + font-size: 1.1em; + color: var(--pf-color-text-muted); + } +} + +.pf-source-card { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1.5rem; + border-radius: 0.5rem; + width: 200px; + text-align: center; + cursor: pointer; + border: 1px solid var(--pf-color-border); + + &:hover { + background-color: var(--pf-color-hover-background); + } + + .pf-icon { + font-size: 2em; + } + + h3 { + font-size: 1.1rem; + font-weight: 500; + } + + p { + font-size: 0.9rem; + flex-grow: 1; + color: var(--pf-color-text-muted); + } +} + +.pf-keycap { + display: inline-block; + padding: 0.3em 0.5em; + border-radius: 0.3em; + border: 1px solid var(--pf-color-border); + background-color: var(--pf-color-background); + font-size: 0.9em; +} + +.dev-mode-switch { + position: absolute; + top: 16px; + right: 16px; +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts new file mode 100644 index 00000000000..e3c5e42e3eb --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts @@ -0,0 +1,112 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import m from 'mithril'; +import {Button, ButtonVariant} from '../../../widgets/button'; +import {Icon} from '../../../widgets/icon'; + +import {Switch} from '../../../widgets/switch'; + +function keycap(glyph: m.Children): m.Children { + return m('.pf-keycap', glyph); +} + +interface SourceCardAttrs { + title: string; + description: string; + icon: string; + hotkey: string; + onclick: () => void; +} + +const SourceCard: m.Component = { + view({attrs}) { + const {title, description, icon, hotkey, onclick} = attrs; + return m( + '.pf-source-card', + {onclick}, + m('.pf-source-card-clickable', m(Icon, {icon}), m('h3', title)), + m('p', description), + hotkey ? m('.pf-source-card-hotkey', keycap(hotkey)) : null, + ); + }, +}; + +import {nodeRegistry} from './node_registry'; + +export interface EmptyGraphAttrs { + readonly onAddSourceNode: (id: string) => void; + readonly onImport: () => void; + readonly onImportWithStatement: () => void; + readonly devMode?: boolean; + readonly onDevModeChange?: (enabled: boolean) => void; +} + +export class EmptyGraph implements m.ClassComponent { + view({attrs}: m.CVnode) { + const sourceNodes = nodeRegistry + .list() + .filter(([_id, node]) => node.type === 'source') + .map(([id, node]) => { + if (node.devOnly && !attrs.devMode) { + return null; + } + return m(SourceCard, { + title: node.name, + description: node.description, + icon: node.icon, + hotkey: node.hotkey?.toUpperCase() || '', + onclick: () => attrs.onAddSourceNode(id), + }); + }); + + return [ + m( + 'div.dev-mode-switch', + m(Switch, { + label: 'Dev mode', + checked: attrs.devMode, + onchange: (e: Event) => { + if (attrs.onDevModeChange) { + attrs.onDevModeChange((e.target as HTMLInputElement).checked); + } + }, + }), + ), + m( + '.pf-node-graph-add-button-container.pf-empty-graph-hero', + m('h2.pf-empty-graph-hero__title', 'Welcome to the Explore Page'), + m( + 'p.pf-empty-graph-hero__subtitle', + 'Build and execute SQL queries on your trace data using a visual ' + + 'node-based editor. Get started by adding a source node below.', + ), + m('.pf-node-graph-add-buttons', sourceNodes), + m(Button, { + label: 'Import', + onclick: attrs.onImport, + variant: ButtonVariant.Filled, + icon: 'file_upload', + }), + m(Button, { + label: 'Import from WITH statement', + onclick: attrs.onImportWithStatement, + variant: ButtonVariant.Filled, + icon: 'code', + style: {marginLeft: '8px'}, + }), + ), + ]; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss index 7402e8b7ce8..ec8d4cc9e78 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.scss @@ -24,21 +24,6 @@ background-color: var(--pf-color-background); } -.pf-node-graph-add-button-container { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - text-align: center; - padding: 40px; -} - -.pf-node-graph-add-buttons { - display: flex; - gap: 1rem; - justify-content: center; -} - .pf-node-graph__controls { display: flex; position: absolute; @@ -47,73 +32,3 @@ gap: 0.5rem; z-index: 10; } - -.pf-hero { - padding: 2rem; - margin-bottom: 2rem; - text-align: center; - border-radius: 0.5rem; - - .hero-title { - font-size: 1.8em; - font-weight: 500; - margin-bottom: 0.5rem; - } - - .hero-subtitle { - font-size: 1.1em; - color: var(--pf-color-text-muted); - } -} - -.pf-node-box-port { - position: absolute; - width: 10px; - height: 10px; - background-color: var(--pf-color-border); - border-radius: 50%; -} - -.pf-node-box-port-top { - top: -5px; - left: 50%; - margin-left: -5px; -} - -.pf-node-box-port-bottom { - bottom: -5px; -} - -.pf-node-box-port-bottom { - bottom: -5px; -} - -.pf-source-card { - display: flex; - flex-direction: column; - gap: 1rem; - padding: 1.5rem; - border-radius: 0.5rem; - width: 200px; - text-align: center; - cursor: pointer; - - &:hover { - background-color: color_hover(transparent); - } - - .pf-icon { - font-size: 2em; - } - - h3 { - font-size: 1.1rem; - font-weight: 500; - } - - p { - font-size: 0.9rem; - flex-grow: 1; - color: var(--pf-color-text-muted); - } -} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts index 3ea15c3a7bd..ccbd562586d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts @@ -30,7 +30,8 @@ import { } from './node_box'; import {NodeBlock} from './node_block'; import {Arrow, Port} from './arrow'; -import {Icon} from '../../../../widgets/icon'; +import {EmptyGraph} from '../empty_graph'; +import {nodeRegistry} from '../node_registry'; const BUTTONS_AREA_WIDTH = 300; const BUTTONS_AREA_HEIGHT = 50; @@ -61,30 +62,6 @@ function getInputPorts(layout: NodeBoxLayout, portCount: number): Port[] { return ports; } -function keycap(glyph: m.Children): m.Children { - return m('.pf-keycap', glyph); -} - -interface SourceCardAttrs { - title: string; - description: string; - icon: string; - hotkey: string; - onclick: () => void; -} - -const SourceCard: m.Component = { - view({attrs}) { - const {title, description, icon, hotkey, onclick} = attrs; - return m( - '.pf-source-card', - {onclick}, - m('.pf-source-card-clickable', m(Icon, {icon}), m('h3', title)), - m('p', description), - m('.pf-source-card-hotkey', keycap(hotkey)), - ); - }, -}; export interface GraphAttrs { readonly rootNodes: QueryNode[]; readonly selectedNode?: QueryNode; @@ -92,12 +69,8 @@ export interface GraphAttrs { readonly onNodeSelected: (node: QueryNode) => void; readonly onDeselect: () => void; readonly onNodeLayoutChange: (nodeId: string, layout: NodeBoxLayout) => void; - readonly onAddStdlibTableSource: () => void; - readonly onAddSlicesSource: () => void; - readonly onAddSqlSource: () => void; - readonly onAddAggregation: (node: QueryNode) => void; - readonly onAddModifyColumns: (node: QueryNode) => void; - readonly onAddIntervalIntersect: (node: QueryNode) => void; + readonly onAddSourceNode: (id: string) => void; + readonly onAddDerivedNode: (id: string, node: QueryNode) => void; readonly onClearAllNodes: () => void; readonly onDuplicateNode: (node: QueryNode) => void; readonly onDeleteNode: (node: QueryNode) => void; @@ -105,6 +78,8 @@ export interface GraphAttrs { readonly onImportWithStatement: () => void; readonly onExport: () => void; readonly onRemoveFilter: (node: QueryNode, filter: FilterDefinition) => void; + readonly devMode?: boolean; + readonly onDevModeChange?: (enabled: boolean) => void; } export class Graph implements m.ClassComponent { @@ -268,59 +243,58 @@ export class Graph implements m.ClassComponent { } private renderEmptyNodeGraph(attrs: GraphAttrs) { + return m(EmptyGraph, { + onAddSourceNode: attrs.onAddSourceNode, + onImport: attrs.onImport, + onImportWithStatement: attrs.onImportWithStatement, + devMode: attrs.devMode, + onDevModeChange: attrs.onDevModeChange, + }); + } + + private renderControls(attrs: GraphAttrs) { + const menuItems = nodeRegistry + .list() + .filter(([_id, descriptor]) => descriptor.type === 'source') + .map(([id, descriptor]) => { + if (descriptor.devOnly && !attrs.devMode) { + return null; + } + return m(MenuItem, { + label: descriptor.name, + onclick: () => attrs.onAddSourceNode(id), + }); + }); + return m( - '.pf-node-graph-add-button-container.pf-hero', - m('h2.hero-title', 'Welcome to the Explore Page'), - m( - 'p.hero-subtitle', - 'Build and execute SQL queries on your trace data using a visual ' + - 'node-based editor. Get started by adding a source node below.', - ), + '.pf-node-graph__controls', m( - '.pf-node-graph-add-buttons', - m(SourceCard, { - title: 'Perfetto Table', - description: - 'Query and explore data from any table in the Perfetto ' + - 'standard library.', - icon: 'table_chart', - hotkey: 'T', - onclick: attrs.onAddStdlibTableSource, - }), - m(SourceCard, { - title: 'Slices', - description: 'Explore all the slices from your trace.', - icon: 'bar_chart', - hotkey: 'S', - onclick: attrs.onAddSlicesSource, - }), - m(SourceCard, { - title: 'Query Node', - description: - 'Start with a custom SQL query to act as a source for ' + - 'further exploration.', - icon: 'code', - hotkey: 'Q', - onclick: attrs.onAddSqlSource, - }), + PopupMenu, + { + trigger: m(Button, { + label: 'Add Node', + icon: Icons.Add, + variant: ButtonVariant.Filled, + }), + }, + menuItems, ), m(Button, { - label: 'Import', - onclick: attrs.onImport, - variant: ButtonVariant.Filled, - icon: 'file_upload', + label: 'Export', + icon: Icons.Download, + variant: ButtonVariant.Minimal, + onclick: attrs.onExport, + style: {marginLeft: '8px'}, }), m(Button, { - label: 'Import from WITH statement', - onclick: attrs.onImportWithStatement, - variant: ButtonVariant.Filled, - icon: 'code', + label: 'Clear All Nodes', + icon: Icons.Delete, + intent: Intent.Danger, + onclick: attrs.onClearAllNodes, style: {marginLeft: '8px'}, }), ); - } - private renderControls(attrs: GraphAttrs) { return m( '.pf-node-graph__controls', m( @@ -332,18 +306,7 @@ export class Graph implements m.ClassComponent { variant: ButtonVariant.Filled, }), }, - m(MenuItem, { - label: 'Explore table', - onclick: attrs.onAddStdlibTableSource, - }), - m(MenuItem, { - label: 'Explore slices', - onclick: attrs.onAddSlicesSource, - }), - m(MenuItem, { - label: 'Query Node', - onclick: attrs.onAddSqlSource, - }), + menuItems, ), m(Button, { label: 'Export', @@ -362,7 +325,6 @@ export class Graph implements m.ClassComponent { ); } - private identifyNodeBlocks(allNodes: QueryNode[]): { nodeToBlock: Map; renderedAsPartOfBlock: Set; @@ -418,9 +380,7 @@ export class Graph implements m.ClassComponent { onNodeDragStart: this.onNodeDragStart, onDuplicateNode: attrs.onDuplicateNode, onDeleteNode: attrs.onDeleteNode, - onAddAggregation: attrs.onAddAggregation, - onModifyColumns: attrs.onAddModifyColumns, - onAddIntervalIntersect: attrs.onAddIntervalIntersect, + onAddDerivedNode: attrs.onAddDerivedNode, onNodeRendered, onRemoveFilter: attrs.onRemoveFilter, }), @@ -437,9 +397,7 @@ export class Graph implements m.ClassComponent { onNodeDragStart: this.onNodeDragStart, onDuplicateNode: attrs.onDuplicateNode, onDeleteNode: attrs.onDeleteNode, - onAddAggregation: attrs.onAddAggregation, - onModifyColumns: attrs.onAddModifyColumns, - onAddIntervalIntersect: attrs.onAddIntervalIntersect, + onAddDerivedNode: attrs.onAddDerivedNode, onNodeRendered, onRemoveFilter: attrs.onRemoveFilter, }), diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts index 0d92e809638..663be117aee 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_block.ts @@ -59,7 +59,11 @@ export const NodeBlock: m.Component = { ), ), renderWarningIcon(lastNode), - renderAddButton({...attrs, node: lastNode}), + renderAddButton({ + ...attrs, + node: lastNode, + onAddDerivedNode: attrs.onAddDerivedNode, + }), ), ); }, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts index 467a44e1d96..8b5bb01f53d 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts @@ -51,9 +51,7 @@ export interface NodeBoxAttrs { ) => void; readonly onDuplicateNode: (node: QueryNode) => void; readonly onDeleteNode: (node: QueryNode) => void; - readonly onAddAggregation: (node: QueryNode) => void; - readonly onModifyColumns: (node: QueryNode) => void; - readonly onAddIntervalIntersect: (node: QueryNode) => void; + readonly onAddDerivedNode: (id: string, node: QueryNode) => void; readonly onNodeRendered: (node: QueryNode, element: HTMLElement) => void; readonly onRemoveFilter: (node: QueryNode, filter: FilterDefinition) => void; } @@ -70,6 +68,8 @@ export function renderWarningIcon(node: QueryNode): m.Child { }); } +import {nodeRegistry} from '../node_registry'; + export function renderContextMenu(attrs: NodeBoxAttrs): m.Child { const {node, onDuplicateNode, onDeleteNode} = attrs; const menuItems: m.Child[] = [ @@ -96,8 +96,15 @@ export function renderContextMenu(attrs: NodeBoxAttrs): m.Child { } export function renderAddButton(attrs: NodeBoxAttrs): m.Child { - const {node, onAddAggregation, onModifyColumns, onAddIntervalIntersect} = - attrs; + const {node, onAddDerivedNode} = attrs; + const derivedNodes = nodeRegistry + .list() + .filter(([_id, descriptor]) => descriptor.type === 'derived'); + + if (derivedNodes.length === 0) { + return null; + } + return m( PopupMenu, { @@ -106,17 +113,11 @@ export function renderAddButton(attrs: NodeBoxAttrs): m.Child { icon: 'add', }), }, - m(MenuItem, { - label: 'Aggregate', - onclick: () => onAddAggregation(node), - }), - m(MenuItem, { - label: 'Modify Columns', - onclick: () => onModifyColumns(node), - }), - m(MenuItem, { - label: 'Interval Intersect', - onclick: () => onAddIntervalIntersect(node), + ...derivedNodes.map(([id, descriptor]) => { + return m(MenuItem, { + label: descriptor.name, + onclick: () => onAddDerivedNode(id, node), + }); }), ); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_registry.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_registry.ts new file mode 100644 index 00000000000..3e98a61e0bf --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/node_registry.ts @@ -0,0 +1,74 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {QueryNode, QueryNodeState} from '../query_node'; +import {SqlModules} from '../../../plugins/dev.perfetto.SqlModules/sql_modules'; + +// The context provided to the preCreate hook. +export interface PreCreateContext { + sqlModules: SqlModules; +} + +// The context provided to the node factory. +export interface NodeFactoryContext { + allNodes: QueryNode[]; +} + +export interface NodeDescriptor { + // The name of the node, as it appears in the UI. + name: string; + + // A short description of what the node does. + description: string; + + // The icon to display for this node. + icon: string; + + // The keyboard shortcut for this node. + hotkey?: string; + + // Whether this node is a source or derived node. + type: 'source' | 'derived'; + + // An optional, async function that runs before the node is created. + // It can be used for interactive setup, like showing a modal. + // If it returns null, the creation is aborted. + preCreate?: ( + context: PreCreateContext, + ) => Promise | null>; + + // A function that creates a new instance of the node. + factory: (state: QueryNodeState, context?: NodeFactoryContext) => QueryNode; + + // Whether this node is only available in dev mode. + devOnly?: boolean; +} + +export class NodeRegistry { + private nodes: Map = new Map(); + + register(id: string, descriptor: NodeDescriptor) { + this.nodes.set(id, descriptor); + } + + get(id: string): NodeDescriptor | undefined { + return this.nodes.get(id); + } + + list(): [string, NodeDescriptor][] { + return Array.from(this.nodes.entries()); + } +} + +export const nodeRegistry = new NodeRegistry(); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 46df746ba10..03ed18aedf9 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -51,7 +51,7 @@ export interface AggregationSerializedState { export interface AggregationNodeState extends QueryNodeState { prevNodes?: QueryNode[]; groupByColumns: ColumnInfo[]; - readonly aggregations: Aggregation[]; + aggregations: Aggregation[]; } export interface Aggregation { @@ -90,10 +90,12 @@ export class AggregationNode implements QueryNode { this.nodeId = nextNodeId(); this.state = { ...state, + groupByColumns: state.groupByColumns ?? [], + aggregations: state.aggregations ?? [], }; this.prevNodes = state.prevNodes; this.nextNodes = []; - if (!this.state.groupByColumns.length) { + if (this.state.groupByColumns.length === 0) { this.state.groupByColumns = newColumnInfoList(this.sourceCols, false); } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts new file mode 100644 index 00000000000..ac37f101a6c --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts @@ -0,0 +1,59 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import m from 'mithril'; +import {QueryNode, QueryNodeState, NodeType} from '../../../query_node'; +import {ColumnInfo} from '../../column_info'; +import protos from '../../../../../protos'; +import {SourceNode} from '../../source_node'; + +export class TestNode extends SourceNode { + isDevNode = true; + + get sourceCols(): ColumnInfo[] { + return []; + } + + constructor(state: QueryNodeState) { + super(state); + } + + get type(): NodeType { + return NodeType.kTable; + } + + getTitle(): string { + return 'Test Node'; + } + + clone(): QueryNode { + return new TestNode(this.state); + } + + getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { + return undefined; + } + + nodeSpecificModify(_onExecute?: () => void): m.Child { + return m('div', 'Test Node'); + } + + isMaterialised(): boolean { + return false; + } + + serializeState(): object { + return {}; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 3b399ce4b8b..2c7ff9ecf41 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -66,15 +66,22 @@ export class ModifyColumnsNode implements QueryNode { constructor(state: ModifyColumnsState) { this.nodeId = nextNodeId(); + this.prevNodes = state.prevNodes; + this.nextNodes = []; + + this.state = { + ...state, + newColumns: state.newColumns ?? [], + selectedColumns: state.selectedColumns ?? [], + }; + // This node assumes it has only one previous node. this.sourceCols = - state.prevNodes.length > 0 ? state.prevNodes[0].finalCols : []; - if (state.selectedColumns.length === 0 && this.sourceCols.length > 0) { - state.selectedColumns = newColumnInfoList(this.sourceCols); + this.prevNodes.length > 0 ? this.prevNodes[0].finalCols : []; + + if (this.state.selectedColumns.length === 0) { + this.state.selectedColumns = newColumnInfoList(this.sourceCols); } - this.prevNodes = state.prevNodes; - this.nextNodes = []; - this.state = state; } onPrevNodesUpdated() { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index 49c53d27202..3239b9505e4 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -14,10 +14,12 @@ import protos from '../../protos'; import m from 'mithril'; +import {SqlModules, SqlTable} from '../dev.perfetto.SqlModules/sql_modules'; import {ColumnInfo, newColumnInfoList} from './query_builder/column_info'; import {FilterDefinition} from '../../components/widgets/data_grid/common'; import {Engine} from '../../trace_processor/engine'; import {NodeIssues} from './query_builder/node_issues'; +import {Trace} from '../../public/trace'; let nodeCounter = 0; export function nextNodeId(): string { @@ -47,6 +49,10 @@ export interface QueryNodeState { prevNodes?: QueryNode[]; customTitle?: string; comment?: string; + sourceCols?: ColumnInfo[]; + trace?: Trace; + sqlModules?: SqlModules; + sqlTable?: SqlTable; // Operations filters?: FilterDefinition[]; From 1256cda98db51f48bcf5e19a3994e1cb8885da91 Mon Sep 17 00:00:00 2001 From: Kirill Timofeev Date: Mon, 13 Oct 2025 15:21:16 +0100 Subject: [PATCH 070/370] Add a missing field initializer when building on Windows. (#3271) This is a follow-up to b5a3a4b38331ca4b3362a664451799b437fcc5f5 --- src/tracing/ipc/consumer/consumer_ipc_client_impl.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc index 7b89bbc5388..903b817206d 100644 --- a/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc +++ b/src/tracing/ipc/consumer/consumer_ipc_client_impl.cc @@ -475,7 +475,8 @@ void ConsumerIPCClientImpl::CloneSession(CloneSessionArgs args) { consumer_->OnSessionCloned( {false, "Passing FDs into CloneSession is not supported on Windows", - {}}); + {}, + false}); return; } #endif From 5c78ed045f0b9faa138e2940ec18ca15b00feda4 Mon Sep 17 00:00:00 2001 From: haixiaosugoogle Date: Mon, 13 Oct 2025 15:43:49 +0100 Subject: [PATCH 071/370] Update some path changes to docs. (#3258) --- docs/contributing/ui-plugins.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/contributing/ui-plugins.md b/docs/contributing/ui-plugins.md index 4210650f2a2..ab525b8be63 100644 --- a/docs/contributing/ui-plugins.md +++ b/docs/contributing/ui-plugins.md @@ -1681,7 +1681,10 @@ interact with the flag's state: **Example:** ```typescript -import {App, Flag, FlagSettings, PerfettoPlugin, Trace} from '../../public'; // Adjust path as needed +import {Flag, FlagSettings} from '../../public/featureflag'; // Adjust path as needed +import {App} from '../../public/app'; +import {PerfettoPlugin} from '../../public/plugin'; +import {Trace} from '../../public/trace'; export default class MyFeatureFlagPlugin implements PerfettoPlugin { static readonly id = 'com.example.MyFeatureFlagPlugin'; @@ -1763,7 +1766,10 @@ the descriptor and provides methods to interact with the setting: **Example:** ```typescript -import {App, Setting, SettingDescriptor} from '../../public'; // Adjust path +import {Setting, SettingDescriptor} from '../../public/setting'; // Adjust path as needed +import {App} from '../../public/app'; +import {PerfettoPlugin} from '../../public/plugin'; +import {Trace} from '../../public/trace'; import {z} from 'zod'; import m from 'mithril'; From 4a84b15cb70d73f6155dda6e8e235c5b8734e312 Mon Sep 17 00:00:00 2001 From: "Christian W. Damus" Date: Mon, 13 Oct 2025 13:33:38 -0400 Subject: [PATCH 072/370] ui: customizable minimum track height (#3259) Tracks once occupied more vertical space, which can be more comfortable especially for users with vision and motor (pointer control) difficulties. To accommodate embedding applications and users with accessibility needs, add support for customization of the height of tracks via a new setting. Besides accessibility concerns, this also relates to the customizability of the UI for embedding applications, such as captured in issues #2166 and #2266. For example, my application that reuses Perfetto UI sets the minimum height of tracks using this new setting (the settings UI is not made available to my users) to match the look and feel of the rest of the host application. ---- A demonstration of the new setting: https://github.com/user-attachments/assets/77f12343-3f13-441a-bb53-4a413c714fbd --------- Signed-off-by: Christian W. Damus --- ui/src/core/settings_manager.ts | 2 +- ui/src/frontend/index.ts | 14 ++++++++++++++ ui/src/frontend/viewer_page/track_view.ts | 10 +++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ui/src/core/settings_manager.ts b/ui/src/core/settings_manager.ts index 6472cc01305..cd7eebd968d 100644 --- a/ui/src/core/settings_manager.ts +++ b/ui/src/core/settings_manager.ts @@ -143,7 +143,7 @@ export class SettingsManagerImpl implements SettingsManager { getAllSettings(): ReadonlyArray> { const settings = Array.from(this.registry.values()); - settings.sort((a, b) => a.id.localeCompare(b.id)); + settings.sort((a, b) => a.name.localeCompare(b.name)); return settings; } diff --git a/ui/src/frontend/index.ts b/ui/src/frontend/index.ts index c8702672b9a..a387348f891 100644 --- a/ui/src/frontend/index.ts +++ b/ui/src/frontend/index.ts @@ -35,6 +35,11 @@ import {postMessageHandler} from './post_message_handler'; import {Route, Router} from '../core/router'; import {checkHttpRpcConnection} from './rpc_http_dialog'; import {maybeOpenTraceFromRoute} from './trace_url_handler'; +import { + DEFAULT_TRACK_MIN_HEIGHT_PX, + MINIMUM_TRACK_MIN_HEIGHT_PX, + TRACK_MIN_HEIGHT_SETTING, +} from './viewer_page/track_view'; import {renderViewerPage} from './viewer_page/viewer_page'; import {HttpRpcEngine} from '../trace_processor/http_rpc_engine'; import {showModal} from '../widgets/modal'; @@ -337,6 +342,15 @@ function onCssLoaded() { defaultValue: 'light', }); + AppImpl.instance.settings.register({ + id: TRACK_MIN_HEIGHT_SETTING, + name: 'Track Height', + description: + 'Minimum height of tracks in the trace viewer page, in pixels.', + schema: z.number().int().min(MINIMUM_TRACK_MIN_HEIGHT_PX), + defaultValue: DEFAULT_TRACK_MIN_HEIGHT_PX, + }); + // Add command to toggle the theme. AppImpl.instance.commands.registerCommand({ id: 'dev.perfetto.ToggleTheme', diff --git a/ui/src/frontend/viewer_page/track_view.ts b/ui/src/frontend/viewer_page/track_view.ts index d84437f2847..20789e3bd28 100644 --- a/ui/src/frontend/viewer_page/track_view.ts +++ b/ui/src/frontend/viewer_page/track_view.ts @@ -30,6 +30,7 @@ import {HighPrecisionTimeSpan} from '../../base/high_precision_time_span'; import {Icons} from '../../base/semantic_icons'; import {TimeScale} from '../../base/time_scale'; import {RequiredField} from '../../base/utils'; +import {AppImpl} from '../../core/app_impl'; import {PerfStats, runningStatStr} from '../../core/perf_stats'; import {raf} from '../../core/raf_scheduler'; import {TraceImpl} from '../../core/trace_impl'; @@ -49,12 +50,19 @@ import {Popup} from '../../widgets/popup'; import {CanvasColors} from '../../public/canvas_colors'; import {CodeSnippet} from '../../widgets/code_snippet'; -const TRACK_HEIGHT_MIN_PX = 18; +export const TRACK_MIN_HEIGHT_SETTING = 'dev.perfetto.TrackMinHeightPx'; +export const DEFAULT_TRACK_MIN_HEIGHT_PX = 18; +export const MINIMUM_TRACK_MIN_HEIGHT_PX = DEFAULT_TRACK_MIN_HEIGHT_PX; function getTrackHeight(node: TrackNode, track?: TrackRenderer) { // Headless tracks have an effective height of 0. if (node.headless) return 0; + const TRACK_HEIGHT_MIN_PX = + (AppImpl.instance.settings + .get(TRACK_MIN_HEIGHT_SETTING) + ?.get() as number) ?? DEFAULT_TRACK_MIN_HEIGHT_PX; + // Expanded summary tracks don't show any data, so make them a little more // compact to save space. if (node.isSummary && node.expanded) return TRACK_HEIGHT_MIN_PX; From f85bf07763e947a46473bdd07bd5245880d6d404 Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Mon, 13 Oct 2025 19:59:23 +0100 Subject: [PATCH 073/370] tp: Optimize callstack (#3274) - Add index on parent_id for _appleos_instruments_raw_callstacks - Add index on parent_id for _callstack_spc_forest - Update join query to IN check Fixes: b/451557166 Just adding the indexes is not enough: With only indexes: ``` > INCLUDE PERFETTO MODULE callstacks.stack_profile; Query executed in 88019.122 ms > CREATE PERFETTO TABLE _appleos_instruments_raw_callstacks AS SELECT * FROM _callstacks_for_callsites!(( SELECT p.callsite_id FROM instruments_sample p )) AS c ORDER BY c.id; Query executed in 2834.731 ms > SELECT r.*, a.cumulative_count FROM _callstacks_self_to_cumulative!(( SELECT id, parent_id, self_count FROM _appleos_instruments_raw_callstacks )) AS a JOIN _appleos_instruments_raw_callstacks AS r USING (id) ORDER BY r.id; ^X^CFully expanded statement SELECT r.*, a.cumulative_count FROM ( ^ Traceback (most recent call last): File "stdin" line 1 col 1 SELECT r.*, a.cumulative_count FROM _callstacks_self_to_cumulative!(( SELECT id, parent_id, self_count FROM _appleos_instruments ^ interrupted Query executed in 312428.001 ms ``` After changing join to not in ``` > INCLUDE PERFETTO MODULE callstacks.stack_profile; Query executed in 87391.652 ms > CREATE PERFETTO TABLE _appleos_instruments_raw_callstacks AS SELECT * FROM _callstacks_for_callsites!(( SELECT p.callsite_id FROM instruments_sample p )) AS c ORDER BY c.id; Query executed in 2717.048 ms > SELECT r.*, a.cumulative_count FROM _callstacks_self_to_cumulative!(( SELECT id, parent_id, self_count FROM _appleos_instruments_raw_callstacks )) AS a JOIN _appleos_instruments_raw_callstacks AS r USING (id) ORDER BY r.id; id parent_id name mapping_name source_file line_number self_count cumulative_count -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- ... Type 'q' to stop, Enter for more records: q Query executed in 3352.755 ms ``` After adding index on jit_code_id: ``` [169.175] processor_shell.cc:1934 Trace loaded: 274.42 MB in 7.44s (36.9 MB/s) Error stats for this trace: name idx source value ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- v8_unknown_code_type [NULL] analysis 2 jit_unknown_frame [NULL] trace 290 > INCLUDE PERFETTO MODULE callstacks.stack_profile; Query executed in 23250.089 ms ``` --- .../stdlib/appleos/instruments/samples.sql | 5 +++++ .../stdlib/callstacks/stack_profile.sql | 19 +++++++++++++------ .../perfetto_sql/stdlib/v8/jit.sql | 7 +++++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql b/src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql index 324fc60223f..7be9b6c1f29 100644 --- a/src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql +++ b/src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql @@ -25,6 +25,11 @@ FROM _callstacks_for_callsites!(( ORDER BY c.id; +-- This index is added to optimize the creation of the +-- appleos_instruments_samples_summary_tree table by speeding up the +-- leaf-finding query in _callstacks_self_to_cumulative. +CREATE PERFETTO INDEX _appleos_instruments_raw_callstacks_parent_id_idx ON _appleos_instruments_raw_callstacks(parent_id); + -- Table summarising the callstacks captured during all -- instruments samples in the trace. -- diff --git a/src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql b/src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql index a04c9b4d71a..d207df7d558 100644 --- a/src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql +++ b/src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql @@ -115,8 +115,16 @@ LEFT JOIN _callstack_spc_raw_forest AS p ORDER BY c._auto_id; +-- This index is used to efficiently join the callstack forest with the +-- sample data on callsite_id. This is a key operation in the +-- _callstacks_for_callsites and _callstacks_for_stack_profile_samples macros. CREATE PERFETTO INDEX _callstack_spc_index ON _callstack_spc_forest(callsite_id); +-- This index is necessary to optimize the leaf-finding query in +-- _callstacks_self_to_cumulative. Without this index, the anti-join on +-- parent_id can be very slow on large traces. +CREATE PERFETTO INDEX _callstack_spc_parent_index ON _callstack_spc_forest(parent_id); + CREATE PERFETTO MACRO _callstacks_for_stack_profile_samples( spc_samples TableOrSubquery ) @@ -187,12 +195,11 @@ RETURNS TableOrSubquery AS FROM $callstacks WHERE parent_id IS NOT NULL ), - ( - SELECT p.id, p.self_count AS cumulative_count - FROM $callstacks p - LEFT JOIN $callstacks c ON c.parent_id = p.id - WHERE c.id IS NULL - ), + ( + SELECT id, self_count AS cumulative_count + FROM $callstacks + WHERE id NOT IN (SELECT parent_id FROM $callstacks WHERE parent_id IS NOT NULL) + ), (cumulative_count), ( WITH agg AS ( diff --git a/src/trace_processor/perfetto_sql/stdlib/v8/jit.sql b/src/trace_processor/perfetto_sql/stdlib/v8/jit.sql index 867ab703bea..54452883a30 100644 --- a/src/trace_processor/perfetto_sql/stdlib/v8/jit.sql +++ b/src/trace_processor/perfetto_sql/stdlib/v8/jit.sql @@ -148,6 +148,13 @@ SELECT col FROM __intrinsic_v8_js_function; +-- This index is crucial for the performance of the callstack profiling standard +-- library (`callstacks.stack_profile`). The library performs a join with the +-- `_v8_js_code` view on `jit_code_id`. Without this index on the underlying +-- table, the join becomes a major performance bottleneck, causing long module +-- import times on traces with V8 data. +CREATE PERFETTO INDEX _intrinsic_v8_js_code_jit_code_id_index ON __intrinsic_v8_js_code(jit_code_id); + -- Represents a v8 code snippet for a Javascript function. A given function can -- have multiple code snippets (e.g. for different compilation tiers, or as the -- function moves around the heap). From f6a0a0e1ada09ec826df327a643f815ea8cb18db Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Tue, 14 Oct 2025 10:31:16 +0100 Subject: [PATCH 074/370] exp: Better nodeDetails() styling of modifyColumns (#3277) --- .../nodes/modify_columns_node.scss | 5 +++ .../nodes/modify_columns_node.ts | 32 +++++++++++-------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss index 0cb19e17363..505f6f918d8 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.scss @@ -58,3 +58,8 @@ opacity: 1; } } + +.pf-node-details-card { + padding: 4px; + font-size: 0.8em; +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 2c7ff9ecf41..13dca53530a 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -108,9 +108,11 @@ export class ModifyColumnsNode implements QueryNode { const finalCols = newColumnInfoList( this.state.selectedColumns.filter((col) => col.checked), ); - this.state.newColumns.forEach((col) => { - finalCols.push(columnInfoFromName(col.name, true)); - }); + this.state.newColumns + .filter((c) => this.isNewColumnValid(c)) + .forEach((col) => { + finalCols.push(columnInfoFromName(col.name, true)); + }); return finalCols; } @@ -153,14 +155,16 @@ export class ModifyColumnsNode implements QueryNode { // Determine the state of modifications. const hasUnselected = this.state.selectedColumns.some((c) => !c.checked); const hasAlias = this.state.selectedColumns.some((c) => c.alias); - const hasNewColumns = this.state.newColumns.length > 0; + const newValidColumns = this.state.newColumns.filter((c) => + this.isNewColumnValid(c), + ); // If there are no modifications, show a default message. - if (!hasUnselected && !hasAlias && !hasNewColumns) { + if (!hasUnselected && !hasAlias && newValidColumns.length === 0) { return m('.pf-node-details-message', 'Select all'); } - const details: m.Child[] = []; + const cards: m.Child[] = []; // If columns have been unselected or aliased, list the selected ones. if (hasUnselected || hasAlias) { @@ -173,26 +177,26 @@ export class ModifyColumnsNode implements QueryNode { return m('div', c.column.name); } }); - details.push(m('.pf-node-details-box', ...selectedItems)); + cards.push( + m(Card, {className: 'pf-node-details-card'}, ...selectedItems), + ); } } // If new columns have been added, list them. - if (hasNewColumns) { - const newItems = this.state.newColumns.map((c) => + if (newValidColumns.length > 0) { + const newItems = newValidColumns.map((c) => m('div', `${c.expression} AS ${c.name}`), ); - details.push( - m('.pf-node-details-box', m('strong', 'New columns:'), ...newItems), - ); + cards.push(m(Card, {className: 'pf-node-details-card'}, ...newItems)); } // If all columns have been deselected, show a specific message. - if (details.length === 0) { + if (cards.length === 0) { return m('.pf-node-details-message', 'All columns deselected'); } - return m('.pf-modify-columns-node-details', details); + return m(CardStack, cards); } nodeSpecificModify(): m.Child { From 12c3fecbbaaf077cf9c5fc499028842b7e60e6d1 Mon Sep 17 00:00:00 2001 From: Kirill Timofeev Date: Tue, 14 Oct 2025 12:34:53 +0100 Subject: [PATCH 075/370] base::OpenFstream: always open file in binary mode on Windows (#3269) On Windows `fopen` opens files in the text mode by default, but we want to always open them in the binary mode, to avoid silly EOL translations (and to be consistent with `base::OpenFile`). This is a follow-up to 0ae58da1fc8f97fa4687a7fb4f59e69978898ab4 and 5db14d5cfd6104a513c83d0d2c2fef190f85b937. Tested: ``` $ python .\tools\gn gen .\out\win_all\ --arg='enable_perfetto_integration_tests=true enable_perfetto_trace_processor=true' $ python .\tools\ninja -C .\out\win_all\ $ .\out\win_all\perfetto_integrationtests.exe $ .\out\win_all\perfetto_unittests.exe ``` --- include/perfetto/ext/base/file_utils.h | 2 +- src/base/file_utils.cc | 26 +++++++-- src/base/utils_unittest.cc | 55 ++++++++++++++++++- src/profiling/deobfuscator.cc | 2 +- .../filtering/filter_util_unittest.cc | 3 +- src/trace_processor/BUILD.gn | 1 + .../read_trace_integrationtest.cc | 2 +- .../storage_minimal_smoke_test.cc | 15 +++-- .../trace_database_integrationtest.cc | 10 +--- src/traceconv/trace_to_json.cc | 3 +- 10 files changed, 94 insertions(+), 25 deletions(-) diff --git a/include/perfetto/ext/base/file_utils.h b/include/perfetto/ext/base/file_utils.h index a5a2e6668e4..ecf2385be65 100644 --- a/include/perfetto/ext/base/file_utils.h +++ b/include/perfetto/ext/base/file_utils.h @@ -73,7 +73,7 @@ ssize_t WriteAllHandle(PlatformHandle, const void* buf, size_t count); ScopedFile OpenFile(const std::string& path, int flags, FileOpenMode = kFileModeInvalid); -ScopedFstream OpenFstream(const char* path, const char* mode); +ScopedFstream OpenFstream(const std::string& path, const std::string& mode); // This is an alias for close(). It's to avoid leaking windows.h in headers. // Exported because ScopedFile is used in the /include/ext API by Chromium diff --git a/src/base/file_utils.cc b/src/base/file_utils.cc index 148fd14d5a3..3d9624d7e6c 100644 --- a/src/base/file_utils.cc +++ b/src/base/file_utils.cc @@ -290,19 +290,33 @@ ScopedFile OpenFile(const std::string& path, int flags, FileOpenMode mode) { return fd; } -ScopedFstream OpenFstream(const char* path, const char* mode) { +ScopedFstream OpenFstream(const std::string& path, const std::string& mode) { ScopedFstream file; -// On Windows fopen interprets filename using the ANSI or OEM codepage but -// sqlite3_value_text returns a UTF-8 string. To make sure we interpret the -// filename correctly we use _wfopen and a UTF-16 string on windows. + // On Windows fopen interprets filename using the ANSI or OEM codepage but + // sqlite3_value_text returns a UTF-8 string. To make sure we interpret the + // filename correctly we use _wfopen and a UTF-16 string on windows. + // + // On Windows fopen also open files in the text mode by default, but we want + // to open them in the binary mode, to avoid silly EOL translations (and to be + // consistent with base::OpenFile). So we check the mode first and append 'b' + // mode only when it makes sense. #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) + std::string s_mode(mode); + // Windows supports non-standard mode extension that sets encoding in text + // mode. If you need to open a FILE* in text mode, use the fopen API directly. + bool is_text_mode = Contains(s_mode, "ccs=") || Contains(s_mode, "t"); + PERFETTO_CHECK(!is_text_mode); + bool is_binary_mode = Contains(s_mode, 'b'); + if (!is_binary_mode) + s_mode += 'b'; + auto w_path = ToUtf16(path); - auto w_mode = ToUtf16(mode); + auto w_mode = ToUtf16(s_mode); if (w_path && w_mode) { file.reset(_wfopen(w_path->c_str(), w_mode->c_str())); } #else - file.reset(fopen(path, mode)); + file.reset(fopen(path.c_str(), mode.c_str())); #endif return file; } diff --git a/src/base/utils_unittest.cc b/src/base/utils_unittest.cc index d427172545e..f61d68e496e 100644 --- a/src/base/utils_unittest.cc +++ b/src/base/utils_unittest.cc @@ -106,7 +106,9 @@ TEST(UtilsTest, PipeBlockingRW) { // is a HANDLE. TEST(UtilsTest, ReadWritePlatformHandle) { auto tmp = TempDir::Create(); - std::string payload = "foo\nbar\0baz\r\nqux"; + // Explicitly set the string size, we want to write all data to the file. + std::string payload("foo\nbar\0baz\r\nqux", 16); + ASSERT_EQ(payload.size(), static_cast(16)); std::string tmp_path = tmp.path() + "/temp.txt"; // Write a file using PlatformHandle. Note: the {} blocks are to make sure @@ -340,6 +342,57 @@ TEST(UtilsTest, GetFileSize) { ASSERT_EQ(maybe_size.value(), payload.size()); } +#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) +TEST(UtilsTest, OpenFstreamTextModeNotSupported) { + auto tmp = TempDir::Create(); + std::string tmp_path = tmp.path() + "/temp.txt"; + + ASSERT_DEATH_IF_SUPPORTED( + { auto fstream_write = OpenFstream(tmp_path, "wt"); }, ""); + + ASSERT_DEATH_IF_SUPPORTED( + { auto fstream_write = OpenFstream(tmp_path, "w,ccs=UTF-8"); }, ""); +} + +TEST(UtilsTest, OpenFstreamAlwaysBinaryMode) { + auto tmp = TempDir::Create(); + std::string tmp_path = tmp.path() + "/temp.txt"; + // Explicitly set the string size, we want to write all data to the file. + std::string payload("foo\nbar\0baz\r\nqux", 16); + ASSERT_EQ(payload.size(), static_cast(16)); + + for (const char* mode : {"w", "wb"}) { + { + auto fstream_write = OpenFstream(tmp_path, mode); + size_t res = fwrite(payload.data(), payload.size(), 1, *fstream_write); + ASSERT_EQ(res, 1ul); + } + { + // If not in binary mode, '\r\n' sequences are translated when both read + // and write using FILE* API. So we read back data using `ReadFile` (it + // uses `open` with O_BINARY flag on Windows) to get the real bytes from + // the disk. + std::string actual; + ASSERT_TRUE(ReadFile(tmp_path, &actual)); + ASSERT_EQ(actual, payload); + } + ASSERT_EQ(remove(tmp_path.c_str()), 0); + } + + { + TempFile file = TempFile::Create(); + WriteAll(*file, payload.data(), payload.size()); + + auto fstream = OpenFstream(file.path(), "r"); + std::string actual(128, '\0'); + size_t bytes_read = fread(actual.data(), 1, actual.size(), *fstream); + ASSERT_EQ(bytes_read, payload.size()); + actual.resize(bytes_read); + ASSERT_EQ(actual, payload); + } +} +#endif + } // namespace } // namespace base } // namespace perfetto diff --git a/src/profiling/deobfuscator.cc b/src/profiling/deobfuscator.cc index 8df56b35e17..846fb22b3f3 100644 --- a/src/profiling/deobfuscator.cc +++ b/src/profiling/deobfuscator.cc @@ -257,7 +257,7 @@ bool ReadProguardMapsToDeobfuscationPackets( std::function fn) { for (const ProguardMap& map : maps) { const char* filename = map.filename.c_str(); - base::ScopedFstream f(fopen(filename, base::kFopenReadFlag)); + base::ScopedFstream f = base::OpenFstream(filename, base::kFopenReadFlag); if (!f) { PERFETTO_ELOG("Failed to open %s", filename); return false; diff --git a/src/protozero/filtering/filter_util_unittest.cc b/src/protozero/filtering/filter_util_unittest.cc index 831e4f456d0..90599c195d0 100644 --- a/src/protozero/filtering/filter_util_unittest.cc +++ b/src/protozero/filtering/filter_util_unittest.cc @@ -38,7 +38,8 @@ std::string FilterToText(FilterUtil& filter, std::optional bytecode = {}) { std::string tmp_path = perfetto::base::TempFile::Create().path(); { - perfetto::base::ScopedFstream tmp_stream(fopen(tmp_path.c_str(), "wb")); + perfetto::base::ScopedFstream tmp_stream( + perfetto::base::OpenFstream(tmp_path, "w")); PERFETTO_CHECK(!!tmp_stream); filter.set_print_stream_for_testing(*tmp_stream); filter.PrintAsText(bytecode); diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn index c86eb95d76e..6fc10a55238 100644 --- a/src/trace_processor/BUILD.gn +++ b/src/trace_processor/BUILD.gn @@ -408,6 +408,7 @@ if (enable_perfetto_trace_processor_json) { "../../gn:gtest_and_gmock", "../../gn:gtest_main", "../../gn:jsoncpp", + "../../include/perfetto/ext/base", "../base:test_support", ] } diff --git a/src/trace_processor/read_trace_integrationtest.cc b/src/trace_processor/read_trace_integrationtest.cc index 1bb4084d64f..7eb883c1efa 100644 --- a/src/trace_processor/read_trace_integrationtest.cc +++ b/src/trace_processor/read_trace_integrationtest.cc @@ -32,7 +32,7 @@ namespace { base::ScopedFstream OpenTestTrace(const std::string& path) { std::string full_path = base::GetTestDataPath(path); EXPECT_TRUE(base::FileExists(full_path)) << full_path; - return base::ScopedFstream(fopen(full_path.c_str(), "rb")); + return base::OpenFstream(full_path, "r"); } std::vector ReadAllData(const base::ScopedFstream& f) { diff --git a/src/trace_processor/storage_minimal_smoke_test.cc b/src/trace_processor/storage_minimal_smoke_test.cc index ff3e63814e6..a65876ec49d 100644 --- a/src/trace_processor/storage_minimal_smoke_test.cc +++ b/src/trace_processor/storage_minimal_smoke_test.cc @@ -20,6 +20,7 @@ #include #include +#include "perfetto/ext/base/file_utils.h" #include "perfetto/ext/trace_processor/export_json.h" #include "perfetto/trace_processor/basic_types.h" #include "perfetto/trace_processor/trace_processor_storage.h" @@ -51,9 +52,10 @@ class StorageMinimalSmokeTest : public ::testing::Test { TEST_F(StorageMinimalSmokeTest, GraphicEventsIgnored) { const size_t MAX_SIZE = 1 << 20; - auto f = fopen(base::GetTestDataPath("test/data/gpu_trace.pb").c_str(), "rb"); + auto f = + base::OpenFstream(base::GetTestDataPath("test/data/gpu_trace.pb"), "r"); std::unique_ptr buf(new uint8_t[MAX_SIZE]); - auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, f); + auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, *f); base::Status status = storage_->Parse(std::move(buf), rsize); ASSERT_TRUE(status.ok()); ASSERT_OK(storage_->NotifyEndOfFile()); @@ -75,9 +77,9 @@ TEST_F(StorageMinimalSmokeTest, GraphicEventsIgnored) { TEST_F(StorageMinimalSmokeTest, SystraceReturnsError) { const size_t MAX_SIZE = 1 << 20; auto f = - fopen(base::GetTestDataPath("test/data/systrace.html").c_str(), "rb"); + base::OpenFstream(base::GetTestDataPath("test/data/systrace.html"), "r"); std::unique_ptr buf(new uint8_t[MAX_SIZE]); - auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, f); + auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, *f); base::Status status = storage_->Parse(std::move(buf), rsize); ASSERT_FALSE(status.ok()); @@ -85,9 +87,10 @@ TEST_F(StorageMinimalSmokeTest, SystraceReturnsError) { TEST_F(StorageMinimalSmokeTest, TrackEventsImported) { const size_t MAX_SIZE = 1 << 20; - auto f = fopen("test/data/track_event_typed_args.pb", "rb"); + auto f = base::OpenFstream( + base::GetTestDataPath("test/data/track_event_typed_args.pb"), "r"); std::unique_ptr buf(new uint8_t[MAX_SIZE]); - auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, f); + auto rsize = fread(reinterpret_cast(buf.get()), 1, MAX_SIZE, *f); base::Status status = storage_->Parse(std::move(buf), rsize); ASSERT_TRUE(status.ok()); ASSERT_OK(storage_->NotifyEndOfFile()); diff --git a/src/trace_processor/trace_database_integrationtest.cc b/src/trace_processor/trace_database_integrationtest.cc index 2f9ebd5f749..a6b76063e00 100644 --- a/src/trace_processor/trace_database_integrationtest.cc +++ b/src/trace_processor/trace_database_integrationtest.cc @@ -112,13 +112,9 @@ class TraceProcessorIntegrationTest : public ::testing::Test { size_t min_chunk_size = 512, size_t max_chunk_size = kMaxChunkSize) { EXPECT_LE(min_chunk_size, max_chunk_size); - std::string flags = base::kFopenReadFlag; -#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) - flags += "b"; // Open in binary (untranslated) mode. -#endif - base::ScopedFstream f( - fopen(base::GetTestDataPath(std::string("test/data/") + name).c_str(), - flags.c_str())); + base::ScopedFstream f = base::OpenFstream( + base::GetTestDataPath(std::string("test/data/") + name), + base::kFopenReadFlag); std::minstd_rand0 rnd_engine(0); std::uniform_int_distribution dist(min_chunk_size, max_chunk_size); while (!feof(*f)) { diff --git a/src/traceconv/trace_to_json.cc b/src/traceconv/trace_to_json.cc index 9c4cdf88eeb..b2a86a353ed 100644 --- a/src/traceconv/trace_to_json.cc +++ b/src/traceconv/trace_to_json.cc @@ -19,6 +19,7 @@ #include #include "perfetto/base/logging.h" +#include "perfetto/ext/base/file_utils.h" #include "perfetto/ext/base/scoped_file.h" #include "perfetto/ext/base/string_utils.h" #include "perfetto/ext/base/temp_file.h" @@ -57,7 +58,7 @@ bool ExportUserspaceEvents(trace_processor::TraceProcessor* tp, return false; } - base::ScopedFstream source(fopen(file.path().c_str(), "r")); + base::ScopedFstream source = base::OpenFstream(file.path(), "r"); if (!source) { PERFETTO_ELOG("Could not convert userspace events: Couldn't read file %s", file.path().c_str()); From cdcb0110bab01c2457b1792444e5638b21efba9b Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Tue, 14 Oct 2025 12:35:45 +0100 Subject: [PATCH 076/370] ui: Remove conflicting hotkey styles (#3279) --- .../query_builder/empty_graph.scss | 9 --------- .../query_builder/empty_graph.ts | 11 +++-------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss index 168024311e3..99488c6d3fa 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.scss @@ -82,15 +82,6 @@ } } -.pf-keycap { - display: inline-block; - padding: 0.3em 0.5em; - border-radius: 0.3em; - border: 1px solid var(--pf-color-border); - background-color: var(--pf-color-background); - font-size: 0.9em; -} - .dev-mode-switch { position: absolute; top: 16px; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts index e3c5e42e3eb..7f5ad587e1f 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/empty_graph.ts @@ -14,13 +14,10 @@ import m from 'mithril'; import {Button, ButtonVariant} from '../../../widgets/button'; +import {Keycap} from '../../../widgets/hotkey_glyphs'; import {Icon} from '../../../widgets/icon'; - import {Switch} from '../../../widgets/switch'; - -function keycap(glyph: m.Children): m.Children { - return m('.pf-keycap', glyph); -} +import {nodeRegistry} from './node_registry'; interface SourceCardAttrs { title: string; @@ -38,13 +35,11 @@ const SourceCard: m.Component = { {onclick}, m('.pf-source-card-clickable', m(Icon, {icon}), m('h3', title)), m('p', description), - hotkey ? m('.pf-source-card-hotkey', keycap(hotkey)) : null, + hotkey ? m('.pf-source-card-hotkey', m(Keycap, hotkey)) : null, ); }, }; -import {nodeRegistry} from './node_registry'; - export interface EmptyGraphAttrs { readonly onAddSourceNode: (id: string) => void; readonly onImport: () => void; From 396016ea0104f0fef6181711c1dabe3e162f7cf1 Mon Sep 17 00:00:00 2001 From: "copybara-service[bot]" <56741989+copybara-service[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 12:53:46 +0100 Subject: [PATCH 077/370] Copybara import from Chromium: proto and stdlib changes Copybara import from Chromium: proto and stdlib changes - 91c08c053ddcd2d05e1e5f5bf10e08cb0c0b1c74 Add experiment to remove provisional CookieManager by Abhijith Nair COPYBARA_IMPORT=Project import generated by Copybara. GitOrigin-RevId: 91c08c053ddcd2d05e1e5f5bf10e08cb0c0b1c74 --- protos/third_party/chromium/chrome_track_event.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/protos/third_party/chromium/chrome_track_event.proto b/protos/third_party/chromium/chrome_track_event.proto index 959834a600e..e36f36a1903 100644 --- a/protos/third_party/chromium/chrome_track_event.proto +++ b/protos/third_party/chromium/chrome_track_event.proto @@ -2192,6 +2192,7 @@ message WebViewStartup { STATIC_SET_DEFAULT_TRAFFIC_STATS_UID = 104; STATIC_SET_RENDERER_LIBRARY_PREFETCH_MODE = 105; STATIC_GET_RENDERER_LIBRARY_PREFETCH_MODE = 106; + GET_DEFAULT_COOKIE_MANAGER = 107; // Remember to update WebViewStartupCallSite in enums.xml when adding new // values here. } From 036d48ea53af873d290a4a2d65c1ee9539bc15f3 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Tue, 14 Oct 2025 14:19:33 +0100 Subject: [PATCH 078/370] ui: Cast 'tid' to BigInt instead of number to avoid losing precision (#3281) Fixes: https://buganizer.corp.google.com/issues/451700544 --- ui/src/plugins/dev.perfetto.Sched/index.ts | 3 ++- ui/src/public/utils.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.Sched/index.ts b/ui/src/plugins/dev.perfetto.Sched/index.ts index c236be896cd..2eee002bd51 100644 --- a/ui/src/plugins/dev.perfetto.Sched/index.ts +++ b/ui/src/plugins/dev.perfetto.Sched/index.ts @@ -29,6 +29,7 @@ import {TrackNode} from '../../public/workspace'; import {Engine} from '../../trace_processor/engine'; import { LONG, + LONG_NULL, NUM, NUM_NULL, STR_NULL, @@ -258,7 +259,7 @@ export default class SchedPlugin implements PerfettoPlugin { const it = result.iter({ utid: NUM, upid: NUM_NULL, - tid: NUM_NULL, + tid: LONG_NULL, threadName: STR_NULL, isMainThread: NUM_NULL, isKernelThread: NUM, diff --git a/ui/src/public/utils.ts b/ui/src/public/utils.ts index 8680e7c2aa6..ab6f023fcdb 100644 --- a/ui/src/public/utils.ts +++ b/ui/src/public/utils.ts @@ -23,7 +23,7 @@ export function getTrackName( processName: string | null; pid: number | null; threadName: string | null; - tid: number | null; + tid: number | bigint | null; upid: number | null; userName: string | null; uid: number | null; From 26e0e8452bf41bcec8b478ff465ea084ff6bac41 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Tue, 14 Oct 2025 14:20:23 +0100 Subject: [PATCH 079/370] ui: Rename "viewer" page to "timeline" page throughout the UI (#3272) This PR only changes internal names - it doesn't change the path as this is externally facing and may cause breakages so this will be done in another PR to make rolling back easier. --- ui/src/assets/perfetto.scss | 2 +- .../{viewer_page.scss => timeline_page.scss} | 2 +- ui/src/components/query_table/query_table.ts | 4 ++-- ui/src/core/minimap_manager.ts | 2 +- ui/src/core/page_manager.ts | 2 +- ui/src/core/track_manager.ts | 2 +- ui/src/frontend/help_modal.ts | 2 +- ui/src/frontend/index.ts | 6 ++--- .../current_selection_tab.ts | 0 .../flow_events_renderer.ts | 0 .../gridline_helper.ts | 0 .../gridline_helper_unittest.ts | 0 .../{viewer_page => timeline_page}/minimap.ts | 0 .../notes_panel.ts | 0 .../resolution.ts | 0 .../search_overview_track.ts | 0 .../tab_panel.ts | 0 .../tickmark_panel.ts | 0 .../time_axis_panel.ts | 0 .../time_selection_panel.ts | 0 .../timeline_header.ts | 0 .../timeline_interactions.ts | 0 .../timeline_page.ts} | 24 +++++++++---------- .../timeline_toolbar.ts | 0 .../track_tree_view.ts | 0 .../track_view.ts | 0 .../wasd_navigation_handler.ts | 0 27 files changed, 23 insertions(+), 23 deletions(-) rename ui/src/assets/{viewer_page.scss => timeline_page.scss} (98%) rename ui/src/frontend/{viewer_page => timeline_page}/current_selection_tab.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/flow_events_renderer.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/gridline_helper.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/gridline_helper_unittest.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/minimap.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/notes_panel.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/resolution.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/search_overview_track.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/tab_panel.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/tickmark_panel.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/time_axis_panel.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/time_selection_panel.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/timeline_header.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/timeline_interactions.ts (100%) rename ui/src/frontend/{viewer_page/viewer_page.ts => timeline_page/timeline_page.ts} (88%) rename ui/src/frontend/{viewer_page => timeline_page}/timeline_toolbar.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/track_tree_view.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/track_view.ts (100%) rename ui/src/frontend/{viewer_page => timeline_page}/wasd_navigation_handler.ts (100%) diff --git a/ui/src/assets/perfetto.scss b/ui/src/assets/perfetto.scss index 622f640b2b8..e69d5c8afa1 100644 --- a/ui/src/assets/perfetto.scss +++ b/ui/src/assets/perfetto.scss @@ -14,7 +14,7 @@ @import "typefaces"; @import "common"; -@import "viewer_page"; +@import "timeline_page"; @import "home_page"; @import "sidebar"; @import "topbar"; diff --git a/ui/src/assets/viewer_page.scss b/ui/src/assets/timeline_page.scss similarity index 98% rename from ui/src/assets/viewer_page.scss rename to ui/src/assets/timeline_page.scss index fb8dd6a2020..b7078862be1 100644 --- a/ui/src/assets/viewer_page.scss +++ b/ui/src/assets/timeline_page.scss @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -.pf-viewer-page { +.pf-timeline-page { isolation: isolate; overflow: hidden; height: 100%; diff --git a/ui/src/components/query_table/query_table.ts b/ui/src/components/query_table/query_table.ts index 91b3c62e52f..8e4f8d4f6a0 100644 --- a/ui/src/components/query_table/query_table.ts +++ b/ui/src/components/query_table/query_table.ts @@ -197,7 +197,7 @@ export class QueryTable implements m.ClassComponent { return m('.pf-query-panel__query-error', `SQL error: ${resp.error}`); } - const onViewerPage = + const onTimelinePage = Router.parseUrl(window.location.href).page === '/viewer'; return m(DataGrid, { @@ -213,7 +213,7 @@ export class QueryTable implements m.ClassComponent { if ( name === 'id' && sliceId !== undefined && - onViewerPage && + onTimelinePage && isSliceish(row) ) { return m( diff --git a/ui/src/core/minimap_manager.ts b/ui/src/core/minimap_manager.ts index f6d2ed190f7..ec8694a7c94 100644 --- a/ui/src/core/minimap_manager.ts +++ b/ui/src/core/minimap_manager.ts @@ -14,7 +14,7 @@ import {HighPrecisionTimeSpan} from '../base/high_precision_time_span'; import {time} from '../base/time'; -import {calculateResolution} from '../frontend/viewer_page/resolution'; +import {calculateResolution} from '../frontend/timeline_page/resolution'; import { MinimapContentProvider, MinimapManager, diff --git a/ui/src/core/page_manager.ts b/ui/src/core/page_manager.ts index 869fed00062..a855d566dcb 100644 --- a/ui/src/core/page_manager.ts +++ b/ui/src/core/page_manager.ts @@ -46,7 +46,7 @@ export class PageManagerImpl { // avoid calling their view functions. This makes sure DOM state such as // scrolling position is retained between page flips, which can be handy // when quickly switching between pages that have long scrolling content - // such as the viewer page. + // such as the timeline page. return Array.from(this.previousPages.entries()) .map(([key, {page, subpage}]) => { const maybeRenderedPage = this.renderPageForRoute(page, subpage); diff --git a/ui/src/core/track_manager.ts b/ui/src/core/track_manager.ts index 0b7c6ee0bdc..1b363cc4a02 100644 --- a/ui/src/core/track_manager.ts +++ b/ui/src/core/track_manager.ts @@ -126,7 +126,7 @@ export class TrackManagerImpl implements TrackManager { return this.tracks.tryGet(uri)?.desc; } - // This is only called by the viewer_page.ts. + // This is only called by the timeline_page.ts. getTrackFSM(uri: string): TrackWithFSM | undefined { // Search for a cached version of this track, const trackFsm = this.tracks.tryGet(uri); diff --git a/ui/src/frontend/help_modal.ts b/ui/src/frontend/help_modal.ts index 3fdef561745..9ccf2da9d36 100644 --- a/ui/src/frontend/help_modal.ts +++ b/ui/src/frontend/help_modal.ts @@ -23,7 +23,7 @@ import { nativeKeyboardLayoutMap, NotSupportedError, } from '../base/keyboard_layout_map'; -import {KeyMapping} from './viewer_page/wasd_navigation_handler'; +import {KeyMapping} from './timeline_page/wasd_navigation_handler'; import {raf} from '../core/raf_scheduler'; export function toggleHelp() { diff --git a/ui/src/frontend/index.ts b/ui/src/frontend/index.ts index a387348f891..6db2ee55df9 100644 --- a/ui/src/frontend/index.ts +++ b/ui/src/frontend/index.ts @@ -39,8 +39,8 @@ import { DEFAULT_TRACK_MIN_HEIGHT_PX, MINIMUM_TRACK_MIN_HEIGHT_PX, TRACK_MIN_HEIGHT_SETTING, -} from './viewer_page/track_view'; -import {renderViewerPage} from './viewer_page/viewer_page'; +} from './timeline_page/track_view'; +import {renderTimelinePage} from './timeline_page/timeline_page'; import {HttpRpcEngine} from '../trace_processor/http_rpc_engine'; import {showModal} from '../widgets/modal'; import {IdleDetector} from './idle_detector'; @@ -330,7 +330,7 @@ function onCssLoaded() { const pages = AppImpl.instance.pages; pages.registerPage({route: '/', render: () => m(HomePage)}); - pages.registerPage({route: '/viewer', render: () => renderViewerPage()}); + pages.registerPage({route: '/viewer', render: () => renderTimelinePage()}); const router = new Router(); router.onRouteChanged = routeChange; diff --git a/ui/src/frontend/viewer_page/current_selection_tab.ts b/ui/src/frontend/timeline_page/current_selection_tab.ts similarity index 100% rename from ui/src/frontend/viewer_page/current_selection_tab.ts rename to ui/src/frontend/timeline_page/current_selection_tab.ts diff --git a/ui/src/frontend/viewer_page/flow_events_renderer.ts b/ui/src/frontend/timeline_page/flow_events_renderer.ts similarity index 100% rename from ui/src/frontend/viewer_page/flow_events_renderer.ts rename to ui/src/frontend/timeline_page/flow_events_renderer.ts diff --git a/ui/src/frontend/viewer_page/gridline_helper.ts b/ui/src/frontend/timeline_page/gridline_helper.ts similarity index 100% rename from ui/src/frontend/viewer_page/gridline_helper.ts rename to ui/src/frontend/timeline_page/gridline_helper.ts diff --git a/ui/src/frontend/viewer_page/gridline_helper_unittest.ts b/ui/src/frontend/timeline_page/gridline_helper_unittest.ts similarity index 100% rename from ui/src/frontend/viewer_page/gridline_helper_unittest.ts rename to ui/src/frontend/timeline_page/gridline_helper_unittest.ts diff --git a/ui/src/frontend/viewer_page/minimap.ts b/ui/src/frontend/timeline_page/minimap.ts similarity index 100% rename from ui/src/frontend/viewer_page/minimap.ts rename to ui/src/frontend/timeline_page/minimap.ts diff --git a/ui/src/frontend/viewer_page/notes_panel.ts b/ui/src/frontend/timeline_page/notes_panel.ts similarity index 100% rename from ui/src/frontend/viewer_page/notes_panel.ts rename to ui/src/frontend/timeline_page/notes_panel.ts diff --git a/ui/src/frontend/viewer_page/resolution.ts b/ui/src/frontend/timeline_page/resolution.ts similarity index 100% rename from ui/src/frontend/viewer_page/resolution.ts rename to ui/src/frontend/timeline_page/resolution.ts diff --git a/ui/src/frontend/viewer_page/search_overview_track.ts b/ui/src/frontend/timeline_page/search_overview_track.ts similarity index 100% rename from ui/src/frontend/viewer_page/search_overview_track.ts rename to ui/src/frontend/timeline_page/search_overview_track.ts diff --git a/ui/src/frontend/viewer_page/tab_panel.ts b/ui/src/frontend/timeline_page/tab_panel.ts similarity index 100% rename from ui/src/frontend/viewer_page/tab_panel.ts rename to ui/src/frontend/timeline_page/tab_panel.ts diff --git a/ui/src/frontend/viewer_page/tickmark_panel.ts b/ui/src/frontend/timeline_page/tickmark_panel.ts similarity index 100% rename from ui/src/frontend/viewer_page/tickmark_panel.ts rename to ui/src/frontend/timeline_page/tickmark_panel.ts diff --git a/ui/src/frontend/viewer_page/time_axis_panel.ts b/ui/src/frontend/timeline_page/time_axis_panel.ts similarity index 100% rename from ui/src/frontend/viewer_page/time_axis_panel.ts rename to ui/src/frontend/timeline_page/time_axis_panel.ts diff --git a/ui/src/frontend/viewer_page/time_selection_panel.ts b/ui/src/frontend/timeline_page/time_selection_panel.ts similarity index 100% rename from ui/src/frontend/viewer_page/time_selection_panel.ts rename to ui/src/frontend/timeline_page/time_selection_panel.ts diff --git a/ui/src/frontend/viewer_page/timeline_header.ts b/ui/src/frontend/timeline_page/timeline_header.ts similarity index 100% rename from ui/src/frontend/viewer_page/timeline_header.ts rename to ui/src/frontend/timeline_page/timeline_header.ts diff --git a/ui/src/frontend/viewer_page/timeline_interactions.ts b/ui/src/frontend/timeline_page/timeline_interactions.ts similarity index 100% rename from ui/src/frontend/viewer_page/timeline_interactions.ts rename to ui/src/frontend/timeline_page/timeline_interactions.ts diff --git a/ui/src/frontend/viewer_page/viewer_page.ts b/ui/src/frontend/timeline_page/timeline_page.ts similarity index 88% rename from ui/src/frontend/viewer_page/viewer_page.ts rename to ui/src/frontend/timeline_page/timeline_page.ts index 46a32c52c70..8eae9a7aff0 100644 --- a/ui/src/frontend/viewer_page/viewer_page.ts +++ b/ui/src/frontend/timeline_page/timeline_page.ts @@ -35,39 +35,39 @@ const OVERVIEW_PANEL_FLAG = featureFlags.register({ defaultValue: true, }); -export function renderViewerPage() { +export function renderTimelinePage() { // Only render if a trace is loaded const trace = AppImpl.instance.trace; if (trace) { - return m(ViewerPage, {trace}); + return m(TimelinePage, {trace}); } else { return undefined; } } -interface ViewerPageAttrs { +interface TimelinePageAttrs { readonly trace: TraceImpl; } -class ViewerPage implements m.ClassComponent { +class TimelinePage implements m.ClassComponent { private readonly trash = new DisposableStack(); private timelineBounds?: Rect2D; - view({attrs}: m.CVnode) { + view({attrs}: m.CVnode) { const {trace} = attrs; return m( - '.pf-viewer-page', + '.pf-timeline-page', m( TabPanel, {trace}, OVERVIEW_PANEL_FLAG.get() && m(Minimap, { trace, - className: 'pf-viewer-page__overview', + className: 'pf-timeline-page__overview', }), m(TimelineHeader, { trace, - className: 'pf-viewer-page__header', + className: 'pf-timeline-page__header', // There are three independent canvases on this page which we could // use keep track of the timeline width, but we use the header one // because it's always rendered. @@ -79,14 +79,14 @@ class ViewerPage implements m.ClassComponent { trace.workspace.pinnedTracks.length > 0 && m(TrackTreeView, { trace, - className: 'pf-viewer-page__pinned-track-tree', + className: 'pf-timeline-page__pinned-track-tree', rootNode: trace.workspace.pinnedTracksNode, canReorderNodes: true, scrollToNewTracks: true, }), m(TrackTreeView, { trace, - className: 'pf-viewer-page__scrolling-track-tree', + className: 'pf-timeline-page__scrolling-track-tree', rootNode: trace.workspace.tracks, canReorderNodes: trace.workspace.userEditable, canRemoveNodes: trace.workspace.userEditable, @@ -97,7 +97,7 @@ class ViewerPage implements m.ClassComponent { ); } - oncreate(vnode: m.VnodeDOM) { + oncreate(vnode: m.VnodeDOM) { const {attrs, dom} = vnode; // Handles WASD keybindings to pan & zoom @@ -127,7 +127,7 @@ class ViewerPage implements m.ClassComponent { this.onupdate(vnode); } - onupdate({attrs}: m.VnodeDOM) { + onupdate({attrs}: m.VnodeDOM) { // TODO(stevegolton): It's assumed that the TrackStacks will call into // trace.tracks.getTrackRenderer() in their view() functions which will mark // track renderers as used. We call flushOldTracks() here as it's guaranteed diff --git a/ui/src/frontend/viewer_page/timeline_toolbar.ts b/ui/src/frontend/timeline_page/timeline_toolbar.ts similarity index 100% rename from ui/src/frontend/viewer_page/timeline_toolbar.ts rename to ui/src/frontend/timeline_page/timeline_toolbar.ts diff --git a/ui/src/frontend/viewer_page/track_tree_view.ts b/ui/src/frontend/timeline_page/track_tree_view.ts similarity index 100% rename from ui/src/frontend/viewer_page/track_tree_view.ts rename to ui/src/frontend/timeline_page/track_tree_view.ts diff --git a/ui/src/frontend/viewer_page/track_view.ts b/ui/src/frontend/timeline_page/track_view.ts similarity index 100% rename from ui/src/frontend/viewer_page/track_view.ts rename to ui/src/frontend/timeline_page/track_view.ts diff --git a/ui/src/frontend/viewer_page/wasd_navigation_handler.ts b/ui/src/frontend/timeline_page/wasd_navigation_handler.ts similarity index 100% rename from ui/src/frontend/viewer_page/wasd_navigation_handler.ts rename to ui/src/frontend/timeline_page/wasd_navigation_handler.ts From 217001ba7f00d3043bf0f4872d2701797d063c5c Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Tue, 14 Oct 2025 22:23:46 +0900 Subject: [PATCH 080/370] tp: ui: add support for thread_sort_index/process_sort_index from JSON (#3273) We've relaxed our stance on this for the protobuf format, so there's no reason to leave people writing JSON traces out in the cold. Respect the standard sort_index key coming from JSON traces as well. Fixes: https://github.com/google/perfetto/issues/555 Fixes: https://github.com/google/perfetto/issues/764 Fixes: https://github.com/google/perfetto/issues/378 --- CHANGELOG | 7 +- src/trace_processor/export_json_unittest.cc | 2 +- .../importers/common/args_tracker.h | 9 +- .../importers/common/process_tracker.cc | 9 +- .../importers/common/process_tracker.h | 17 +- .../importers/json/json_trace_parser.cc | 73 +++++-- .../importers/json/json_trace_parser.h | 3 + .../proto/chrome_system_probes_parser.cc | 2 +- .../importers/proto/system_probes_parser.cc | 2 +- .../importers/proto/track_event_parser.cc | 4 +- .../stdlib/prelude/after_eof/views.sql | 4 +- src/trace_processor/tables/metadata_tables.py | 10 + test/data/json_sort_index_test.json.sha256 | 1 + .../debug-track-pivot.png.sha256 | 2 +- .../loaded.png.sha256 | 1 + .../process-order.png.sha256 | 1 + .../thread-order.png.sha256 | 1 + .../after.png.sha256 | 2 +- .../after.png.sha256 | 2 +- .../diff_tests/parser/json/tests.py | 204 ++++++++++++++++++ ui/src/frontend/ui_main.ts | 47 +--- .../dev.perfetto.ProcessThreadGroups/index.ts | 4 + ui/src/test/json_sort_index.test.ts | 56 +++++ 23 files changed, 378 insertions(+), 85 deletions(-) create mode 100644 test/data/json_sort_index_test.json.sha256 create mode 100644 test/data/ui-screenshots/json_sort_index.test.ts/load-trace-with-sort-index-metadata/loaded.png.sha256 create mode 100644 test/data/ui-screenshots/json_sort_index.test.ts/verify-process-sort-order/process-order.png.sha256 create mode 100644 test/data/ui-screenshots/json_sort_index.test.ts/verify-thread-sort-order-within-process/thread-order.png.sha256 create mode 100644 ui/src/test/json_sort_index.test.ts diff --git a/CHANGELOG b/CHANGELOG index 14e8fc688ad..4e19d04786a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,12 +7,17 @@ Unreleased: SQL Standard library: * Trace Processor: - * + * Added support for parsing process_sort_index and thread_sort_index + metadata from JSON traces. These are stored as process_sort_index_hint + and thread_sort_index_hint in the args table for processes and threads. UI: * Perf sample callstack tracks: if a trace contains multiple callstack data sources, the thread and process level callstack tracks can now be expanded to see which samples came from which sampling timebase/leader counter. + * Added support for sorting processes and threads using sort_index hints + from JSON traces. Processes and threads with lower sort index values + will appear first in the UI. SDK: * diff --git a/src/trace_processor/export_json_unittest.cc b/src/trace_processor/export_json_unittest.cc index 9a22d308656..aa9b6f9418d 100644 --- a/src/trace_processor/export_json_unittest.cc +++ b/src/trace_processor/export_json_unittest.cc @@ -1790,7 +1790,7 @@ TEST_F(ExportJsonTest, MemorySnapshotOsDumpEvent) { context_.storage->InternString("is_peak_rss_resettable"); { ArgsTracker args_tracker(&context_); - args_tracker.AddArgsTo(upid).AddArg( + args_tracker.AddArgsToProcess(upid).AddArg( is_peak_rss_resettable_id, Variadic::Boolean(kIsPeakRssResettable)); } diff --git a/src/trace_processor/importers/common/args_tracker.h b/src/trace_processor/importers/common/args_tracker.h index 44cac6564d0..c2c7932543a 100644 --- a/src/trace_processor/importers/common/args_tracker.h +++ b/src/trace_processor/importers/common/args_tracker.h @@ -22,6 +22,7 @@ #include #include "perfetto/ext/base/flat_hash_map.h" +#include "perfetto/ext/base/fnv_hash.h" #include "perfetto/ext/base/small_vector.h" #include "src/trace_processor/dataframe/dataframe.h" #include "src/trace_processor/importers/common/global_args_tracker.h" @@ -233,12 +234,18 @@ class ArgsTracker { context_->storage->mutable_vulkan_memory_allocations_table(), id); } - BoundInserter AddArgsTo(UniquePid id) { + BoundInserter AddArgsToProcess(UniquePid id) { auto* table = context_->storage->mutable_process_table(); return BoundInserter(this, &table->dataframe(), tables::ProcessTable::ColumnIndex::arg_set_id, id); } + BoundInserter AddArgsToThread(UniqueTid id) { + auto* table = context_->storage->mutable_thread_table(); + return BoundInserter(this, &table->dataframe(), + tables::ThreadTable::ColumnIndex::arg_set_id, id); + } + BoundInserter AddArgsTo(tables::ExperimentalProtoPathTable::Id id) { return AddArgsTo(context_->storage->mutable_experimental_proto_path_table(), id); diff --git a/src/trace_processor/importers/common/process_tracker.cc b/src/trace_processor/importers/common/process_tracker.cc index aed07f21b6a..e1977243e37 100644 --- a/src/trace_processor/importers/common/process_tracker.cc +++ b/src/trace_processor/importers/common/process_tracker.cc @@ -25,6 +25,7 @@ #include "perfetto/base/logging.h" #include "perfetto/ext/base/string_view.h" #include "perfetto/public/compiler.h" +#include "src/trace_processor/importers/common/args_tracker.h" #include "src/trace_processor/storage/stats.h" #include "src/trace_processor/storage/trace_storage.h" #include "src/trace_processor/tables/metadata_tables_py.h" @@ -649,8 +650,12 @@ void ProcessTracker::SetPidZeroIsUpidZeroIdleProcess() { ThreadNamePriority::kTraceProcessorConstant); } -ArgsTracker::BoundInserter ProcessTracker::AddArgsTo(UniquePid upid) { - return args_tracker_.AddArgsTo(upid); +ArgsTracker::BoundInserter ProcessTracker::AddArgsToProcess(UniquePid upid) { + return args_tracker_.AddArgsToProcess(upid); +} + +ArgsTracker::BoundInserter ProcessTracker::AddArgsToThread(UniqueTid utid) { + return args_tracker_.AddArgsToThread(utid); } void ProcessTracker::NotifyEndOfFile() { diff --git a/src/trace_processor/importers/common/process_tracker.h b/src/trace_processor/importers/common/process_tracker.h index 9bad88225f8..2a8a029b442 100644 --- a/src/trace_processor/importers/common/process_tracker.h +++ b/src/trace_processor/importers/common/process_tracker.h @@ -30,13 +30,12 @@ #include "src/trace_processor/storage/trace_storage.h" #include "src/trace_processor/types/trace_processor_context.h" -namespace perfetto { -namespace trace_processor { +namespace perfetto::trace_processor { // Thread names can come from different sources, and we don't always want to // overwrite the previously set name. This enum determines the priority of // different sources. -enum class ThreadNamePriority { +enum class ThreadNamePriority : uint8_t { kOther = 0, kFtrace = 1, kEtwTrace = 1, @@ -186,7 +185,7 @@ class ProcessTracker { // Returns the upid for a given pid. std::optional UpidForPidForTesting(uint32_t pid) { - auto it = pids_.Find(pid); + auto* it = pids_.Find(pid); return it ? std::make_optional(*it) : std::nullopt; } @@ -214,7 +213,12 @@ class ProcessTracker { // Returns a BoundInserter to add arguments to the arg set of a process. // Arguments are flushed into trace storage only after the trace was loaded in // its entirety. - ArgsTracker::BoundInserter AddArgsTo(UniquePid upid); + ArgsTracker::BoundInserter AddArgsToProcess(UniquePid upid); + + // Returns a BoundInserter to add arguments to the arg set of a thread. + // Arguments are flushed into trace storage only after the trace was loaded in + // its entirety. + ArgsTracker::BoundInserter AddArgsToThread(UniqueTid utid); // Called when the trace was fully loaded. void NotifyEndOfFile(); @@ -322,7 +326,6 @@ class ProcessTracker { UniqueTid swapper_utid_ = 0; }; -} // namespace trace_processor -} // namespace perfetto +} // namespace perfetto::trace_processor #endif // SRC_TRACE_PROCESSOR_IMPORTERS_COMMON_PROCESS_TRACKER_H_ diff --git a/src/trace_processor/importers/json/json_trace_parser.cc b/src/trace_processor/importers/json/json_trace_parser.cc index bfc36f17553..a537427c793 100644 --- a/src/trace_processor/importers/json/json_trace_parser.cc +++ b/src/trace_processor/importers/json/json_trace_parser.cc @@ -94,7 +94,12 @@ TrackCompressor::AsyncSliceType AsyncSliceTypeForPhase(char phase) { } // namespace JsonTraceParser::JsonTraceParser(TraceProcessorContext* context) - : context_(context), systrace_line_parser_(context) {} + : context_(context), + systrace_line_parser_(context), + process_sort_index_hint_id_( + context->storage->InternString("process_sort_index_hint")), + thread_sort_index_hint_id_( + context->storage->InternString("thread_sort_index_hint")) {} JsonTraceParser::~JsonTraceParser() = default; @@ -390,7 +395,8 @@ void JsonTraceParser::ParseJsonPacket(int64_t timestamp, JsonEvent event) { break; } base::StringView name = storage->GetString(event.name); - if (name != "thread_name" && name != "process_name") { + if (name != "thread_name" && name != "process_name" && + name != "process_sort_index" && name != "thread_sort_index") { break; } it_.Reset(event.args.get(), event.args.get() + event.args_size); @@ -412,23 +418,52 @@ void JsonTraceParser::ParseJsonPacket(int64_t timestamp, JsonEvent event) { if (it_.eof()) { break; } - if (it_.key() != "name") { - continue; - } - std::string_view args_name = GetStringValue(it_.value()); - if (args_name.empty()) { - context_->storage->IncrementStats(stats::json_parser_failure); - continue; - } - if (name == "thread_name") { - auto thread_name_id = context_->storage->InternString(args_name); - procs->UpdateThreadName(utid, thread_name_id, - ThreadNamePriority::kOther); - } else if (name == "process_name") { - UniquePid upid = procs->GetOrCreateProcess(event.pid); - procs->SetProcessMetadata( - upid, base::StringView(args_name.data(), args_name.size()), - base::StringView()); + if (name == "process_sort_index" || name == "thread_sort_index") { + if (it_.key() != "sort_index") { + continue; + } + int64_t sort_index; + switch (it_.value().index()) { + case base::variant_index(): + sort_index = base::unchecked_get(it_.value()); + break; + case base::variant_index(): + sort_index = static_cast( + base::unchecked_get(it_.value())); + break; + default: + context_->storage->IncrementStats(stats::json_parser_failure); + continue; + } + if (name == "process_sort_index") { + UniquePid upid = procs->GetOrCreateProcess(event.pid); + auto inserter = procs->AddArgsToProcess(upid); + inserter.AddArg(process_sort_index_hint_id_, + Variadic::Integer(sort_index)); + } else { + auto inserter = procs->AddArgsToThread(utid); + inserter.AddArg(thread_sort_index_hint_id_, + Variadic::Integer(sort_index)); + } + } else { + if (it_.key() != "name") { + continue; + } + std::string_view args_name = GetStringValue(it_.value()); + if (args_name.empty()) { + context_->storage->IncrementStats(stats::json_parser_failure); + continue; + } + if (name == "thread_name") { + auto thread_name_id = context_->storage->InternString(args_name); + procs->UpdateThreadName(utid, thread_name_id, + ThreadNamePriority::kOther); + } else if (name == "process_name") { + UniquePid upid = procs->GetOrCreateProcess(event.pid); + procs->SetProcessMetadata( + upid, base::StringView(args_name.data(), args_name.size()), + base::StringView()); + } } } } diff --git a/src/trace_processor/importers/json/json_trace_parser.h b/src/trace_processor/importers/json/json_trace_parser.h index 2bf378d2ba2..1c16296a7c5 100644 --- a/src/trace_processor/importers/json/json_trace_parser.h +++ b/src/trace_processor/importers/json/json_trace_parser.h @@ -45,6 +45,9 @@ class JsonTraceParser { SystraceLineParser systrace_line_parser_; json::Iterator it_; + StringId process_sort_index_hint_id_; + StringId thread_sort_index_hint_id_; + void MaybeAddFlow(StringPool* pool, TrackId track_id, const JsonEvent& event); }; diff --git a/src/trace_processor/importers/proto/chrome_system_probes_parser.cc b/src/trace_processor/importers/proto/chrome_system_probes_parser.cc index f30db467eee..7b013c14e1a 100644 --- a/src/trace_processor/importers/proto/chrome_system_probes_parser.cc +++ b/src/trace_processor/importers/proto/chrome_system_probes_parser.cc @@ -50,7 +50,7 @@ void ChromeSystemProbesParser::ParseProcessStats(int64_t ts, ConstBytes blob) { using ProcessStats = protos::pbzero::ProcessStats; if (fld.id() == ProcessStats::Process::kIsPeakRssResettableFieldNumber) { UniquePid upid = context_->process_tracker->GetOrCreateProcess(pid); - context_->process_tracker->AddArgsTo(upid).AddArg( + context_->process_tracker->AddArgsToProcess(upid).AddArg( is_peak_rss_resettable_id_, Variadic::Boolean(fld.as_bool())); continue; } diff --git a/src/trace_processor/importers/proto/system_probes_parser.cc b/src/trace_processor/importers/proto/system_probes_parser.cc index 7d2d8fe1ee9..e3f5ad243a4 100644 --- a/src/trace_processor/importers/proto/system_probes_parser.cc +++ b/src/trace_processor/importers/proto/system_probes_parser.cc @@ -688,7 +688,7 @@ void SystemProbesParser::ParseProcessTree(ConstBytes blob) { // Linux v6.4+: explicit field for whether this is a kernel thread. if (proc.has_is_kthread()) { - context_->process_tracker->AddArgsTo(upid).AddArg( + context_->process_tracker->AddArgsToProcess(upid).AddArg( is_kthread_id_, Variadic::Boolean(proc.is_kthread())); } } diff --git a/src/trace_processor/importers/proto/track_event_parser.cc b/src/trace_processor/importers/proto/track_event_parser.cc index d3303aa5f72..0a2ce8236f3 100644 --- a/src/trace_processor/importers/proto/track_event_parser.cc +++ b/src/trace_processor/importers/proto/track_event_parser.cc @@ -337,7 +337,7 @@ UniquePid TrackEventParser::ParseProcessDescriptor( std::string key = "chrome.process_label["; key.append(std::to_string(label_index++)); key.append("]"); - context_->process_tracker->AddArgsTo(upid).AddArg( + context_->process_tracker->AddArgsToProcess(upid).AddArg( chrome_process_label_flat_key_id_, context_->storage->InternString(base::StringView(key)), Variadic::String(label_id)); @@ -357,7 +357,7 @@ void TrackEventParser::ParseChromeProcessDescriptor( context_->process_tracker->SetProcessNameIfUnset(upid, name_id); ArgsTracker::BoundInserter process_args = - context_->process_tracker->AddArgsTo(upid); + context_->process_tracker->AddArgsToProcess(upid); // For identifying Chrome processes in system traces. process_args.AddArg(chrome_process_type_id_, Variadic::String(name_id)); if (decoder.has_host_app_package_name()) { diff --git a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql index 8c26f8f41a2..a68e9a35ce7 100644 --- a/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql +++ b/src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql @@ -185,7 +185,9 @@ CREATE PERFETTO VIEW thread ( -- Boolean indicating if this thread is a kernel idle thread. is_idle BOOL, -- Machine identifier, non-null for threads on a remote machine. - machine_id LONG + machine_id LONG, + -- Extra args for this thread. + arg_set_id ARGSETID ) AS SELECT id AS utid, diff --git a/src/trace_processor/tables/metadata_tables.py b/src/trace_processor/tables/metadata_tables.py index 62e7f95e66a..8b2151e9b50 100644 --- a/src/trace_processor/tables/metadata_tables.py +++ b/src/trace_processor/tables/metadata_tables.py @@ -310,6 +310,13 @@ CppOptional(CppTableId(MACHINE_TABLE)), cpp_access=CppAccess.READ, ), + C( + 'arg_set_id', + CppOptional(CppUint32()), + sql_access=SqlAccess.HIGH_PERF, + cpp_access=CppAccess.READ_AND_HIGH_PERF_WRITE, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION, + ), ], wrapping_sql_view=WrappingSqlView(view_name='thread',), tabledoc=TableDoc( @@ -366,6 +373,9 @@ ''' Machine identifier, non-null for threads on a remote machine. ''', + 'arg_set_id': + ColumnDoc( + 'Extra args for this thread.', joinable='args.arg_set_id'), }, ), ) diff --git a/test/data/json_sort_index_test.json.sha256 b/test/data/json_sort_index_test.json.sha256 new file mode 100644 index 00000000000..60cbb1d4cbd --- /dev/null +++ b/test/data/json_sort_index_test.json.sha256 @@ -0,0 +1 @@ +214c7d23a46dc765ffb2d6fafd8d594af0a01881bdead81c631546868c0e5046 \ No newline at end of file diff --git a/test/data/ui-screenshots/debug_tracks.test.ts/debug-tracks-pivot/debug-track-pivot.png.sha256 b/test/data/ui-screenshots/debug_tracks.test.ts/debug-tracks-pivot/debug-track-pivot.png.sha256 index d18d5b51897..64f90ebbc64 100644 --- a/test/data/ui-screenshots/debug_tracks.test.ts/debug-tracks-pivot/debug-track-pivot.png.sha256 +++ b/test/data/ui-screenshots/debug_tracks.test.ts/debug-tracks-pivot/debug-track-pivot.png.sha256 @@ -1 +1 @@ -102c786d4f82472d12d3b314da5875ada6c83bc3b7d365eb37ff5e4d7f23dfd5 \ No newline at end of file +47ff5a7f70d4f8a3c6ae9245753e8ca2dcd5bce8f39d5aa7b3b4fe73c7281a85 \ No newline at end of file diff --git a/test/data/ui-screenshots/json_sort_index.test.ts/load-trace-with-sort-index-metadata/loaded.png.sha256 b/test/data/ui-screenshots/json_sort_index.test.ts/load-trace-with-sort-index-metadata/loaded.png.sha256 new file mode 100644 index 00000000000..764545ba4d6 --- /dev/null +++ b/test/data/ui-screenshots/json_sort_index.test.ts/load-trace-with-sort-index-metadata/loaded.png.sha256 @@ -0,0 +1 @@ +6af1d256ef83f52a9d4bdcebf5ebfe0b55277b5e4118731b3ca64bffe61e3a00 \ No newline at end of file diff --git a/test/data/ui-screenshots/json_sort_index.test.ts/verify-process-sort-order/process-order.png.sha256 b/test/data/ui-screenshots/json_sort_index.test.ts/verify-process-sort-order/process-order.png.sha256 new file mode 100644 index 00000000000..764545ba4d6 --- /dev/null +++ b/test/data/ui-screenshots/json_sort_index.test.ts/verify-process-sort-order/process-order.png.sha256 @@ -0,0 +1 @@ +6af1d256ef83f52a9d4bdcebf5ebfe0b55277b5e4118731b3ca64bffe61e3a00 \ No newline at end of file diff --git a/test/data/ui-screenshots/json_sort_index.test.ts/verify-thread-sort-order-within-process/thread-order.png.sha256 b/test/data/ui-screenshots/json_sort_index.test.ts/verify-thread-sort-order-within-process/thread-order.png.sha256 new file mode 100644 index 00000000000..492c0861488 --- /dev/null +++ b/test/data/ui-screenshots/json_sort_index.test.ts/verify-thread-sort-order-within-process/thread-order.png.sha256 @@ -0,0 +1 @@ +c39ed71a28644e5db2d126c0e82131529dc93a39d62f95a37bd0b1dfc17f76c3 \ No newline at end of file diff --git a/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-command-test/after.png.sha256 b/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-command-test/after.png.sha256 index ceb746723e4..c918aa5ba0d 100644 --- a/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-command-test/after.png.sha256 +++ b/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-command-test/after.png.sha256 @@ -1 +1 @@ -ecbd833b157602024bc0265c288dbf81c32a63e8352b0b8952e0ef5a4ef5fd1f \ No newline at end of file +5a8384d3cc742cce96110235ea3f09273d5f0c267647c58ad60f997072546ea8 \ No newline at end of file diff --git a/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-with-path-filtering/after.png.sha256 b/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-with-path-filtering/after.png.sha256 index 6d18d6dbc10..551bf1f7e5a 100644 --- a/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-with-path-filtering/after.png.sha256 +++ b/test/data/ui-screenshots/startup_commands_allowlist.test.ts/dev-perfetto-PinTracksByRegex-with-path-filtering/after.png.sha256 @@ -1 +1 @@ -4b6a9f749fb7d394bdf8d94d0e9317074bb0e4f07c89b5d5cbbe03cbd168dacc \ No newline at end of file +1cc10ec5d90f9e9046358150fd8245c222311613e12374196b54c25400aa0546 \ No newline at end of file diff --git a/test/trace_processor/diff_tests/parser/json/tests.py b/test/trace_processor/diff_tests/parser/json/tests.py index dd8b8e89d73..83fcdac27c6 100644 --- a/test/trace_processor/diff_tests/parser/json/tests.py +++ b/test/trace_processor/diff_tests/parser/json/tests.py @@ -1169,6 +1169,210 @@ def test_json_id2_local_int_id(self): "write",1750244461563845000,167000,"write","legacy_async_process_slice" """)) + def test_json_sort_index_hints(self): + return DiffTestBlueprint( + trace=Json('''[ + { + "ph": "M", + "pid": 30, + "tid": 0, + "ts": 100, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": -2 } + }, + { + "ph": "M", + "pid": 30, + "tid": 31, + "ts": 110, + "name": "thread_sort_index", + "cat": "__metadata", + "args": { "sort_index": 5 } + }, + { + "ph": "M", + "pid": 40, + "tid": 0, + "ts": 120, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": 10 } + }, + { + "ph": "X", + "pid": 30, + "tid": 31, + "ts": 200, + "dur": 100, + "name": "Event1" + } + ]'''), + query=''' + SELECT + process.pid, + thread.tid, + extract_arg(process.arg_set_id, 'process_sort_index_hint') as process_hint, + extract_arg(thread.arg_set_id, 'thread_sort_index_hint') as thread_hint + FROM thread + JOIN process USING (upid) + ORDER BY process.pid, thread.tid + ''', + out=Csv(""" + "pid","tid","process_hint","thread_hint" + 0,0,"[NULL]","[NULL]" + 30,30,-2,"[NULL]" + 30,31,-2,5 + 40,40,10,"[NULL]" + """)) + + def test_json_sort_index_ordering(self): + return DiffTestBlueprint( + trace=Json('''[ + { + "ph": "M", + "pid": 10, + "tid": 10, + "ts": 100, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": 100 } + }, + { + "ph": "M", + "pid": 20, + "tid": 20, + "ts": 110, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": 50 } + }, + { + "ph": "M", + "pid": 30, + "tid": 30, + "ts": 120, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": 200 } + }, + { + "ph": "M", + "pid": 40, + "tid": 40, + "ts": 130, + "name": "process_sort_index", + "cat": "__metadata", + "args": { "sort_index": -5 } + }, + { + "ph": "M", + "pid": 10, + "tid": 11, + "ts": 200, + "name": "thread_sort_index", + "cat": "__metadata", + "args": { "sort_index": 10 } + }, + { + "ph": "M", + "pid": 10, + "tid": 12, + "ts": 210, + "name": "thread_sort_index", + "cat": "__metadata", + "args": { "sort_index": 20 } + }, + { + "ph": "M", + "pid": 10, + "tid": 13, + "ts": 220, + "name": "thread_sort_index", + "cat": "__metadata", + "args": { "sort_index": 5 } + }, + { + "ph": "M", + "pid": 10, + "tid": 14, + "ts": 230, + "name": "thread_sort_index", + "cat": "__metadata", + "args": { "sort_index": -3 } + }, + { + "ph": "X", + "pid": 10, + "tid": 11, + "ts": 1000, + "dur": 100, + "name": "Event1" + }, + { + "ph": "X", + "pid": 20, + "tid": 20, + "ts": 2000, + "dur": 100, + "name": "Event2" + }, + { + "ph": "X", + "pid": 30, + "tid": 30, + "ts": 3000, + "dur": 100, + "name": "Event3" + }, + { + "ph": "X", + "pid": 40, + "tid": 40, + "ts": 4000, + "dur": 100, + "name": "Event4" + } + ]'''), + query=''' + WITH process_ordering AS ( + SELECT + process.pid, + ifnull(extract_arg(process.arg_set_id, 'process_sort_index_hint'), 0) as process_hint + FROM process + ORDER BY + process_hint asc, + process.pid asc + ), + thread_ordering AS ( + SELECT + thread.tid, + thread.upid, + ifnull(extract_arg(thread.arg_set_id, 'thread_sort_index_hint'), 0) as thread_hint + FROM thread + WHERE upid = (SELECT upid FROM process WHERE pid = 10) + ORDER BY + thread_hint asc, + thread.tid asc + ) + SELECT 'process' as type, pid as id, process_hint as hint FROM process_ordering + UNION ALL + SELECT 'thread' as type, tid as id, thread_hint as hint FROM thread_ordering + ''', + out=Csv(""" + "type","id","hint" + "process",40,-5 + "process",0,0 + "process",20,50 + "process",10,100 + "process",30,200 + "thread",14,-3 + "thread",10,0 + "thread",13,5 + "thread",11,10 + "thread",12,20 + """)) + def test_json_pid_tid_zero(self): return DiffTestBlueprint( trace=Json(''' diff --git a/ui/src/frontend/ui_main.ts b/ui/src/frontend/ui_main.ts index 23f8c21d9cf..24f7d75cb84 100644 --- a/ui/src/frontend/ui_main.ts +++ b/ui/src/frontend/ui_main.ts @@ -17,7 +17,6 @@ import {DisposableStack} from '../base/disposable_stack'; import {findRef} from '../base/dom_utils'; import {FuzzyFinder} from '../base/fuzzy'; import {assertExists, assertUnreachable} from '../base/logging'; -import {Icons} from '../base/semantic_icons'; import {undoCommonChatAppReplacements} from '../base/string_utils'; import {addQueryResultsTab} from '../components/query_table/query_result_tab'; import {AppImpl} from '../core/app_impl'; @@ -26,11 +25,10 @@ import {featureFlags} from '../core/feature_flags'; import {OmniboxMode} from '../core/omnibox_manager'; import {TraceImpl} from '../core/trace_impl'; import {Command} from '../public/command'; -import {Anchor} from '../widgets/anchor'; import {Button} from '../widgets/button'; import {HotkeyGlyphs} from '../widgets/hotkey_glyphs'; import {LinearProgress} from '../widgets/linear_progress'; -import {maybeRenderFullscreenModalDialog, showModal} from '../widgets/modal'; +import {maybeRenderFullscreenModalDialog} from '../widgets/modal'; import {Spinner} from '../widgets/spinner'; import {initCssConstants} from './css_constants'; import {toggleHelp} from './help_modal'; @@ -102,7 +100,6 @@ export class UiMainPerTrace implements m.ClassComponent { // commands or anything in this state as they will be useless. if (trace === undefined) return; document.title = `${trace.traceInfo.traceTitle || 'Trace'} - Perfetto UI`; - this.maybeShowJsonWarning(); } private renderOmnibox(): m.Children { @@ -426,46 +423,4 @@ export class UiMainPerTrace implements m.ClassComponent { AppImpl.instance.omnibox.clearFocusFlag(); } } - - private async maybeShowJsonWarning() { - // Show warning if the trace is in JSON format. - const isJsonTrace = this.trace?.traceInfo.traceType === 'json'; - const SHOWN_JSON_WARNING_KEY = 'shownJsonWarning'; - - if ( - !isJsonTrace || - window.localStorage.getItem(SHOWN_JSON_WARNING_KEY) === 'true' || - AppImpl.instance.embeddedMode - ) { - // When in embedded mode, the host app will control which trace format - // it passes to Perfetto, so we don't need to show this warning. - return; - } - - // Save that the warning has been shown. Value is irrelevant since only - // the presence of key is going to be checked. - window.localStorage.setItem(SHOWN_JSON_WARNING_KEY, 'true'); - - showModal({ - title: 'Warning', - content: m( - 'div', - m( - 'span', - 'Perfetto UI features are limited for JSON traces. ', - 'We recommend recording ', - m( - Anchor, - { - href: 'https://perfetto.dev/docs/quickstart/chrome-tracing', - icon: Icons.ExternalLink, - }, - 'proto-format traces', - ), - ' from Chrome.', - ), - m('br'), - ), - }); - } } diff --git a/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts b/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts index f9bf481b01c..c10f1d53895 100644 --- a/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts +++ b/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts @@ -168,6 +168,7 @@ export default class implements PerfettoPlugin { arg_set_id = process.arg_set_id and flat_key = 'chrome.process_label' ) chromeProcessLabels, + ifnull(extract_arg(process.arg_set_id, 'process_sort_index_hint'), 0) as processSortIndexHint, case process.name when 'Browser' then 3 when 'Gpu' then 2 @@ -187,6 +188,7 @@ export default class implements PerfettoPlugin { slice_count as sliceCount, perf_sample_count as perfSampleCount, instruments_sample_count as instrumentsSampleCount, + ifnull(extract_arg(thread.arg_set_id, 'thread_sort_index_hint'), 0) as threadSortIndexHint, ifnull(machine_id, 0) as machine from _thread_available_info_summary join thread using (utid) @@ -202,6 +204,7 @@ export default class implements PerfettoPlugin { machine from processGroups order by + processSortIndexHint asc, chromeProcessRank desc, heapProfileAllocationCount desc, heapGraphObjectCount desc, @@ -223,6 +226,7 @@ export default class implements PerfettoPlugin { machine from threadGroups order by + threadSortIndexHint asc, perfSampleCount desc, instrumentsSampleCount desc, sumRunningDur desc, diff --git a/ui/src/test/json_sort_index.test.ts b/ui/src/test/json_sort_index.test.ts new file mode 100644 index 00000000000..c65ee92e17d --- /dev/null +++ b/ui/src/test/json_sort_index.test.ts @@ -0,0 +1,56 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import {test, Page} from '@playwright/test'; +import {PerfettoTestHelper} from './perfetto_ui_test_helper'; + +test.describe.configure({mode: 'serial'}); + +let pth: PerfettoTestHelper; +let page: Page; + +test.beforeAll(async ({browser}, _testInfo) => { + page = await browser.newPage(); + pth = new PerfettoTestHelper(page); + await pth.openTraceFile('json_sort_index_test.json'); +}); + +test('load trace with sort_index metadata', async () => { + await pth.waitForIdleAndScreenshot('loaded.png'); +}); + +test('verify process sort order', async () => { + // Processes should be ordered by sort_index (highest first): + // HighPriorityProcess (100, sort_index=10) + // MediumPriorityProcess (200, sort_index=5) + // LowPriorityProcess (300, sort_index=1) + + const highPriorityProcess = pth.locateTrack('HighPriorityProcess 100'); + await highPriorityProcess.scrollIntoViewIfNeeded(); + await pth.waitForIdleAndScreenshot('process_order.png'); +}); + +test('verify thread sort order within process', async () => { + // Expand the HighPriorityProcess to see threads + const highPriorityProcess = pth.locateTrack('HighPriorityProcess 100'); + await highPriorityProcess.scrollIntoViewIfNeeded(); + await pth.toggleTrackGroup(highPriorityProcess); + + // Threads should be ordered by sort_index (highest first): + // HighPriorityThread (101, sort_index=100) + // MediumPriorityThread (102, sort_index=50) + // LowPriorityThread (103, sort_index=10) + + await pth.waitForIdleAndScreenshot('thread_order.png'); +}); From 90a44d8f9daf195abcd98db0d7ec5f0743f5fe2b Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Tue, 14 Oct 2025 15:26:30 +0200 Subject: [PATCH 081/370] Fix "Searching before insertion is not necessary" (#3263) This fixes one cppcheck performance warning about searching before insertion not being necessary. --- src/protozero/filtering/filter_util.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/protozero/filtering/filter_util.cc b/src/protozero/filtering/filter_util.cc index fdb38f6ebbd..3c08c96b2ea 100644 --- a/src/protozero/filtering/filter_util.cc +++ b/src/protozero/filtering/filter_util.cc @@ -324,8 +324,8 @@ void FilterUtil::PrintAsText(std::optional filter_bytecode) { // result.simple_field might be true if the generated bytecode is // passing through a whole submessage without recursing. passthrough = result.allowed && result.simple_field(); - if (seen_msgs.find(nested_type) == seen_msgs.end()) { - seen_msgs.insert(nested_type); + auto [_, msg_inserted] = seen_msgs.insert(nested_type); + if (msg_inserted) { queue.emplace_back(result.nested_msg_index, nested_type); } } else { // simple field From 67c6c7c797bb83ff16edad31eee3cef23b268a46 Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Tue, 14 Oct 2025 15:49:41 +0100 Subject: [PATCH 082/370] tp: lower logging level of "missing uuid in hierarchy for track" (#3210) --- src/trace_processor/importers/proto/track_event_tracker.cc | 2 +- src/trace_processor/storage/stats.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/trace_processor/importers/proto/track_event_tracker.cc b/src/trace_processor/importers/proto/track_event_tracker.cc index b36140a97ca..bad8e5d2c3b 100644 --- a/src/trace_processor/importers/proto/track_event_tracker.cc +++ b/src/trace_processor/importers/proto/track_event_tracker.cc @@ -672,7 +672,7 @@ bool TrackEventTracker::IsTrackHierarchyValid(uint64_t uuid) { } auto* state_ptr = descriptor_tracks_state_.Find(current_uuid); if (!state_ptr) { - PERFETTO_ELOG("Missing uuid in hierarchy for track %" PRIu64, uuid); + context_->storage->IncrementStats(stats::track_hierarchy_missing_uuid); return false; } seen[i] = current_uuid; diff --git a/src/trace_processor/storage/stats.h b/src/trace_processor/storage/stats.h index 1f205fac80d..1d316bee47b 100644 --- a/src/trace_processor/storage/stats.h +++ b/src/trace_processor/storage/stats.h @@ -245,6 +245,12 @@ namespace perfetto::trace_processor::stats { "TrackEventRangeOfInterest packet, and track event dropping is " \ "enabled."), \ F(track_event_tokenizer_errors, kSingle, kInfo, kAnalysis, ""), \ + F(track_hierarchy_missing_uuid, kSingle, kError, kAnalysis, \ + "A track referenced a parent UUID which was not defined, breaking the " \ + "parent-child hierarchy of tracks. This is generally a bug in the trace "\ + "producer which should be fixed. When this error is encountered, the " \ + "track and all of its associated events will be discarded, leading to " \ + "incomplete data."), \ F(track_event_thread_invalid_end, kSingle, kError, kTrace, \ "The end event for a thread track does not match a track event " \ "begin event. This can happen on mixed atrace/track_event traces " \ From 2a72adafbebf51b088ea6f8fe0248d9b6dedf2d7 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 15 Oct 2025 05:05:10 +0900 Subject: [PATCH 083/370] tp: temporarily work around perf records with zero timestamps (#3282) We should come back and do this properly by moving parsing of certain events to tokenization time but that would be a signifcant undertaking. Let's just do the essential thing to get this unblocked. Fixes: b/449973773 --- .../importers/perf/perf_data_tokenizer.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/trace_processor/importers/perf/perf_data_tokenizer.cc b/src/trace_processor/importers/perf/perf_data_tokenizer.cc index f1a98c9e6dd..828051db412 100644 --- a/src/trace_processor/importers/perf/perf_data_tokenizer.cc +++ b/src/trace_processor/importers/perf/perf_data_tokenizer.cc @@ -358,16 +358,20 @@ base::StatusOr PerfDataTokenizer::ExtractTraceTimestamp( return base::ErrStatus("Failed to read time"); } + // TODO(449973773): `*time > 0` is a temporary hack to work around the fact that + // some perf record types which actually don't have a timestamp. They should + // have been procesed during tokenization time (e.g. MMAP/MMAP2/COMM) but + // were incorrectly written to be handled with at parsing time. So by setting + // trace_ts to `latest_timestamp_`, we don't try and convert a zero timestamp + // accidentally, leading to negative timestamps in some clocks. base::StatusOr trace_ts = - time.has_value() + time && *time > 0 ? context_->clock_tracker->ToTraceTime(record.attr->clock_id(), static_cast(*time)) - : std::min(latest_timestamp_, context_->sorter->max_timestamp()); - + : latest_timestamp_; if (PERFETTO_LIKELY(trace_ts.ok())) { latest_timestamp_ = std::max(latest_timestamp_, *trace_ts); } - return trace_ts; } void PerfDataTokenizer::MaybePushRecord(Record record) { From a8d49a3886f16048389c2c86252ff284f55e8ac9 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Wed, 15 Oct 2025 11:39:09 +0100 Subject: [PATCH 084/370] ui: Add custom menu items support to DataGrid columns (#3280) This patch extends ColumnDefinition with two new optional properties: - headerMenuItems: for adding custom context menu items to headers. - cellMenuItems: for adding dynamic menu items to cells based on their values. This allows developers to extend the DataGrid with custom actions without modifying the core component. Includes example usage in the widgets showcase page. --- ui/src/components/widgets/data_grid/common.ts | 8 ++++++ .../components/widgets/data_grid/data_grid.ts | 17 +++++++++++++ .../dev.perfetto.WidgetsPage/widgets_page.ts | 25 ++++++++++++++++++- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/ui/src/components/widgets/data_grid/common.ts b/ui/src/components/widgets/data_grid/common.ts index 898c739d0b1..f5b0e87837f 100644 --- a/ui/src/components/widgets/data_grid/common.ts +++ b/ui/src/components/widgets/data_grid/common.ts @@ -26,6 +26,14 @@ export interface ColumnDefinition { // An optional aggregation for data in this column displayed in the header // bar. readonly aggregation?: AggregationFunction; + + // Optional extra menu items to add to the header column's context menu. + readonly headerMenuItems?: m.Children; + + // Optional function that returns extra menu items to add to each data cell's + // context menu. The function receives the cell value and the complete row + // data. + readonly cellMenuItems?: (value: SqlValue, row: RowDef) => m.Children; } export interface FilterValue { diff --git a/ui/src/components/widgets/data_grid/data_grid.ts b/ui/src/components/widgets/data_grid/data_grid.ts index 893133d73d9..cea3b14daba 100644 --- a/ui/src/components/widgets/data_grid/data_grid.ts +++ b/ui/src/components/widgets/data_grid/data_grid.ts @@ -382,6 +382,13 @@ export class DataGrid implements m.ClassComponent { ); } + if (Boolean(column.headerMenuItems)) { + if (menuItems.length > 0) { + menuItems.push(m(MenuDivider)); + } + menuItems.push(column.headerMenuItems); + } + return m( GridHeaderCell, { @@ -657,6 +664,16 @@ export class DataGrid implements m.ClassComponent { } } + if (column.cellMenuItems !== undefined) { + const extraItems = column.cellMenuItems(value, row); + if (extraItems !== undefined) { + if (menuItems.length > 0) { + menuItems.push(m(MenuDivider)); + } + menuItems.push(extraItems); + } + } + return m( GridDataCell, { diff --git a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts index 45c3e709057..2c86a5228f9 100644 --- a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts +++ b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts @@ -2017,6 +2017,11 @@ export class WidgetsPage implements m.ClassComponent<{app: App}> { name: 'id', title: 'ID', aggregation: aggregation ? 'COUNT' : undefined, + headerMenuItems: m(MenuItem, { + label: 'Log column name', + icon: 'info', + onclick: () => console.log('Column: id'), + }), }, {name: 'ts', title: 'Timestamp'}, { @@ -2024,7 +2029,25 @@ export class WidgetsPage implements m.ClassComponent<{app: App}> { aggregation: aggregation ? 'SUM' : undefined, title: 'Duration', }, - {name: 'name', title: 'Name'}, + { + name: 'name', + title: 'Name', + cellMenuItems: (value, row) => [ + m(MenuItem, { + label: `Copy "${value}"`, + icon: 'content_copy', + onclick: () => { + navigator.clipboard.writeText(String(value)); + console.log(`Copied: ${value}`); + }, + }), + m(MenuItem, { + label: `Log full row`, + icon: 'bug_report', + onclick: () => console.log('Row:', row), + }), + ], + }, {name: 'data', title: 'Data'}, {name: 'maybe_null', title: 'Maybe Null?'}, {name: 'category', title: 'Category'}, From e60d48709cd512b514fee4576111a43c780d5673 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:00:27 +0100 Subject: [PATCH 085/370] exp_mock: Create single node operators (#3286) - Add column from table - Sort - Limit and Offset --- .../dev.perfetto.ExplorePage/explore_page.ts | 14 +- .../dev.perfetto.ExplorePage/json_handler.ts | 8 +- .../json_handler_unittest.ts | 98 +++++++++++ .../query_builder/dev_nodes.ts | 37 ++++ .../nodes/dev/add_columns_node.ts | 148 ++++++++++++++++ .../nodes/dev/limit_and_offset_node.ts | 121 +++++++++++++ .../query_builder/nodes/dev/sort_node.ts | 162 ++++++++++++++++++ 7 files changed, 585 insertions(+), 3 deletions(-) create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts create mode 100644 ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts index 7e637c37826..4bb4b57ce24 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts @@ -71,7 +71,7 @@ export class ExplorePage implements m.ClassComponent { })); } - handleAddDerivedNode( + async handleAddDerivedNode( attrs: ExplorePageAttrs, node: QueryNode, derivedNodeId: string, @@ -79,7 +79,19 @@ export class ExplorePage implements m.ClassComponent { const {state, onStateUpdate} = attrs; const descriptor = nodeRegistry.get(derivedNodeId); if (descriptor) { + let initialState: Partial | null = {}; + if (descriptor.preCreate) { + const sqlModules = attrs.sqlModulesPlugin.getSqlModules(); + if (!sqlModules) return; + initialState = await descriptor.preCreate({sqlModules}); + } + + if (initialState === null) { + return; + } + const nodeState: QueryNodeState = { + ...initialState, prevNodes: [node], }; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts index b2fcd014e2d..df0a9e65cee 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts @@ -105,8 +105,12 @@ export function serializeState(state: ExplorePageState): string { nodeLayouts: Object.fromEntries(state.nodeLayouts), }; - const replacer = (_key: string, value: unknown) => - typeof value === 'bigint' ? value.toString() : value; + const replacer = (key: string, value: unknown) => { + if (key === 'prevNodes' || key === '_trace') { + return undefined; + } + return typeof value === 'bigint' ? value.toString() : value; + }; return JSON.stringify(serializedGraph, replacer, 2); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts index 086413da604..c8db1edf618 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts @@ -26,6 +26,10 @@ import { SqlTable, SqlType, } from '../../plugins/dev.perfetto.SqlModules/sql_modules'; +import {AddColumnsNode} from './query_builder/nodes/dev/add_columns_node'; +import {LimitAndOffsetNode} from './query_builder/nodes/dev/limit_and_offset_node'; +import {SortNode} from './query_builder/nodes/dev/sort_node'; +import {columnInfoFromName} from './query_builder/column_info'; describe('JSON serialization/deserialization', () => { let trace: Trace; @@ -592,4 +596,98 @@ describe('JSON serialization/deserialization', () => { expect(filters[0].column).toBe('new_col'); } }); + + test('serializes and deserializes add columns node', () => { + const tableNode = new TableSourceNode({ + sqlTable: sqlModules.getTable('slice'), + trace, + sqlModules, + }); + + const addColumnsNode = new AddColumnsNode({ + prevNodes: [tableNode], + sqlTable: sqlModules.getTable('slice')!, + selectedColumns: ['name'], + }); + tableNode.nextNodes.push(addColumnsNode); + + const initialState: ExplorePageState = { + rootNodes: [tableNode], + nodeLayouts: new Map(), + }; + + const json = serializeState(initialState); + const deserializedState = deserializeState(json, trace, sqlModules); + + expect(deserializedState.rootNodes.length).toBe(1); + const deserializedTableNode = deserializedState.rootNodes[0]; + expect(deserializedTableNode.nextNodes.length).toBe(1); + const deserializedNode = deserializedTableNode + .nextNodes[0] as AddColumnsNode; + expect(deserializedNode.state.selectedColumns).toEqual(['name']); + expect(deserializedNode.state.sqlTable?.name).toEqual('slice'); + }); + + test('serializes and deserializes limit and offset node', () => { + const tableNode = new TableSourceNode({ + sqlTable: sqlModules.getTable('slice'), + trace, + sqlModules, + }); + + const limitAndOffsetNode = new LimitAndOffsetNode({ + prevNodes: [tableNode], + limit: 100, + offset: 20, + }); + tableNode.nextNodes.push(limitAndOffsetNode); + + const initialState: ExplorePageState = { + rootNodes: [tableNode], + nodeLayouts: new Map(), + }; + + const json = serializeState(initialState); + const deserializedState = deserializeState(json, trace, sqlModules); + + expect(deserializedState.rootNodes.length).toBe(1); + const deserializedTableNode = deserializedState.rootNodes[0]; + expect(deserializedTableNode.nextNodes.length).toBe(1); + const deserializedNode = deserializedTableNode + .nextNodes[0] as LimitAndOffsetNode; + expect(deserializedNode.state.limit).toEqual(100); + expect(deserializedNode.state.offset).toEqual(20); + }); + + test('serializes and deserializes sort node', () => { + const tableNode = new TableSourceNode({ + sqlTable: sqlModules.getTable('slice'), + trace, + sqlModules, + }); + tableNode.finalCols = [ + columnInfoFromName('name'), + columnInfoFromName('ts'), + ]; + + const sortNode = new SortNode({ + prevNodes: [tableNode], + sortColNames: ['name', 'ts'], + }); + tableNode.nextNodes.push(sortNode); + + const initialState: ExplorePageState = { + rootNodes: [tableNode], + nodeLayouts: new Map(), + }; + + const json = serializeState(initialState); + const deserializedState = deserializeState(json, trace, sqlModules); + + expect(deserializedState.rootNodes.length).toBe(1); + const deserializedTableNode = deserializedState.rootNodes[0]; + expect(deserializedTableNode.nextNodes.length).toBe(1); + const deserializedNode = deserializedTableNode.nextNodes[0] as SortNode; + expect(deserializedNode.state.sortColNames).toEqual(['name', 'ts']); + }); }); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts index ac6c7c7f1cd..c76fe2d5ebe 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts @@ -13,7 +13,11 @@ // limitations under the License. import {nodeRegistry} from './node_registry'; +import {AddColumnsNode} from './nodes/dev/add_columns_node'; +import {modalForTableSelection} from './nodes/sources/table_source'; import {TestNode} from './nodes/dev/test_node'; +import {LimitAndOffsetNode} from './nodes/dev/limit_and_offset_node'; +import {SortNode} from './nodes/dev/sort_node'; export function registerDevNodes() { nodeRegistry.register('test_source', { @@ -24,4 +28,37 @@ export function registerDevNodes() { factory: (state) => new TestNode(state), devOnly: true, }); + nodeRegistry.register('add_columns_node', { + name: 'Add Columns', + description: 'Adds new columns.', + icon: 'add_box', + type: 'derived', + factory: (state) => new AddColumnsNode(state), + preCreate: async ({sqlModules}) => { + const table = await modalForTableSelection(sqlModules); + if (table === undefined) { + return null; + } + return { + sqlTable: table.sqlTable, + }; + }, + devOnly: true, + }); + nodeRegistry.register('limit_and_offset_node', { + name: 'Limit and Offset', + description: 'Limits number of rows and offsets them.', + icon: 'filter_list', + type: 'derived', + factory: (state) => new LimitAndOffsetNode(state), + devOnly: true, + }); + nodeRegistry.register('sort_node', { + name: 'Sort', + description: 'Sorts by a column.', + icon: 'sort', + type: 'derived', + factory: (state) => new SortNode(state), + devOnly: true, + }); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts new file mode 100644 index 00000000000..6430d31d80e --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts @@ -0,0 +1,148 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { + QueryNode, + QueryNodeState, + nextNodeId, + NodeType, +} from '../../../query_node'; +import {ColumnInfo, columnInfoFromName} from '../../column_info'; +import protos from '../../../../../protos'; +import m from 'mithril'; +import {Card} from '../../../../../widgets/card'; +import {FilterOperation} from '../../operations/filter'; +import {FilterDefinition} from '../../../../../components/widgets/data_grid/common'; +import {MultiselectInput} from '../../../../../widgets/multiselect_input'; + +export interface AddColumnsNodeState extends QueryNodeState { + selectedColumns?: string[]; +} + +export class AddColumnsNode implements QueryNode { + readonly nodeId: string; + readonly type = NodeType.kModifyColumns; + readonly prevNodes?: QueryNode[]; + nextNodes: QueryNode[]; + readonly state: AddColumnsNodeState; + + constructor(state: AddColumnsNodeState) { + this.nodeId = nextNodeId(); + this.state = state; + this.prevNodes = state.prevNodes; + this.nextNodes = []; + this.state.filters = this.state.filters ?? []; + this.state.selectedColumns = this.state.selectedColumns ?? []; + } + + get sourceCols(): ColumnInfo[] { + return this.prevNodes?.[0]?.finalCols ?? []; + } + + get finalCols(): ColumnInfo[] { + if (this.state.sqlTable) { + const newCols = + this.state.selectedColumns?.map((c) => columnInfoFromName(c)) ?? []; + return [...this.sourceCols, ...newCols]; + } + return this.sourceCols; + } + + getTitle(): string { + return 'Add Columns'; + } + + nodeDetails(): m.Child { + if (this.state.sqlTable) { + if (this.state.selectedColumns && this.state.selectedColumns.length > 0) { + const plural = this.state.selectedColumns.length > 1 ? 's' : ''; + return m( + '.pf-aggregation-node-details', + `Add column${plural} `, + m('strong', this.state.selectedColumns.join(', ')), + ' from ', + m('strong', this.state.sqlTable.name), + ' using ', + m('strong', 'id'), + ); + } else { + return m( + '.pf-aggregation-node-details', + `No columns selected from ${this.state.sqlTable.name}`, + ); + } + } + return m('.pf-aggregation-node-details', 'No table selected'); + } + + nodeSpecificModify(): m.Child { + if (this.state.sqlTable) { + return m('div', [ + m(Card, [ + m('div', `Table: ${this.state.sqlTable.name}`), + m(MultiselectInput, { + options: this.state.sqlTable.columns.map((c) => ({ + key: c.name, + label: c.name, + })), + selectedOptions: this.state.selectedColumns ?? [], + onOptionAdd: (key: string) => { + if (!this.state.selectedColumns) { + this.state.selectedColumns = []; + } + this.state.selectedColumns.push(key); + m.redraw(); + }, + onOptionRemove: (key: string) => { + if (this.state.selectedColumns) { + this.state.selectedColumns = this.state.selectedColumns.filter( + (c) => c !== key, + ); + m.redraw(); + } + }, + }), + ]), + m(FilterOperation, { + filters: this.state.filters, + sourceCols: this.finalCols, + onFiltersChanged: (newFilters: ReadonlyArray) => { + this.state.filters = newFilters as FilterDefinition[]; + }, + }), + ]); + } + return m('div', 'No table selected'); + } + + validate(): boolean { + return this.prevNodes !== undefined && this.prevNodes.length > 0; + } + + clone(): QueryNode { + return new AddColumnsNode(this.state); + } + + getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { + return this.prevNodes?.[0]?.getStructuredQuery(); + } + + serializeState(): object { + return this.state; + } + + isMaterialised(): boolean { + return false; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts new file mode 100644 index 00000000000..63e6103f359 --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts @@ -0,0 +1,121 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import m from 'mithril'; +import { + QueryNode, + QueryNodeState, + nextNodeId, + NodeType, +} from '../../../query_node'; +import {ColumnInfo} from '../../column_info'; +import protos from '../../../../../protos'; +import {Card} from '../../../../../widgets/card'; +import {TextInput} from '../../../../../widgets/text_input'; + +export interface LimitAndOffsetNodeState extends QueryNodeState { + limit?: number; + offset?: number; +} + +export class LimitAndOffsetNode implements QueryNode { + readonly nodeId: string; + readonly type = NodeType.kModifyColumns; + readonly prevNodes?: QueryNode[]; + nextNodes: QueryNode[]; + readonly state: LimitAndOffsetNodeState; + + constructor(state: LimitAndOffsetNodeState) { + this.nodeId = nextNodeId(); + this.state = state; + this.prevNodes = state.prevNodes; + this.nextNodes = []; + this.state.limit = this.state.limit ?? 10; + this.state.offset = this.state.offset ?? 0; + } + + get sourceCols(): ColumnInfo[] { + return this.prevNodes?.[0]?.finalCols ?? []; + } + + get finalCols(): ColumnInfo[] { + return this.sourceCols; + } + + getTitle(): string { + return 'Limit and Offset'; + } + + nodeDetails(): m.Child { + const hasLimit = this.state.limit !== undefined && this.state.limit > 0; + const hasOffset = this.state.offset !== undefined && this.state.offset > 0; + if (!hasLimit && !hasOffset) { + return m('.pf-aggregation-node-details', `No limit set`); + } + + const limitMessage = hasLimit ? `Limit: ${this.state.limit}` : undefined; + const offsetMessage = hasOffset + ? `Offset: ${this.state.offset}` + : undefined; + + return m( + '.pf-aggregation-node-details', + [limitMessage, offsetMessage].filter(Boolean).join(', '), + ); + } + + nodeSpecificModify(): m.Child { + return m(Card, [ + m('label', 'Limit '), + m(TextInput, { + oninput: (e: Event) => { + const target = e.target as HTMLInputElement; + this.state.limit = Number(target.value); + m.redraw(); + }, + value: this.state.limit?.toString() ?? '10', + }), + m('label', 'Offset '), + m(TextInput, { + oninput: (e: Event) => { + const target = e.target as HTMLInputElement; + this.state.offset = Number(target.value); + m.redraw(); + }, + value: this.state.offset?.toString() ?? undefined, + }), + ]); + } + + validate(): boolean { + return this.prevNodes !== undefined && this.prevNodes.length > 0; + } + + clone(): QueryNode { + return new LimitAndOffsetNode(this.state); + } + + getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { + // TODO(mayzner): Implement this. + return this.prevNodes?.[0]?.getStructuredQuery(); + } + + serializeState(): object { + return this.state; + } + + isMaterialised(): boolean { + return false; + } +} diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts new file mode 100644 index 00000000000..935203eac9a --- /dev/null +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts @@ -0,0 +1,162 @@ +// Copyright (C) 2025 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import m from 'mithril'; +import { + QueryNode, + QueryNodeState, + nextNodeId, + NodeType, +} from '../../../query_node'; +import {ColumnInfo} from '../../column_info'; +import protos from '../../../../../protos'; +import {Card} from '../../../../../widgets/card'; +import {MultiselectInput} from '../../../../../widgets/multiselect_input'; + +export interface SortNodeState extends QueryNodeState { + sortColNames?: string[]; +} + +export class SortNode implements QueryNode { + readonly nodeId: string; + readonly type = NodeType.kModifyColumns; + readonly prevNodes?: QueryNode[]; + nextNodes: QueryNode[]; + readonly state: SortNodeState; + sortCols: ColumnInfo[]; + + constructor(state: SortNodeState) { + this.nodeId = nextNodeId(); + this.state = state; + this.prevNodes = state.prevNodes; + this.nextNodes = []; + this.state.sortColNames = this.state.sortColNames ?? []; + this.sortCols = this.resolveSortCols(); + } + + private resolveSortCols(): ColumnInfo[] { + if (!this.state.sortColNames) { + return []; + } + const sourceCols = this.sourceCols; + return this.state.sortColNames + .map((name) => sourceCols.find((c) => c.name === name)) + .filter((c): c is ColumnInfo => c !== undefined); + } + + get sourceCols(): ColumnInfo[] { + return this.prevNodes?.[0]?.finalCols ?? []; + } + + get finalCols(): ColumnInfo[] { + return this.sourceCols; + } + + getTitle(): string { + return 'Sort'; + } + + nodeDetails(): m.Child { + if (this.sortCols.length > 0) { + const criteria = this.sortCols.map((c) => c.column.name).join(', '); + return m( + '.pf-aggregation-node-details', + `Sort by `, + m('strong', criteria), + ); + } + return m('.pf-aggregation-node-details', 'No sort column selected'); + } + + nodeSpecificModify(): m.Child { + return m(Card, [ + m('label', 'Pick order by columns '), + m(MultiselectInput, { + options: this.sourceCols.map((c) => ({key: c.name, label: c.name})), + selectedOptions: this.sortCols?.map((c) => c.column.name) ?? [], + onOptionAdd: (key: string) => { + if (!this.state.sortColNames) { + this.state.sortColNames = []; + } + this.state.sortColNames.push(key); + this.sortCols = this.resolveSortCols(); + m.redraw(); + }, + onOptionRemove: (key: string) => { + if (this.state.sortColNames) { + this.state.sortColNames = this.state.sortColNames.filter( + (c) => c !== key, + ); + this.sortCols = this.resolveSortCols(); + m.redraw(); + } + }, + }), + this.sortCols?.map((criterion, index) => + m( + '.sort-criterion', + { + draggable: true, + ondragstart: (e: DragEvent) => { + e.dataTransfer!.setData('text/plain', index.toString()); + }, + ondragover: (e: DragEvent) => { + e.preventDefault(); + }, + ondrop: (e: DragEvent) => { + e.preventDefault(); + if (!this.state.sortColNames) return; + const from = parseInt(e.dataTransfer!.getData('text/plain'), 10); + const to = index; + + const newSortCriteria = [...this.state.sortColNames]; + const [removed] = newSortCriteria.splice(from, 1); + newSortCriteria.splice(to, 0, removed); + this.state.sortColNames = newSortCriteria; + this.sortCols = this.resolveSortCols(); + m.redraw(); + }, + }, + [m('span.pf-drag-handle', '☰'), m('span', criterion.column.name)], + ), + ), + ]); + } + + validate(): boolean { + return ( + this.prevNodes !== undefined && + this.prevNodes.length > 0 && + this.sortCols !== undefined && + this.sortCols.length > 0 + ); + } + + clone(): QueryNode { + return new SortNode(this.state); + } + + getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { + // TODO(mayzner): Implement this. + return this.prevNodes?.[0]?.getStructuredQuery(); + } + + serializeState(): object { + return this.state; + } + + isMaterialised(): boolean { + return false; + } +} From bec1e39370e1cbccd1945ac1fcef46c010cc7604 Mon Sep 17 00:00:00 2001 From: Alexander Timin Date: Wed, 15 Oct 2025 07:39:42 -0500 Subject: [PATCH 086/370] Revert "ui: refactor display of args (#3032)" (#3293) This reverts commit bbead825da17d13e1353a52525bb26f1007af012. JSON.parse doesn't properly handle int64, leading to confusion. Also causes crashes in some corner cases like #3287. --- ui/src/components/details/args.ts | 136 ++++++++---------- ui/src/components/details/slice_args.ts | 16 ++- ui/src/components/sql_utils/args.ts | 58 ++++++-- ui/src/components/sql_utils/slice.ts | 4 +- .../tracks/debug_slice_track_details_panel.ts | 6 +- .../components/widgets/sql/details/details.ts | 6 +- .../ftrace_details_panel.ts | 45 ++++-- .../screenshot_panel.ts | 28 ++-- .../counter_details_panel.ts | 4 +- 9 files changed, 174 insertions(+), 129 deletions(-) diff --git a/ui/src/components/details/args.ts b/ui/src/components/details/args.ts index 9fd4ff3eebb..0c184b4140c 100644 --- a/ui/src/components/details/args.ts +++ b/ui/src/components/details/args.ts @@ -16,98 +16,69 @@ import m from 'mithril'; import {isString} from '../../base/object_utils'; import {Icons} from '../../base/semantic_icons'; import {exists} from '../../base/utils'; +import {ArgNode, convertArgsToTree, Key} from './slice_args_parser'; import {Anchor} from '../../widgets/anchor'; import {MenuItem, PopupMenu} from '../../widgets/menu'; import {TreeNode} from '../../widgets/tree'; -import {Args, ArgsDict, ArgValue} from '../sql_utils/args'; +import {Arg} from '../sql_utils/args'; import {Trace} from '../../public/trace'; // Renders slice arguments (key/value pairs) as a subtree. export function renderArguments( trace: Trace, - args: ArgsDict, - extraMenuItems?: (key: string, arg: ArgValue) => m.Children, + args: ReadonlyArray, + extraMenuItems?: (arg: Arg) => m.Children, ): m.Children { - if (hasArgs(args)) { - return Object.entries(args).map(([key, value]) => - renderArgsTree(trace, key, key, value, extraMenuItems), - ); + if (args.length > 0) { + const tree = convertArgsToTree(args); + return renderArgTreeNodes(trace, tree, extraMenuItems); + } else { + return undefined; } - return undefined; } -export function hasArgs(args?: ArgsDict): args is ArgsDict { - return exists(args) && Object.keys(args).length > 0; +export function hasArgs(args?: Arg[]): args is Arg[] { + return exists(args) && args.length > 0; } -function renderArgsTree( +function renderArgTreeNodes( trace: Trace, - key: string, - fullKey: string, - args: Args, - extraMenuItems?: (path: string, arg: ArgValue) => m.Children, + args: ArgNode[], + extraMenuItems?: (arg: Arg) => m.Children, ): m.Children { - if (args instanceof Array) { - return m( - TreeNode, - { - left: key, - summary: renderArraySummary(args), - }, - args.map((value, index) => - renderArgsTree( - trace, - `[${index}]`, - `${fullKey}[${index}]`, - value, - extraMenuItems, - ), - ), - ); - } - if (args !== null && typeof args === 'object') { - if (Object.keys(args).length === 1) { - const [[childName, value]] = Object.entries(args); - return renderArgsTree( - trace, - `${key}.${childName}`, - `${fullKey}.${childName}`, - value, - extraMenuItems, + return args.map((arg) => { + const {key, value, children} = arg; + if (children && children.length === 1) { + // If we only have one child, collapse into self and combine keys + const child = children[0]; + const compositeArg = { + ...child, + key: stringifyKey(key, child.key), + }; + return renderArgTreeNodes(trace, [compositeArg], extraMenuItems); + } else { + return m( + TreeNode, + { + left: renderArgKey(stringifyKey(key), value, extraMenuItems), + right: exists(value) && renderArgValue(value), + summary: children && renderSummary(children), + }, + children && renderArgTreeNodes(trace, children, extraMenuItems), ); } - return m( - TreeNode, - { - left: key, - summary: renderDictSummary(args), - }, - Object.entries(args).map(([childName, child]) => - renderArgsTree( - trace, - childName, - `${fullKey}.${childName}`, - child, - extraMenuItems, - ), - ), - ); - } - return m(TreeNode, { - left: renderArgKey(key, fullKey, args, extraMenuItems), - right: renderArgValue(args), }); } function renderArgKey( key: string, - fullKey: string, - value: ArgValue, - extraMenuItems?: (path: string, arg: ArgValue) => m.Children, + value: Arg | undefined, + extraMenuItems?: (arg: Arg) => m.Children, ): m.Children { if (value === undefined) { return key; } else { + const {key: fullKey} = value; return m( PopupMenu, {trigger: m(Anchor, {icon: Icons.ContextMenu}, key)}, @@ -116,26 +87,25 @@ function renderArgKey( icon: 'content_copy', onclick: () => navigator.clipboard.writeText(fullKey), }), - extraMenuItems?.(fullKey, value), + extraMenuItems?.(value), ); } } -function renderArgValue(value: ArgValue): m.Children { - if (isWebLink(value)) { - return renderWebLink(value); +function renderArgValue({displayValue}: Arg): m.Children { + if (isWebLink(displayValue)) { + return renderWebLink(displayValue); } else { - return `${value}`; + return `${displayValue}`; } } -function renderArraySummary(children: Args[]): m.Children { - return `[ ... (${children.length} items) ]`; -} - -function renderDictSummary(children: ArgsDict): m.Children { - const summary = Object.keys(children).slice(0, 2).join(', '); - const remaining = Object.keys(children).length - 2; +function renderSummary(children: ArgNode[]): m.Children { + const summary = children + .slice(0, 2) + .map(({key}) => key) + .join(', '); + const remaining = children.length - 2; if (remaining > 0) { return `{${summary}, ... (${remaining} more items)}`; } else { @@ -143,6 +113,18 @@ function renderDictSummary(children: ArgsDict): m.Children { } } +function stringifyKey(...key: Key[]): string { + return key + .map((element, index) => { + if (typeof element === 'number') { + return `[${element}]`; + } else { + return (index === 0 ? '' : '.') + element; + } + }) + .join(''); +} + function isWebLink(value: unknown): value is string { return ( isString(value) && diff --git a/ui/src/components/details/slice_args.ts b/ui/src/components/details/slice_args.ts index fcb1b17f75d..1d57f64ec94 100644 --- a/ui/src/components/details/slice_args.ts +++ b/ui/src/components/details/slice_args.ts @@ -14,7 +14,7 @@ import m from 'mithril'; import {MenuItem} from '../../widgets/menu'; -import {ArgsDict} from '../sql_utils/args'; +import {Arg} from '../sql_utils/args'; import {Trace} from '../../public/trace'; import {renderArguments} from './args'; import {extensions} from '../extensions'; @@ -23,9 +23,11 @@ import {getSqlTableDescription} from '../widgets/sql/table/sql_table_registry'; import {sqliteString} from '../../base/string_utils'; // Renders slice arguments (key/value pairs) as a subtree. -export function renderSliceArguments(trace: Trace, args: ArgsDict): m.Children { - return renderArguments(trace, args, (key, value) => { - const displayValue = value === null ? 'NULL' : String(value); +export function renderSliceArguments( + trace: Trace, + args: ReadonlyArray, +): m.Children { + return renderArguments(trace, args, (arg) => { return [ m(MenuItem, { label: 'Find slices with same arg value', @@ -35,7 +37,7 @@ export function renderSliceArguments(trace: Trace, args: ArgsDict): m.Children { table: assertExists(getSqlTableDescription(trace, 'slice')), filters: [ { - op: (cols) => `${cols[0]} = ${sqliteString(displayValue)}`, + op: (cols) => `${cols[0]} = ${sqliteString(arg.displayValue)}`, columns: [ { column: 'display_value', @@ -43,7 +45,7 @@ export function renderSliceArguments(trace: Trace, args: ArgsDict): m.Children { table: 'args', joinOn: { arg_set_id: 'arg_set_id', - key: sqliteString(key), + key: sqliteString(arg.flatKey), }, }, }, @@ -57,7 +59,7 @@ export function renderSliceArguments(trace: Trace, args: ArgsDict): m.Children { label: 'Visualize argument values', icon: 'query_stats', onclick: () => { - extensions.addVisualizedArgTracks(trace, key); + extensions.addVisualizedArgTracks(trace, arg.flatKey); }, }), ]; diff --git a/ui/src/components/sql_utils/args.ts b/ui/src/components/sql_utils/args.ts index f36099aec3a..99256c68f74 100644 --- a/ui/src/components/sql_utils/args.ts +++ b/ui/src/components/sql_utils/args.ts @@ -13,28 +13,58 @@ // limitations under the License. import {Engine} from '../../trace_processor/engine'; -import {STR_NULL} from '../../trace_processor/query_result'; -import {ArgSetId} from './core_types'; +import { + LONG_NULL, + NUM, + NUM_NULL, + STR, + STR_NULL, +} from '../../trace_processor/query_result'; +import {ArgSetId, ArgsId, asArgId} from './core_types'; -export type ArgValue = string | number | boolean | null; -export type Args = ArgValue | Args[] | ArgsDict; -export type ArgsDict = {[key: string]: Args}; +export interface Arg { + id: ArgsId; + flatKey: string; + key: string; + displayValue: string; +} export async function getArgs( engine: Engine, argSetId: ArgSetId, -): Promise { +): Promise { const query = await engine.query(` - SELECT __intrinsic_arg_set_to_json(${argSetId}) as args_json - `); + SELECT + id, + flat_key as flatKey, + key, + int_value as intValue, + string_value as stringValue, + real_value as realValue, + value_type as valueType, + display_value as displayValue + FROM args + WHERE arg_set_id = ${argSetId} + ORDER BY id`); const it = query.iter({ - args_json: STR_NULL, + id: NUM, + flatKey: STR, + key: STR, + intValue: LONG_NULL, + stringValue: STR_NULL, + realValue: NUM_NULL, + valueType: STR, + displayValue: STR_NULL, }); - if (!it.valid() || it.args_json === null) { - return {}; + const result: Arg[] = []; + for (; it.valid(); it.next()) { + result.push({ + id: asArgId(it.id), + flatKey: it.flatKey, + key: it.key, + displayValue: it.displayValue ?? 'NULL', + }); } - - const argsDict = JSON.parse(it.args_json); - return argsDict; + return result; } diff --git a/ui/src/components/sql_utils/slice.ts b/ui/src/components/sql_utils/slice.ts index 6ebd52fc9fd..ef59ea94031 100644 --- a/ui/src/components/sql_utils/slice.ts +++ b/ui/src/components/sql_utils/slice.ts @@ -36,7 +36,7 @@ import { Upid, Utid, } from './core_types'; -import {ArgsDict, getArgs} from './args'; +import {Arg, getArgs} from './args'; import {getThreadInfo, ThreadInfo} from './thread'; import {getProcessInfo, ProcessInfo} from './process'; @@ -55,7 +55,7 @@ export interface SliceDetails { threadTs?: time; threadDur?: duration; category?: string; - args?: ArgsDict; + args?: Arg[]; } async function getUtidAndUpid( diff --git a/ui/src/components/tracks/debug_slice_track_details_panel.ts b/ui/src/components/tracks/debug_slice_track_details_panel.ts index 6509f6f22fe..596947f960f 100644 --- a/ui/src/components/tracks/debug_slice_track_details_panel.ts +++ b/ui/src/components/tracks/debug_slice_track_details_panel.ts @@ -39,7 +39,7 @@ import {TrackEventDetailsPanel} from '../../public/details_panel'; import {Trace} from '../../public/trace'; import {SqlRef} from '../../widgets/sql_ref'; import {renderSliceArguments} from '../details/slice_args'; -import {ArgsDict, getArgs} from '../sql_utils/args'; +import {Arg, getArgs} from '../sql_utils/args'; export const RAW_PREFIX = 'raw_'; @@ -67,7 +67,7 @@ export class DebugSliceTrackDetailsPanel implements TrackEventDetailsPanel { // These are the actual loaded args from the args table assuming an arg_set_id // is supplied. - private args?: ArgsDict; + private args?: Arg[]; // We will try to interpret the arguments as references into well-known // tables. These values will be set if the relevant columns exist and @@ -260,7 +260,7 @@ export class DebugSliceTrackDetailsPanel implements TrackEventDetailsPanel { ]); } - private renderArgsSection(args: ArgsDict) { + private renderArgsSection(args: Arg[]) { return m(Section, {title: 'Arguments'}, [ m(Tree, renderArguments(this.trace, args)), ]); diff --git a/ui/src/components/widgets/sql/details/details.ts b/ui/src/components/widgets/sql/details/details.ts index 04fb968b419..fc2381c0b7d 100644 --- a/ui/src/components/widgets/sql/details/details.ts +++ b/ui/src/components/widgets/sql/details/details.ts @@ -20,7 +20,7 @@ import {raf} from '../../../../core/raf_scheduler'; import {Engine} from '../../../../trace_processor/engine'; import {Row, SqlValue} from '../../../../trace_processor/query_result'; import {sqlValueToReadableString} from '../../../../trace_processor/sql_utils'; -import {ArgsDict, getArgs} from '../../../sql_utils/args'; +import {Arg, getArgs} from '../../../sql_utils/args'; import {asArgSetId} from '../../../sql_utils/core_types'; import {Anchor} from '../../../../widgets/anchor'; import {renderError} from '../../../../widgets/error'; @@ -432,7 +432,7 @@ interface Data { // Source statements for the arg sets. argSetExpressions: string[]; // Fetched arg sets. - argSets: (ArgsDict | Err)[]; + argSets: (Arg[] | Err)[]; // Source statements for the SQL references. sqlIdRefs: {tableName: string; idExpression: string}[]; @@ -508,7 +508,7 @@ class DataController { for (const argSetIndex of this.argSets) { const argSetId = data.values[argSetIndex]; if (argSetId === null) { - data.argSets.push({}); + data.argSets.push([]); } else if (typeof argSetId !== 'number' && typeof argSetId !== 'bigint') { data.argSets.push( new Err( diff --git a/ui/src/plugins/dev.perfetto.Ftrace/ftrace_details_panel.ts b/ui/src/plugins/dev.perfetto.Ftrace/ftrace_details_panel.ts index 5b271aa97f7..356e47bd5d3 100644 --- a/ui/src/plugins/dev.perfetto.Ftrace/ftrace_details_panel.ts +++ b/ui/src/plugins/dev.perfetto.Ftrace/ftrace_details_panel.ts @@ -15,19 +15,25 @@ import m from 'mithril'; import {Time} from '../../base/time'; import {renderArguments} from '../../components/details/args'; -import {ArgsDict, getArgs} from '../../components/sql_utils/args'; -import {asArgSetId} from '../../components/sql_utils/core_types'; +import {Arg} from '../../components/sql_utils/args'; +import {asArgId} from '../../components/sql_utils/core_types'; import {Timestamp} from '../../components/widgets/timestamp'; import {TrackEventDetailsPanel} from '../../public/details_panel'; import {Trace} from '../../public/trace'; -import {NUM_NULL} from '../../trace_processor/query_result'; +import { + LONG_NULL, + NUM, + NUM_NULL, + STR, + STR_NULL, +} from '../../trace_processor/query_result'; import {DetailsShell} from '../../widgets/details_shell'; import {GridLayout, GridLayoutColumn} from '../../widgets/grid_layout'; import {Section} from '../../widgets/section'; import {Tree, TreeNode} from '../../widgets/tree'; export class FtraceEventDetailsPanel implements TrackEventDetailsPanel { - private args?: ArgsDict; + private args?: ReadonlyArray; constructor( readonly trace: Trace, @@ -95,17 +101,40 @@ export class FtraceEventDetailsPanel implements TrackEventDetailsPanel { private async loadArgs() { const queryRes = await this.trace.engine.query(` - SELECT arg_set_id + SELECT + args.id as id, + flat_key as flatKey, + key, + int_value as intValue, + string_value as stringValue, + real_value as realValue, + value_type as valueType, + display_value as displayValue FROM ftrace_event + JOIN args USING(arg_set_id) WHERE ftrace_event.id = ${this.row.id} `); const it = queryRes.iter({ - arg_set_id: NUM_NULL, + id: NUM, + flatKey: STR, + key: STR, + intValue: LONG_NULL, + stringValue: STR_NULL, + realValue: NUM_NULL, + valueType: STR, + displayValue: STR_NULL, }); - if (it.valid() && it.arg_set_id !== null) { - this.args = await getArgs(this.trace.engine, asArgSetId(it.arg_set_id)); + const args: Arg[] = []; + for (; it.valid(); it.next()) { + args.push({ + id: asArgId(it.id), + flatKey: it.flatKey, + key: it.key, + displayValue: it.displayValue ?? 'NULL', + }); } + this.args = args; } } diff --git a/ui/src/plugins/dev.perfetto.Screenshots/screenshot_panel.ts b/ui/src/plugins/dev.perfetto.Screenshots/screenshot_panel.ts index c66dcaf956f..97bbba7d979 100644 --- a/ui/src/plugins/dev.perfetto.Screenshots/screenshot_panel.ts +++ b/ui/src/plugins/dev.perfetto.Screenshots/screenshot_panel.ts @@ -13,37 +13,39 @@ // limitations under the License. import m from 'mithril'; +import {assertTrue} from '../../base/logging'; import {exists} from '../../base/utils'; +import {getSlice, SliceDetails} from '../../components/sql_utils/slice'; +import {asSliceSqlId} from '../../components/sql_utils/core_types'; import {Engine} from '../../trace_processor/engine'; import {TrackEventDetailsPanel} from '../../public/details_panel'; import {TrackEventSelection} from '../../public/selection'; -import {STR} from '../../trace_processor/query_result'; export class ScreenshotDetailsPanel implements TrackEventDetailsPanel { - private imageData?: string; + private sliceDetails?: SliceDetails; constructor(private readonly engine: Engine) {} async load(selection: TrackEventSelection) { - this.imageData = ( - await this.engine.query(` - select extract_arg(arg_set_id, 'screenshot.jpg_image') as image_data - from slice - where id = ${selection.eventId} - `) - ).firstRow({ - image_data: STR, - }).image_data; + this.sliceDetails = await getSlice( + this.engine, + asSliceSqlId(selection.eventId), + ); } render() { - if (!exists(this.imageData)) { + if ( + !exists(this.sliceDetails) || + !exists(this.sliceDetails.args) || + this.sliceDetails.args.length == 0 + ) { return m('h2', 'Loading Screenshot'); } + assertTrue(this.sliceDetails.args[0].key == 'screenshot.jpg_image'); return m( '.pf-screenshot-panel', m('img', { - src: 'data:image/png;base64, ' + this.imageData, + src: 'data:image/png;base64, ' + this.sliceDetails.args[0].displayValue, }), ); } diff --git a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/counter_details_panel.ts b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/counter_details_panel.ts index 5f93765a804..7c569a87f58 100644 --- a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/counter_details_panel.ts +++ b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/counter_details_panel.ts @@ -32,7 +32,7 @@ import {DurationWidget} from '../../components/widgets/duration'; import {TrackEventSelection} from '../../public/selection'; import {hasArgs, renderArguments} from '../../components/details/args'; import {asArgSetId} from '../../components/sql_utils/core_types'; -import {ArgsDict, getArgs} from '../../components/sql_utils/args'; +import {Arg, getArgs} from '../../components/sql_utils/args'; interface CounterDetails { // The "left" timestamp of the counter sample T(N) @@ -47,7 +47,7 @@ interface CounterDetails { // The delta between this sample's value and the previous one F(N) - F(N-1) delta: number; - args?: ArgsDict; + args?: Arg[]; } export class CounterDetailsPanel implements TrackEventDetailsPanel { From 7b34af94e5f703d45c6a5ca0f257e29348d9755c Mon Sep 17 00:00:00 2001 From: Priyanka <57577698+PriyankaSPX@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:29:30 +0100 Subject: [PATCH 087/370] tp: fallback to task window container if fragment unavailable (#3296) Bug: 438681230 Test: tools/ninja -C out/linux_clang_debug perfetto_unittests && out/linux_clang_debug/perfetto_unittests --gtest_filter=WindowManager* Test: tools/diff_test_trace_processor.py out/linux_clang_debug/trace_processor_shell --name-filter="PerfettoTable:winscope|WindowManager" --- ...windowmanager_hierarchy_walker_unittest.cc | 16 +++++++++++++ .../test/windowmanager_sample_protos.h | 18 +++++++++++++++ .../windowmanager_hierarchy_walker.cc | 23 +++++++++++++++---- 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/trace_processor/importers/proto/winscope/test/windowmanager_hierarchy_walker_unittest.cc b/src/trace_processor/importers/proto/winscope/test/windowmanager_hierarchy_walker_unittest.cc index 3f65b725b20..682cef465cf 100644 --- a/src/trace_processor/importers/proto/winscope/test/windowmanager_hierarchy_walker_unittest.cc +++ b/src/trace_processor/importers/proto/winscope/test/windowmanager_hierarchy_walker_unittest.cc @@ -368,6 +368,22 @@ TEST_F(WindowManagerHierarchyWalkerTest, TaskNameOverride) { }); } +TEST_F(WindowManagerHierarchyWalkerTest, TaskWindowContainerFallback) { + auto containers = walker_.ExtractWindowContainers( + protos::pbzero::WindowManagerTraceEntry::Decoder( + WindowManagerSampleProtos::HierarchyWithTaskContainerFallback())); + + CheckWindowContainers( + containers, + { + {"root", 1, std::nullopt, std::nullopt, false, std::nullopt, + "RootWindowContainer", std::nullopt}, + {"child - Task", 2, 1, 0, false, std::nullopt, "Task", std::nullopt}, + {"grandchild - WindowContainer", 3, 2, 0, false, std::nullopt, + "WindowContainer", std::nullopt}, + }); +} + TEST_F(WindowManagerHierarchyWalkerTest, WindowStateNameOverrides) { auto containers = walker_.ExtractWindowContainers( protos::pbzero::WindowManagerTraceEntry::Decoder( diff --git a/src/trace_processor/importers/proto/winscope/test/windowmanager_sample_protos.h b/src/trace_processor/importers/proto/winscope/test/windowmanager_sample_protos.h index c0846ad1a6f..72a477fd52e 100644 --- a/src/trace_processor/importers/proto/winscope/test/windowmanager_sample_protos.h +++ b/src/trace_processor/importers/proto/winscope/test/windowmanager_sample_protos.h @@ -174,6 +174,24 @@ class WindowManagerSampleProtos { return entry.SerializeAsString(); } + static std::string HierarchyWithTaskContainerFallback() { + protozero::HeapBuffered entry; + + auto* root = AddRoot(&entry); + + auto* task = root->add_children()->set_task(); + auto* task_fragment = task->set_task_fragment(); + auto* window_container = task_fragment->set_window_container(); + auto* identifier = window_container->set_identifier(); + identifier->set_hash_code(2); + identifier->set_title("child - Task"); + + auto* task_window_container = task->set_window_container(); + AddGrandchild(task_window_container); + + return entry.SerializeAsString(); + } + static std::string HierarchyWithActivityRecord() { protozero::HeapBuffered entry; diff --git a/src/trace_processor/importers/proto/winscope/windowmanager_hierarchy_walker.cc b/src/trace_processor/importers/proto/winscope/windowmanager_hierarchy_walker.cc index b06eb83ea7d..2aae46af5a7 100644 --- a/src/trace_processor/importers/proto/winscope/windowmanager_hierarchy_walker.cc +++ b/src/trace_processor/importers/proto/winscope/windowmanager_hierarchy_walker.cc @@ -247,10 +247,19 @@ base::Status WindowManagerHierarchyWalker::ParseTaskProto( uint32_t child_index, std::vector* result) { protos::pbzero::TaskProto::Decoder task(child.task()); + protos::pbzero::WindowContainerProto::Decoder task_window_container( + task.window_container()); + protos::pbzero::TaskFragmentProto::Decoder task_fragment( task.task_fragment()); - protos::pbzero::WindowContainerProto::Decoder window_container( + protos::pbzero::WindowContainerProto::Decoder task_fragment_window_container( task_fragment.window_container()); + + protos::pbzero::WindowContainerProto::Decoder& window_container = + task.has_task_fragment() && task_fragment.has_window_container() + ? task_fragment_window_container + : task_window_container; + protos::pbzero::IdentifierProto::Decoder identifier( window_container.identifier()); @@ -263,7 +272,7 @@ base::Status WindowManagerHierarchyWalker::ParseTaskProto( std::optional name_override; if (task.has_id()) { std::string name = std::to_string(task.id()); - if (task.has_task_name()) { + if (task.has_task_name() && task.task_name().size > 0) { name += "(" + task.task_name().ToStdString() + ")"; } name_override = pool_->InternString(base::StringView(name)); @@ -274,8 +283,14 @@ base::Status WindowManagerHierarchyWalker::ParseTaskProto( window_container.visible(), std::nullopt, name_override, std::move(pruned_proto), kTaskId}); - return ParseWindowContainerChildren(window_container, tokenAndTitle->token, - result); + protos::pbzero::WindowContainerProto::Decoder& + window_container_with_children = + task_fragment_window_container.has_children() + ? task_fragment_window_container + : task_window_container; + + return ParseWindowContainerChildren(window_container_with_children, + tokenAndTitle->token, result); } base::Status WindowManagerHierarchyWalker::ParseActivityRecordProto( From b4e0876f203a98e9a0ef2d76fe2346b831a3faee Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 15 Oct 2025 23:28:44 +0900 Subject: [PATCH 088/370] tp: add changelog entry calling out arg_set_id addition to thread (#3291) This can cause breakages so it's important we call this out. --- CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 4e19d04786a..fb39cca4403 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,11 @@ Unreleased: * Added support for parsing process_sort_index and thread_sort_index metadata from JSON traces. These are stored as process_sort_index_hint and thread_sort_index_hint in the args table for processes and threads. + * Added an `arg_set_id` column to the thread table. Queries joining + `thread` with other tables now need to disambiguate the column or they + may fail with "ambiguous column name: arg_set_id". Qualify the column + with the table name (e.g. `slice.arg_set_id` or `counter.arg_set_id`) to + resolve this. UI: * Perf sample callstack tracks: if a trace contains multiple callstack data sources, the thread and process level callstack tracks can now be From 70984b26b8ca417e2c4b7b255e2edd9a08137792 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 15 Oct 2025 23:39:13 +0900 Subject: [PATCH 089/370] tp: fix crash when writing args (#3292) If the string is null, we should treat it like json null Fixes: https://github.com/google/perfetto/issues/3287 --- .../perfetto_sql/intrinsics/functions/args.cc | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/args.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/args.cc index d416444314a..ce305130c71 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/args.cc +++ b/src/trace_processor/perfetto_sql/intrinsics/functions/args.cc @@ -15,6 +15,7 @@ #include "src/trace_processor/perfetto_sql/intrinsics/functions/args.h" #include "perfetto/ext/base/string_utils.h" +#include "src/trace_processor/containers/null_term_string_view.h" #include "src/trace_processor/sqlite/bindings/sqlite_result.h" #include "src/trace_processor/sqlite/bindings/sqlite_type.h" #include "src/trace_processor/util/args_utils.h" @@ -42,18 +43,30 @@ void WriteVariadic(const Variadic& v, case Variadic::Type::kReal: std::move(writer).WriteDouble(v.real_value); break; - case Variadic::Type::kString: - std::move(writer).WriteString(storage->GetString(v.string_value).c_str()); + case Variadic::Type::kString: { + if (v.string_value.is_null()) { + std::move(writer).WriteNull(); + break; + } + NullTermStringView str = storage->GetString(v.string_value); + std::move(writer).WriteString(str.c_str()); break; + } case Variadic::Type::kPointer: { std::move(writer).WriteString(base::Uint64ToHexString(v.pointer_value)); break; } - case Variadic::Type::kJson: + case Variadic::Type::kJson: { // For JSON values, we need to parse and reconstruct them properly // For now, just treat as string - std::move(writer).WriteString(storage->GetString(v.json_value).c_str()); + if (v.json_value.is_null()) { + std::move(writer).WriteNull(); + break; + } + NullTermStringView str = storage->GetString(v.json_value); + std::move(writer).WriteString(str.c_str()); break; + } } } @@ -150,9 +163,15 @@ void ExtractArg::Step(sqlite3_context* ctx, int, sqlite3_value** argv) { case Variadic::Type::kPointer: return sqlite::result::Long(ctx, *rr.int_value()); case Variadic::Type::kJson: - case Variadic::Type::kString: - return sqlite::result::StaticString( - ctx, storage->GetString(rr.string_value()).c_str()); + case Variadic::Type::kString: { + auto opt_string_id = rr.string_value(); + if (!opt_string_id.has_value() || opt_string_id->is_null()) { + sqlite::result::Null(ctx); + return; + } + NullTermStringView value = storage->GetString(*opt_string_id); + return sqlite::result::StaticString(ctx, value.c_str()); + } case Variadic::Type::kReal: return sqlite::result::Double(ctx, *rr.real_value()); case Variadic::Type::kNull: From 23fbfb226848de30f0458f2d35d7773dc5841028 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:18:59 +0100 Subject: [PATCH 090/370] exp: Remove sourceCols from QueryNode (#3297) A cleanup of query nodes - we don't need to maintain a list of source columns, as we can just ask the parent for its list of the final columns --- .../json_handler_unittest.ts | 11 ++-- .../query_builder/nodes/aggregation_node.ts | 32 +++++++--- .../query_builder/nodes/dev/test_node.ts | 15 +++-- .../nodes/interval_intersect_node.ts | 6 +- .../nodes/modify_columns_node.ts | 64 +++++++++++++------ .../nodes/sources/slices_source.ts | 18 +++--- .../query_builder/nodes/sources/sql_source.ts | 18 +++--- .../nodes/sources/table_source.ts | 27 ++++---- .../query_builder/source_node.ts | 18 +----- .../dev.perfetto.ExplorePage/query_node.ts | 15 +++-- 10 files changed, 123 insertions(+), 101 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts index c8db1edf618..37ef2836867 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts @@ -29,7 +29,6 @@ import { import {AddColumnsNode} from './query_builder/nodes/dev/add_columns_node'; import {LimitAndOffsetNode} from './query_builder/nodes/dev/limit_and_offset_node'; import {SortNode} from './query_builder/nodes/dev/sort_node'; -import {columnInfoFromName} from './query_builder/column_info'; describe('JSON serialization/deserialization', () => { let trace: Trace; @@ -96,8 +95,10 @@ describe('JSON serialization/deserialization', () => { const deserializedState = deserializeState(json, trace, sqlModules); expect(deserializedState.rootNodes.length).toBe(1); - const deserializedNode = deserializedState.rootNodes[0] as SlicesSourceNode; - expect(deserializedNode.state.slice_name).toBe('test_slice'); + const deserializedNode = deserializedState.rootNodes[0]; + expect((deserializedNode as SlicesSourceNode).state.slice_name).toBe( + 'test_slice', + ); expect(deserializedNode.prevNodes).toEqual([]); }); @@ -665,10 +666,6 @@ describe('JSON serialization/deserialization', () => { trace, sqlModules, }); - tableNode.finalCols = [ - columnInfoFromName('name'), - columnInfoFromName('ts'), - ]; const sortNode = new SortNode({ prevNodes: [tableNode], diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 03ed18aedf9..8362dc186a3 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -19,6 +19,7 @@ import { nextNodeId, NodeType, createSelectColumnsProto, + notifyNextNodes, } from '../../query_node'; import protos from '../../../../protos'; import { @@ -70,12 +71,6 @@ export class AggregationNode implements QueryNode { readonly state: AggregationNodeState; meterialisedAs?: string; - get sourceCols() { - return ( - this.prevNodes?.[0]?.finalCols ?? this.prevNodes?.[0]?.sourceCols ?? [] - ); - } - get finalCols(): ColumnInfo[] { const selected = this.state.groupByColumns.filter((c) => c.checked); for (const agg of this.state.aggregations) { @@ -96,12 +91,27 @@ export class AggregationNode implements QueryNode { this.prevNodes = state.prevNodes; this.nextNodes = []; if (this.state.groupByColumns.length === 0) { - this.state.groupByColumns = newColumnInfoList(this.sourceCols, false); + this.state.groupByColumns = newColumnInfoList( + this.prevNodes?.[0]?.finalCols ?? [], + false, + ); } + const userOnChange = this.state.onchange; + this.state.onchange = () => { + notifyNextNodes(this); + userOnChange?.(); + }; + } + + onPrevNodesUpdated() { + this.updateGroupByColumns(); } updateGroupByColumns() { - const newGroupByColumns = newColumnInfoList(this.sourceCols, false); + const newGroupByColumns = newColumnInfoList( + this.prevNodes?.[0]?.finalCols ?? [], + false, + ); for (const oldCol of this.state.groupByColumns) { if (oldCol.checked) { const newCol = newGroupByColumns.find((c) => c.name === oldCol.name); @@ -133,7 +143,9 @@ export class AggregationNode implements QueryNode { this.state.issues.queryError = new Error('Previous node is invalid'); return false; } - const sourceColNames = new Set(this.sourceCols.map((c) => c.name)); + const sourceColNames = new Set( + (this.prevNodes?.[0]?.finalCols ?? []).map((c) => c.name), + ); const missingCols: string[] = []; for (const col of this.state.groupByColumns) { if (col.checked && !sourceColNames.has(col.name)) { @@ -269,7 +281,7 @@ export class AggregationNode implements QueryNode { } resolveColumns() { - const sourceCols = this.sourceCols; + const sourceCols = this.prevNodes?.[0]?.finalCols ?? []; this.state.groupByColumns.forEach((c) => { const sourceCol = sourceCols.find((s) => s.name === c.name); if (sourceCol) { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts index ac37f101a6c..6726ba27b26 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/test_node.ts @@ -13,20 +13,25 @@ // limitations under the License. import m from 'mithril'; -import {QueryNode, QueryNodeState, NodeType} from '../../../query_node'; +import { + QueryNode, + QueryNodeState, + NodeType, + createFinalColumns, +} from '../../../query_node'; import {ColumnInfo} from '../../column_info'; import protos from '../../../../../protos'; import {SourceNode} from '../../source_node'; export class TestNode extends SourceNode { isDevNode = true; - - get sourceCols(): ColumnInfo[] { - return []; - } + readonly finalCols: ColumnInfo[]; + nextNodes: QueryNode[]; constructor(state: QueryNodeState) { super(state); + this.finalCols = createFinalColumns([]); + this.nextNodes = []; } get type(): NodeType { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts index dff409d7a96..6cff79d246e 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts @@ -49,12 +49,8 @@ export class IntervalIntersectNode implements QueryNode { readonly state: IntervalIntersectNodeState; meterialisedAs?: string; - get sourceCols(): ColumnInfo[] { - return this.prevNodes[0]?.finalCols ?? this.prevNodes[0]?.sourceCols ?? []; - } - get finalCols(): ColumnInfo[] { - return newColumnInfoList(this.sourceCols, true); + return newColumnInfoList(this.prevNodes[0]?.finalCols ?? [], true); } constructor(state: IntervalIntersectNodeState) { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 13dca53530a..2492316e71b 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -18,6 +18,7 @@ import { QueryNodeState, nextNodeId, NodeType, + notifyNextNodes, } from '../../query_node'; import {Button, ButtonVariant} from '../../../../widgets/button'; import {Card, CardStack} from '../../../../widgets/card'; @@ -61,7 +62,6 @@ export class ModifyColumnsNode implements QueryNode { readonly type = NodeType.kModifyColumns; prevNodes: QueryNode[] | undefined; nextNodes: QueryNode[]; - sourceCols: ColumnInfo[]; readonly state: ModifyColumnsState; constructor(state: ModifyColumnsState) { @@ -75,22 +75,56 @@ export class ModifyColumnsNode implements QueryNode { selectedColumns: state.selectedColumns ?? [], }; - // This node assumes it has only one previous node. - this.sourceCols = - this.prevNodes.length > 0 ? this.prevNodes[0].finalCols : []; - if (this.state.selectedColumns.length === 0) { - this.state.selectedColumns = newColumnInfoList(this.sourceCols); + this.state.selectedColumns = newColumnInfoList( + this.prevNodes !== undefined && this.prevNodes.length > 0 + ? this.prevNodes[0].finalCols + : [], + ); } + + const userOnChange = this.state.onchange; + this.state.onchange = () => { + notifyNextNodes(this); + userOnChange?.(); + }; + } + + get finalCols(): ColumnInfo[] { + return this.computeFinalCols(); + } + + private computeFinalCols(): ColumnInfo[] { + const finalCols = newColumnInfoList( + this.state.selectedColumns.filter((col) => col.checked), + ); + this.state.newColumns + .filter((c) => this.isNewColumnValid(c)) + .forEach((col) => { + finalCols.push(columnInfoFromName(col.name, true)); + }); + return finalCols; } onPrevNodesUpdated() { // This node assumes it has only one previous node. - this.sourceCols = + const sourceCols = this.state.prevNodes.length > 0 ? this.state.prevNodes[0].finalCols : []; - if (this.state.selectedColumns.length === 0 && this.sourceCols.length > 0) { - this.state.selectedColumns = newColumnInfoList(this.sourceCols); + + const newSelectedColumns = newColumnInfoList(sourceCols); + + // Preserve checked status and aliases for columns that still exist. + for (const oldCol of this.state.selectedColumns) { + const newCol = newSelectedColumns.find( + (c) => c.column.name === oldCol.column.name, + ); + if (newCol) { + newCol.checked = oldCol.checked; + newCol.alias = oldCol.alias; + } } + + this.state.selectedColumns = newSelectedColumns; } static deserializeState( @@ -104,18 +138,6 @@ export class ModifyColumnsNode implements QueryNode { }; } - get finalCols(): ColumnInfo[] { - const finalCols = newColumnInfoList( - this.state.selectedColumns.filter((col) => col.checked), - ); - this.state.newColumns - .filter((c) => this.isNewColumnValid(c)) - .forEach((col) => { - finalCols.push(columnInfoFromName(col.name, true)); - }); - return finalCols; - } - validate(): boolean { const colNames = new Set(); for (const col of this.state.selectedColumns) { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts index b3678522a24..c20f0689bdf 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/slices_source.ts @@ -18,6 +18,7 @@ import { QueryNode, QueryNodeState, NodeType, + createFinalColumns, } from '../../../query_node'; import {ColumnInfo, columnInfoFromSqlColumn} from '../../column_info'; import protos from '../../../../../protos'; @@ -48,16 +49,18 @@ export interface SlicesSourceState extends QueryNodeState { export class SlicesSourceNode extends SourceNode { readonly state: SlicesSourceState; - - get sourceCols() { - return slicesSourceNodeColumns(true); - } + readonly finalCols: ColumnInfo[]; + nextNodes: QueryNode[]; + meterialisedAs?: string; + prevNodes: QueryNode[] = []; constructor(attrs: SlicesSourceState) { super(attrs); this.state = attrs; this.state.onchange = attrs.onchange; + this.finalCols = createFinalColumns(slicesSourceNodeColumns(true)); this.nextNodes = []; + this.prevNodes = []; } get type() { @@ -110,10 +113,7 @@ export class SlicesSourceNode extends SourceNode { sq.simpleSlices = ss; - const filtersProto = createFiltersProto( - this.state.filters, - this.sourceCols, - ); + const filtersProto = createFiltersProto(this.state.filters, this.finalCols); if (filtersProto) sq.filters = filtersProto; const selectedColumns = createSelectColumnsProto(this); @@ -215,7 +215,7 @@ export class SlicesSourceNode extends SourceNode { ), m(FilterOperation, { filters: this.state.filters, - sourceCols: this.sourceCols, + sourceCols: this.finalCols, onFiltersChanged: (newFilters: ReadonlyArray) => { this.state.filters = newFilters as FilterDefinition[]; this.state.onchange?.(); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts index f010514c1c7..2ee7597f5e0 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts @@ -18,6 +18,7 @@ import { QueryNode, QueryNodeState, NodeType, + createFinalColumns, } from '../../../query_node'; import {columnInfoFromName} from '../../column_info'; import protos from '../../../../../protos'; @@ -43,17 +44,19 @@ export interface SqlSourceSerializedState { export interface SqlSourceState extends QueryNodeState { sql?: string; trace: Trace; - sourceCols?: ColumnInfo[]; } export class SqlSourceNode extends SourceNode { readonly state: SqlSourceState; prevNodes: QueryNode[] = []; + finalCols: ColumnInfo[]; + nextNodes: QueryNode[]; + meterialisedAs?: string; constructor(attrs: SqlSourceState) { super(attrs); this.state = attrs; - this.state.sourceCols = []; + this.finalCols = createFinalColumns([]); this.nextNodes = []; } @@ -61,13 +64,10 @@ export class SqlSourceNode extends SourceNode { return NodeType.kSqlSource; } - get sourceCols() { - return this.state.sourceCols ?? []; - } - setSourceColumns(columns: string[]) { - this.state.sourceCols = columns.map((c) => columnInfoFromName(c)); - this.finalCols = this.sourceCols; + this.finalCols = createFinalColumns( + columns.map((c) => columnInfoFromName(c)), + ); m.redraw(); } @@ -113,7 +113,7 @@ export class SqlSourceNode extends SourceNode { const sqlProto = new protos.PerfettoSqlStructuredQuery.Sql(); if (this.state.sql) sqlProto.sql = this.state.sql; - sqlProto.columnNames = this.sourceCols.map((c) => c.column.name); + sqlProto.columnNames = this.finalCols.map((c) => c.column.name); for (const prevNode of this.prevNodes) { const dependency = new protos.PerfettoSqlStructuredQuery.Sql.Dependency(); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts index 7c9de72ea93..8f88471b7ca 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/table_source.ts @@ -22,6 +22,7 @@ import { createSelectColumnsProto, QueryNodeState, NodeType, + createFinalColumns, } from '../../../query_node'; import {ColumnInfo, columnInfoFromSqlColumn} from '../../column_info'; import protos from '../../../../../protos'; @@ -98,19 +99,20 @@ export class TableSourceNode extends SourceNode { readonly state: TableSourceState; readonly prevNodes: QueryNode[] = []; showColumns: boolean = false; - - get sourceCols() { - return ( - this.state.sqlTable?.columns.map((c) => - columnInfoFromSqlColumn(c, true), - ) ?? [] - ); - } + readonly finalCols: ColumnInfo[]; + nextNodes: QueryNode[]; + meterialisedAs?: string; constructor(attrs: TableSourceState) { super(attrs); this.state = attrs; this.state.onchange = attrs.onchange; + this.finalCols = createFinalColumns( + this.state.sqlTable?.columns.map((c) => + columnInfoFromSqlColumn(c, true), + ) ?? [], + ); + this.nextNodes = []; this.state.filters = attrs.filters ?? []; } @@ -172,7 +174,7 @@ export class TableSourceNode extends SourceNode { ), m(FilterOperation, { filters: this.state.filters, - sourceCols: this.sourceCols, + sourceCols: this.finalCols, onFiltersChanged: (newFilters: ReadonlyArray) => { this.state.filters = newFilters as FilterDefinition[]; this.state.onchange?.(); @@ -205,14 +207,11 @@ export class TableSourceNode extends SourceNode { sq.table.moduleName = this.state.sqlTable.includeKey ? this.state.sqlTable.includeKey : undefined; - sq.table.columnNames = this.sourceCols + sq.table.columnNames = this.finalCols .filter((c) => c.checked) .map((c) => c.column.name); - const filtersProto = createFiltersProto( - this.state.filters, - this.sourceCols, - ); + const filtersProto = createFiltersProto(this.state.filters, this.finalCols); if (filtersProto) sq.filters = filtersProto; const selectedColumns = createSelectColumnsProto(this); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts index 58fc1ae3e93..320a82b6413 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts @@ -13,31 +13,19 @@ // limitations under the License. import m from 'mithril'; -import { - QueryNode, - QueryNodeState, - nextNodeId, - createFinalColumns, - NodeType, -} from '../query_node'; +import {QueryNode, QueryNodeState, NodeType, nextNodeId} from '../query_node'; import {ColumnInfo} from './column_info'; import protos from '../../../protos'; export abstract class SourceNode implements QueryNode { readonly nodeId: string; - prevNodes: QueryNode[] = []; - nextNodes: QueryNode[]; - meterialisedAs?: string; - - abstract readonly sourceCols: ColumnInfo[]; - finalCols: ColumnInfo[]; - readonly state: QueryNodeState; + abstract readonly finalCols: ColumnInfo[]; + nextNodes: QueryNode[]; constructor(state: QueryNodeState) { this.nodeId = nextNodeId(); this.state = state; - this.finalCols = createFinalColumns(this); this.nextNodes = []; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index 3239b9505e4..9986408d561 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -49,7 +49,6 @@ export interface QueryNodeState { prevNodes?: QueryNode[]; customTitle?: string; comment?: string; - sourceCols?: ColumnInfo[]; trace?: Trace; sqlModules?: SqlModules; sqlTable?: SqlTable; @@ -73,9 +72,6 @@ export interface QueryNode { prevNodes?: QueryNode[]; nextNodes: QueryNode[]; - // Columns that are available in the source data. - readonly sourceCols: ColumnInfo[]; - // Columns that are available after applying all operations. readonly finalCols: ColumnInfo[]; @@ -91,6 +87,13 @@ export interface QueryNode { getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined; isMaterialised(): boolean; serializeState(): object; + onPrevNodesUpdated?(): void; +} + +export function notifyNextNodes(node: QueryNode) { + for (const nextNode of node.nextNodes) { + nextNode.onPrevNodesUpdated?.(); + } } export interface Query { @@ -119,8 +122,8 @@ export function createSelectColumnsProto( return selectedColumns; } -export function createFinalColumns(node: QueryNode) { - return newColumnInfoList(node.sourceCols, true); +export function createFinalColumns(sourceCols: ColumnInfo[]) { + return newColumnInfoList(sourceCols, true); } function getStructuredQueries( From ecbe55d83c5d22707795458ca5b9a49ad3975afb Mon Sep 17 00:00:00 2001 From: Runping Lai Date: Wed, 15 Oct 2025 10:24:56 -0700 Subject: [PATCH 091/370] stdlib: Replace magic number 255 with formal function _dsu_dep() (#3276) This code change replaces 255, the magic number representing dsu_cpu_dependency, with a function defined in wattson/utils.sql. Code changes from this moment should start referencing _dsu_dep() instead of calling 255. Bug: 451737922 Test: Perfetto local UI build and test --- .../stdlib/wattson/curves/device_cpu_2d.sql | 302 +++--- .../stdlib/wattson/curves/device_l3.sql | 302 +++--- .../stdlib/wattson/curves/tg5_cpu_2d.sql | 926 +++++++++--------- .../stdlib/wattson/curves/tg5_l3.sql | 926 +++++++++--------- .../stdlib/wattson/curves/utils.sql | 6 +- .../perfetto_sql/stdlib/wattson/utils.sql | 5 + 6 files changed, 1241 insertions(+), 1226 deletions(-) diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_cpu_2d.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_cpu_2d.sql index 2ce315d877c..6bcaa0f2a01 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_cpu_2d.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_cpu_2d.sql @@ -16,6 +16,8 @@ -- are dependent on another CPU policy). See go/wattson for more info. INCLUDE PERFETTO MODULE wattson.curves.tg5_cpu_2d; +INCLUDE PERFETTO MODULE wattson.utils; + CREATE PERFETTO TABLE _device_curves_2d AS WITH data(device, policy, freq_khz, dep_policy, dep_freq, static, active, idle0, idle1) AS ( @@ -393,156 +395,156 @@ WITH ("Tensor", 0, 1803000, 6, 2630000, 35.21, 150.76, 3.42, 0), ("Tensor", 0, 1803000, 6, 2704000, 35.2, 277.28, 3.44, 0), ("Tensor", 0, 1803000, 6, 2802000, 35.12, 269.2, 3.62, 0), - ("Tensor G4", 0, 820000, 255, 610000, 3.3, 47.6, 1.04, 0), - ("Tensor G4", 0, 820000, 255, 820000, 6.77, 65.48, 1.17, 0), - ("Tensor G4", 0, 820000, 255, 970000, 8.61, 78.56, 1.28, 0), - ("Tensor G4", 0, 820000, 255, 1098000, 12.5, 92.7, 1.28, 0), - ("Tensor G4", 0, 820000, 255, 1197000, 15.24, 110.72, 1.46, 0), - ("Tensor G4", 0, 820000, 255, 1328000, 21.73, 134.04, 1.58, 0), - ("Tensor G4", 0, 820000, 255, 1444000, 26.89, 151.02, 1.75, 0), - ("Tensor G4", 0, 820000, 255, 1548000, 31.53, 164.93, 1.8, 0), - ("Tensor G4", 0, 820000, 255, 1704000, 43.86, 157.18, 2.24, 0), - ("Tensor G4", 0, 820000, 255, 1800000, 52.1, 137.62, 2.64, 0), - ("Tensor G4", 0, 820000, 255, 1880000, 59.74, 145.28, 2.44, 0), - ("Tensor G4", 0, 820000, 255, 1950000, 71.34, 156.19, 3.12, 0), - ("Tensor G4", 0, 820000, 255, 2024000, 86.3, 155.05, 3.53, 0), - ("Tensor G4", 0, 820000, 255, 2120000, 112.45, 176.15, 4.74, 0), - ("Tensor G4", 0, 820000, 255, 2150000, 112.1, 155.11, 4.69, 0), - ("Tensor G4", 0, 955000, 255, 610000, 6.18, 56.03, 0.68, 0), - ("Tensor G4", 0, 955000, 255, 820000, 6.39, 74.22, 1.21, 0), - ("Tensor G4", 0, 955000, 255, 970000, 9.18, 82.2, 1.26, 0), - ("Tensor G4", 0, 955000, 255, 1098000, 12.62, 98.11, 1.34, 0), - ("Tensor G4", 0, 955000, 255, 1197000, 15.72, 117.95, 1.41, 0), - ("Tensor G4", 0, 955000, 255, 1328000, 21.94, 141.91, 1.57, 0), - ("Tensor G4", 0, 955000, 255, 1444000, 27.38, 162.99, 1.85, 0), - ("Tensor G4", 0, 955000, 255, 1548000, 31.94, 175.19, 1.72, 0), - ("Tensor G4", 0, 955000, 255, 1704000, 43.84, 130.38, 2.44, 0), - ("Tensor G4", 0, 955000, 255, 1800000, 52.67, 117.99, 2.5, 0), - ("Tensor G4", 0, 955000, 255, 1880000, 59.69, 145.08, 2.91, 0), - ("Tensor G4", 0, 955000, 255, 1950000, 73.33, 141.24, 3.23, 0), - ("Tensor G4", 0, 955000, 255, 2024000, 86.96, 171.19, 3.7, 0), - ("Tensor G4", 0, 955000, 255, 2120000, 112.7, 188.38, 5.0, 0), - ("Tensor G4", 0, 955000, 255, 2150000, 111.86, 179.34, 5.53, 0), - ("Tensor G4", 0, 1098000, 255, 610000, 7.23, 66.6, 1.26, 0), - ("Tensor G4", 0, 1098000, 255, 820000, 8.04, 80.19, 1.21, 0), - ("Tensor G4", 0, 1098000, 255, 970000, 9.56, 90.34, 1.22, 0), - ("Tensor G4", 0, 1098000, 255, 1098000, 12.86, 109.5, 1.33, 0), - ("Tensor G4", 0, 1098000, 255, 1197000, 16.57, 120.41, 1.07, 0), - ("Tensor G4", 0, 1098000, 255, 1328000, 22.15, 145.31, 1.54, 0), - ("Tensor G4", 0, 1098000, 255, 1444000, 27.91, 163.9, 1.68, 0), - ("Tensor G4", 0, 1098000, 255, 1548000, 32.01, 174.89, 1.87, 0), - ("Tensor G4", 0, 1098000, 255, 1704000, 44.5, 139.63, 2.24, 0), - ("Tensor G4", 0, 1098000, 255, 1800000, 53.21, 140.32, 2.52, 0), - ("Tensor G4", 0, 1098000, 255, 1880000, 60.44, 157.97, 2.83, 0), - ("Tensor G4", 0, 1098000, 255, 1950000, 73.65, 169.76, 3.28, 0), - ("Tensor G4", 0, 1098000, 255, 2024000, 87.15, 182.83, 3.98, 0), - ("Tensor G4", 0, 1098000, 255, 2120000, 114.08, 187.49, 4.17, 0), - ("Tensor G4", 0, 1098000, 255, 2150000, 113.79, 189.6, 4.65, 0), - ("Tensor G4", 0, 1197000, 255, 610000, 8.34, 75.11, 1.27, 0), - ("Tensor G4", 0, 1197000, 255, 820000, 9.54, 84.82, 1.14, 0), - ("Tensor G4", 0, 1197000, 255, 970000, 10.37, 89.93, 1.18, 0), - ("Tensor G4", 0, 1197000, 255, 1098000, 12.81, 104.44, 1.37, 0), - ("Tensor G4", 0, 1197000, 255, 1197000, 16.36, 129.81, 1.39, 0), - ("Tensor G4", 0, 1197000, 255, 1328000, 22.4, 145.01, 1.64, 0), - ("Tensor G4", 0, 1197000, 255, 1444000, 28.1, 170.53, 1.61, 0), - ("Tensor G4", 0, 1197000, 255, 1548000, 32.23, 186.28, 1.91, 0), - ("Tensor G4", 0, 1197000, 255, 1704000, 44.93, 156.69, 2.32, 0), - ("Tensor G4", 0, 1197000, 255, 1800000, 53.17, 151.91, 2.43, 0), - ("Tensor G4", 0, 1197000, 255, 1880000, 60.94, 141.69, 2.72, 0), - ("Tensor G4", 0, 1197000, 255, 1950000, 73.72, 189.86, 3.42, 0), - ("Tensor G4", 0, 1197000, 255, 2024000, 87.87, 158.58, 3.7, 0), - ("Tensor G4", 0, 1197000, 255, 2120000, 114.16, 193.12, 4.81, 0), - ("Tensor G4", 0, 1197000, 255, 2150000, 113.59, 191.22, 4.8, 0), - ("Tensor G4", 0, 1328000, 255, 610000, 10.73, 90.03, 1.33, 0), - ("Tensor G4", 0, 1328000, 255, 820000, 11.88, 99.06, 1.31, 0), - ("Tensor G4", 0, 1328000, 255, 970000, 12.77, 106.72, 1.33, 0), - ("Tensor G4", 0, 1328000, 255, 1098000, 13.12, 110.06, 1.39, 0), - ("Tensor G4", 0, 1328000, 255, 1197000, 16.68, 127.98, 1.33, 0), - ("Tensor G4", 0, 1328000, 255, 1328000, 22.66, 154.27, 1.68, 0), - ("Tensor G4", 0, 1328000, 255, 1444000, 28.49, 174.25, 1.72, 0), - ("Tensor G4", 0, 1328000, 255, 1548000, 32.16, 191.25, 1.73, 0), - ("Tensor G4", 0, 1328000, 255, 1704000, 44.27, 129.41, 2.25, 0), - ("Tensor G4", 0, 1328000, 255, 1800000, 53.79, 154.61, 2.51, 0), - ("Tensor G4", 0, 1328000, 255, 1880000, 61.04, 163.47, 2.68, 0), - ("Tensor G4", 0, 1328000, 255, 1950000, 75.05, 189.16, 3.08, 0), - ("Tensor G4", 0, 1328000, 255, 2024000, 89.05, 204.54, 3.43, 0), - ("Tensor G4", 0, 1328000, 255, 2120000, 115.33, 210.24, 4.36, 0), - ("Tensor G4", 0, 1328000, 255, 2150000, 114.98, 206.93, 4.34, 0), - ("Tensor G4", 0, 1425000, 255, 610000, 13.32, 101.33, 1.43, 0), - ("Tensor G4", 0, 1425000, 255, 820000, 14.56, 111.02, 1.46, 0), - ("Tensor G4", 0, 1425000, 255, 970000, 15.11, 121.09, 1.47, 0), - ("Tensor G4", 0, 1425000, 255, 1098000, 16.25, 128.03, 1.41, 0), - ("Tensor G4", 0, 1425000, 255, 1197000, 16.68, 127.43, 1.45, 0), - ("Tensor G4", 0, 1425000, 255, 1328000, 22.57, 156.98, 1.68, 0), - ("Tensor G4", 0, 1425000, 255, 1444000, 28.81, 182.29, 1.72, 0), - ("Tensor G4", 0, 1425000, 255, 1548000, 33.08, 198.0, 1.83, 0), - ("Tensor G4", 0, 1425000, 255, 1704000, 45.21, 162.21, 2.12, 0), - ("Tensor G4", 0, 1425000, 255, 1800000, 54.37, 167.27, 2.5, 0), - ("Tensor G4", 0, 1425000, 255, 1880000, 61.48, 116.14, 2.89, 0), - ("Tensor G4", 0, 1425000, 255, 1950000, 74.85, 180.6, 3.49, 0), - ("Tensor G4", 0, 1425000, 255, 2024000, 89.32, 187.51, 3.6, 0), - ("Tensor G4", 0, 1425000, 255, 2120000, 115.2, 203.97, 4.57, 0), - ("Tensor G4", 0, 1425000, 255, 2150000, 115.53, 210.01, 4.25, 0), - ("Tensor G4", 0, 1548000, 255, 610000, 16.36, 123.83, 1.45, 0), - ("Tensor G4", 0, 1548000, 255, 820000, 17.5, 128.9, 1.62, 0), - ("Tensor G4", 0, 1548000, 255, 970000, 18.34, 139.52, 1.58, 0), - ("Tensor G4", 0, 1548000, 255, 1098000, 19.32, 149.77, 1.53, 0), - ("Tensor G4", 0, 1548000, 255, 1197000, 19.8, 152.01, 1.43, 0), - ("Tensor G4", 0, 1548000, 255, 1328000, 22.59, 159.55, 1.61, 0), - ("Tensor G4", 0, 1548000, 255, 1444000, 28.75, 198.79, 1.86, 0), - ("Tensor G4", 0, 1548000, 255, 1548000, 33.46, 211.95, 1.77, 0), - ("Tensor G4", 0, 1548000, 255, 1704000, 46.36, 169.26, 2.11, 0), - ("Tensor G4", 0, 1548000, 255, 1800000, 54.71, 177.24, 2.42, 0), - ("Tensor G4", 0, 1548000, 255, 1880000, 62.25, 145.44, 2.76, 0), - ("Tensor G4", 0, 1548000, 255, 1950000, 75.84, 191.27, 3.09, 0), - ("Tensor G4", 0, 1548000, 255, 2024000, 88.97, 198.32, 3.86, 0), - ("Tensor G4", 0, 1548000, 255, 2120000, 115.79, 232.48, 4.72, 0), - ("Tensor G4", 0, 1548000, 255, 2150000, 115.31, 222.76, 4.71, 0), - ("Tensor G4", 0, 1696000, 255, 610000, 19.61, 132.84, 1.68, 0), - ("Tensor G4", 0, 1696000, 255, 820000, 21.09, 151.29, 1.59, 0), - ("Tensor G4", 0, 1696000, 255, 970000, 21.92, 157.59, 1.75, 0), - ("Tensor G4", 0, 1696000, 255, 1098000, 22.76, 163.33, 1.59, 0), - ("Tensor G4", 0, 1696000, 255, 1197000, 23.53, 173.96, 1.67, 0), - ("Tensor G4", 0, 1696000, 255, 1328000, 24.28, 184.05, 1.58, 0), - ("Tensor G4", 0, 1696000, 255, 1444000, 29.47, 203.99, 1.77, 0), - ("Tensor G4", 0, 1696000, 255, 1548000, 33.94, 225.78, 1.7, 0), - ("Tensor G4", 0, 1696000, 255, 1704000, 46.92, 171.8, 2.16, 0), - ("Tensor G4", 0, 1696000, 255, 1800000, 55.32, 217.17, 2.38, 0), - ("Tensor G4", 0, 1696000, 255, 1880000, 62.55, 224.61, 2.77, 0), - ("Tensor G4", 0, 1696000, 255, 1950000, 76.98, 204.48, 2.82, 0), - ("Tensor G4", 0, 1696000, 255, 2024000, 90.13, 226.98, 3.76, 0), - ("Tensor G4", 0, 1696000, 255, 2120000, 116.77, 245.48, 4.52, 0), - ("Tensor G4", 0, 1696000, 255, 2150000, 112.69, 222.79, 6.43, 0), - ("Tensor G4", 0, 1849000, 255, 610000, 29.35, 176.28, 1.8, 0), - ("Tensor G4", 0, 1849000, 255, 820000, 30.31, 187.61, 1.94, 0), - ("Tensor G4", 0, 1849000, 255, 970000, 31.7, 202.99, 2.05, 0), - ("Tensor G4", 0, 1849000, 255, 1098000, 32.48, 207.22, 2.01, 0), - ("Tensor G4", 0, 1849000, 255, 1197000, 33.7, 222.81, 1.9, 0), - ("Tensor G4", 0, 1849000, 255, 1328000, 34.79, 229.5, 1.9, 0), - ("Tensor G4", 0, 1849000, 255, 1444000, 35.97, 228.13, 1.91, 0), - ("Tensor G4", 0, 1849000, 255, 1548000, 36.59, 235.62, 2.01, 0), - ("Tensor G4", 0, 1849000, 255, 1704000, 47.47, 233.89, 2.16, 0), - ("Tensor G4", 0, 1849000, 255, 1800000, 55.69, 211.69, 2.53, 0), - ("Tensor G4", 0, 1849000, 255, 1880000, 63.47, 225.85, 2.39, 0), - ("Tensor G4", 0, 1849000, 255, 1950000, 77.22, 209.34, 3.0, 0), - ("Tensor G4", 0, 1849000, 255, 2024000, 90.92, 230.3, 3.48, 0), - ("Tensor G4", 0, 1849000, 255, 2120000, 117.19, 247.78, 4.49, 0), - ("Tensor G4", 0, 1849000, 255, 2150000, 117.53, 239.55, 4.32, 0), - ("Tensor G4", 0, 1950000, 255, 610000, 40.27, 197.26, 2.54, 0), - ("Tensor G4", 0, 1950000, 255, 820000, 41.93, 221.2, 2.67, 0), - ("Tensor G4", 0, 1950000, 255, 970000, 43.45, 239.45, 2.56, 0), - ("Tensor G4", 0, 1950000, 255, 1098000, 44.27, 240.43, 2.64, 0), - ("Tensor G4", 0, 1950000, 255, 1197000, 45.84, 259.94, 2.42, 0), - ("Tensor G4", 0, 1950000, 255, 1328000, 47.03, 273.66, 2.55, 0), - ("Tensor G4", 0, 1950000, 255, 1444000, 48.53, 267.32, 2.32, 0), - ("Tensor G4", 0, 1950000, 255, 1548000, 49.59, 232.85, 2.35, 0), - ("Tensor G4", 0, 1950000, 255, 1704000, 51.2, 234.87, 2.23, 0), - ("Tensor G4", 0, 1950000, 255, 1800000, 55.47, 205.6, 2.67, 0), - ("Tensor G4", 0, 1950000, 255, 1880000, 63.68, 201.13, 2.59, 0), - ("Tensor G4", 0, 1950000, 255, 1950000, 77.22, 201.28, 3.13, 0), - ("Tensor G4", 0, 1950000, 255, 2024000, 90.93, 230.61, 3.81, 0), - ("Tensor G4", 0, 1950000, 255, 2120000, 118.19, 233.8, 4.28, 0), - ("Tensor G4", 0, 1950000, 255, 2150000, 118.61, 240.57, 4.6, 0)) AS _values + ("Tensor G4", 0, 820000, _dsu_dep!(), 610000, 3.3, 47.6, 1.04, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 820000, 6.77, 65.48, 1.17, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 970000, 8.61, 78.56, 1.28, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1098000, 12.5, 92.7, 1.28, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1197000, 15.24, 110.72, 1.46, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1328000, 21.73, 134.04, 1.58, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1444000, 26.89, 151.02, 1.75, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1548000, 31.53, 164.93, 1.8, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1704000, 43.86, 157.18, 2.24, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1800000, 52.1, 137.62, 2.64, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1880000, 59.74, 145.28, 2.44, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 1950000, 71.34, 156.19, 3.12, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 2024000, 86.3, 155.05, 3.53, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 2120000, 112.45, 176.15, 4.74, 0), + ("Tensor G4", 0, 820000, _dsu_dep!(), 2150000, 112.1, 155.11, 4.69, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 610000, 6.18, 56.03, 0.68, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 820000, 6.39, 74.22, 1.21, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 970000, 9.18, 82.2, 1.26, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1098000, 12.62, 98.11, 1.34, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1197000, 15.72, 117.95, 1.41, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1328000, 21.94, 141.91, 1.57, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1444000, 27.38, 162.99, 1.85, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1548000, 31.94, 175.19, 1.72, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1704000, 43.84, 130.38, 2.44, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1800000, 52.67, 117.99, 2.5, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1880000, 59.69, 145.08, 2.91, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 1950000, 73.33, 141.24, 3.23, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 2024000, 86.96, 171.19, 3.7, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 2120000, 112.7, 188.38, 5.0, 0), + ("Tensor G4", 0, 955000, _dsu_dep!(), 2150000, 111.86, 179.34, 5.53, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 610000, 7.23, 66.6, 1.26, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 820000, 8.04, 80.19, 1.21, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 970000, 9.56, 90.34, 1.22, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1098000, 12.86, 109.5, 1.33, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1197000, 16.57, 120.41, 1.07, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1328000, 22.15, 145.31, 1.54, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1444000, 27.91, 163.9, 1.68, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1548000, 32.01, 174.89, 1.87, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1704000, 44.5, 139.63, 2.24, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1800000, 53.21, 140.32, 2.52, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1880000, 60.44, 157.97, 2.83, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 1950000, 73.65, 169.76, 3.28, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 2024000, 87.15, 182.83, 3.98, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 2120000, 114.08, 187.49, 4.17, 0), + ("Tensor G4", 0, 1098000, _dsu_dep!(), 2150000, 113.79, 189.6, 4.65, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 610000, 8.34, 75.11, 1.27, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 820000, 9.54, 84.82, 1.14, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 970000, 10.37, 89.93, 1.18, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1098000, 12.81, 104.44, 1.37, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1197000, 16.36, 129.81, 1.39, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1328000, 22.4, 145.01, 1.64, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1444000, 28.1, 170.53, 1.61, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1548000, 32.23, 186.28, 1.91, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1704000, 44.93, 156.69, 2.32, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1800000, 53.17, 151.91, 2.43, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1880000, 60.94, 141.69, 2.72, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 1950000, 73.72, 189.86, 3.42, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 2024000, 87.87, 158.58, 3.7, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 2120000, 114.16, 193.12, 4.81, 0), + ("Tensor G4", 0, 1197000, _dsu_dep!(), 2150000, 113.59, 191.22, 4.8, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 610000, 10.73, 90.03, 1.33, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 820000, 11.88, 99.06, 1.31, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 970000, 12.77, 106.72, 1.33, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1098000, 13.12, 110.06, 1.39, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1197000, 16.68, 127.98, 1.33, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1328000, 22.66, 154.27, 1.68, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1444000, 28.49, 174.25, 1.72, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1548000, 32.16, 191.25, 1.73, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1704000, 44.27, 129.41, 2.25, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1800000, 53.79, 154.61, 2.51, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1880000, 61.04, 163.47, 2.68, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 1950000, 75.05, 189.16, 3.08, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 2024000, 89.05, 204.54, 3.43, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 2120000, 115.33, 210.24, 4.36, 0), + ("Tensor G4", 0, 1328000, _dsu_dep!(), 2150000, 114.98, 206.93, 4.34, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 610000, 13.32, 101.33, 1.43, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 820000, 14.56, 111.02, 1.46, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 970000, 15.11, 121.09, 1.47, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1098000, 16.25, 128.03, 1.41, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1197000, 16.68, 127.43, 1.45, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1328000, 22.57, 156.98, 1.68, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1444000, 28.81, 182.29, 1.72, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1548000, 33.08, 198.0, 1.83, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1704000, 45.21, 162.21, 2.12, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1800000, 54.37, 167.27, 2.5, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1880000, 61.48, 116.14, 2.89, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 1950000, 74.85, 180.6, 3.49, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 2024000, 89.32, 187.51, 3.6, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 2120000, 115.2, 203.97, 4.57, 0), + ("Tensor G4", 0, 1425000, _dsu_dep!(), 2150000, 115.53, 210.01, 4.25, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 610000, 16.36, 123.83, 1.45, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 820000, 17.5, 128.9, 1.62, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 970000, 18.34, 139.52, 1.58, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1098000, 19.32, 149.77, 1.53, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1197000, 19.8, 152.01, 1.43, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1328000, 22.59, 159.55, 1.61, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1444000, 28.75, 198.79, 1.86, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1548000, 33.46, 211.95, 1.77, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1704000, 46.36, 169.26, 2.11, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1800000, 54.71, 177.24, 2.42, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1880000, 62.25, 145.44, 2.76, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 1950000, 75.84, 191.27, 3.09, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 2024000, 88.97, 198.32, 3.86, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 2120000, 115.79, 232.48, 4.72, 0), + ("Tensor G4", 0, 1548000, _dsu_dep!(), 2150000, 115.31, 222.76, 4.71, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 610000, 19.61, 132.84, 1.68, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 820000, 21.09, 151.29, 1.59, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 970000, 21.92, 157.59, 1.75, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1098000, 22.76, 163.33, 1.59, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1197000, 23.53, 173.96, 1.67, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1328000, 24.28, 184.05, 1.58, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1444000, 29.47, 203.99, 1.77, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1548000, 33.94, 225.78, 1.7, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1704000, 46.92, 171.8, 2.16, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1800000, 55.32, 217.17, 2.38, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1880000, 62.55, 224.61, 2.77, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 1950000, 76.98, 204.48, 2.82, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 2024000, 90.13, 226.98, 3.76, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 2120000, 116.77, 245.48, 4.52, 0), + ("Tensor G4", 0, 1696000, _dsu_dep!(), 2150000, 112.69, 222.79, 6.43, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 610000, 29.35, 176.28, 1.8, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 820000, 30.31, 187.61, 1.94, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 970000, 31.7, 202.99, 2.05, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1098000, 32.48, 207.22, 2.01, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1197000, 33.7, 222.81, 1.9, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1328000, 34.79, 229.5, 1.9, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1444000, 35.97, 228.13, 1.91, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1548000, 36.59, 235.62, 2.01, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1704000, 47.47, 233.89, 2.16, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1800000, 55.69, 211.69, 2.53, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1880000, 63.47, 225.85, 2.39, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 1950000, 77.22, 209.34, 3.0, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 2024000, 90.92, 230.3, 3.48, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 2120000, 117.19, 247.78, 4.49, 0), + ("Tensor G4", 0, 1849000, _dsu_dep!(), 2150000, 117.53, 239.55, 4.32, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 610000, 40.27, 197.26, 2.54, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 820000, 41.93, 221.2, 2.67, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 970000, 43.45, 239.45, 2.56, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1098000, 44.27, 240.43, 2.64, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1197000, 45.84, 259.94, 2.42, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1328000, 47.03, 273.66, 2.55, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1444000, 48.53, 267.32, 2.32, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1548000, 49.59, 232.85, 2.35, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1704000, 51.2, 234.87, 2.23, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1800000, 55.47, 205.6, 2.67, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1880000, 63.68, 201.13, 2.59, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 1950000, 77.22, 201.28, 3.13, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 2024000, 90.93, 230.61, 3.81, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 2120000, 118.19, 233.8, 4.28, 0), + ("Tensor G4", 0, 1950000, _dsu_dep!(), 2150000, 118.61, 240.57, 4.6, 0)) AS _values ) SELECT * diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_l3.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_l3.sql index 8662ed285be..644cc08f977 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_l3.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/device_l3.sql @@ -14,6 +14,8 @@ -- limitations under the License. INCLUDE PERFETTO MODULE wattson.curves.tg5_l3; +INCLUDE PERFETTO MODULE wattson.utils; + CREATE PERFETTO TABLE _device_curves_l3 AS WITH data(device, freq_khz, dep_policy, dep_freq, l3_hit, l3_miss) AS ( @@ -270,156 +272,156 @@ WITH ("Tensor", 1803000, 6, 2630000, 2.7385, 2.3263), ("Tensor", 1803000, 6, 2704000, 2.6901, 1.0629), ("Tensor", 1803000, 6, 2802000, 2.7476, 1.0673), - ("Tensor G4", 820000, 255, 610000, 0.4824, 0.8357), - ("Tensor G4", 955000, 255, 610000, 0.4801, 0.852), - ("Tensor G4", 1098000, 255, 610000, 0.4988, 0.8219), - ("Tensor G4", 1197000, 255, 610000, 0.5025, 0.8369), - ("Tensor G4", 1328000, 255, 610000, 0.516, 0.8928), - ("Tensor G4", 1425000, 255, 610000, 0.5266, 0.8895), - ("Tensor G4", 1548000, 255, 610000, 0.5286, 0.915), - ("Tensor G4", 1696000, 255, 610000, 0.5288, 1.0169), - ("Tensor G4", 1849000, 255, 610000, 0.5326, 1.1313), - ("Tensor G4", 1950000, 255, 610000, 0.5495, 1.1839), - ("Tensor G4", 820000, 255, 820000, 0.4815, 0.8114), - ("Tensor G4", 955000, 255, 820000, 0.5055, 0.9356), - ("Tensor G4", 1098000, 255, 820000, 0.5168, 0.9567), - ("Tensor G4", 1197000, 255, 820000, 0.5228, 0.8653), - ("Tensor G4", 1328000, 255, 820000, 0.5228, 0.8895), - ("Tensor G4", 1425000, 255, 820000, 0.5309, 0.9692), - ("Tensor G4", 1548000, 255, 820000, 0.5461, 0.9987), - ("Tensor G4", 1696000, 255, 820000, 0.564, 1.053), - ("Tensor G4", 1849000, 255, 820000, 0.5649, 0.9087), - ("Tensor G4", 1950000, 255, 820000, 0.5737, 1.0893), - ("Tensor G4", 820000, 255, 970000, 0.4923, 0.852), - ("Tensor G4", 955000, 255, 970000, 0.5014, 0.8357), - ("Tensor G4", 1098000, 255, 970000, 0.4952, 1.0169), - ("Tensor G4", 1197000, 255, 970000, 0.5284, 0.8594), - ("Tensor G4", 1328000, 255, 970000, 0.5332, 0.8521), - ("Tensor G4", 1425000, 255, 970000, 0.5424, 0.8612), - ("Tensor G4", 1548000, 255, 970000, 0.5641, 0.883), - ("Tensor G4", 1696000, 255, 970000, 0.5524, 0.915), - ("Tensor G4", 1849000, 255, 970000, 0.5685, 0.8765), - ("Tensor G4", 1950000, 255, 970000, 0.5527, 0.8164), - ("Tensor G4", 820000, 255, 1098000, 0.5084, 0.947), - ("Tensor G4", 955000, 255, 1098000, 0.5177, 0.8058), - ("Tensor G4", 1098000, 255, 1098000, 0.5284, 0.763), - ("Tensor G4", 1197000, 255, 1098000, 0.596, 0.8633), - ("Tensor G4", 1328000, 255, 1098000, 0.596, 0.8633), - ("Tensor G4", 1425000, 255, 1098000, 0.5373, 0.7504), - ("Tensor G4", 1548000, 255, 1098000, 0.5186, 0.8604), - ("Tensor G4", 1696000, 255, 1098000, 0.5772, 89.73), - ("Tensor G4", 1849000, 255, 1098000, 0.5758, 0.9588), - ("Tensor G4", 1950000, 255, 1098000, 0.5904, 1.1074), - ("Tensor G4", 820000, 255, 1197000, 0.5105, 0.866), - ("Tensor G4", 955000, 255, 1197000, 0.5241, 0.8533), - ("Tensor G4", 1098000, 255, 1197000, 0.5347, 0.8569), - ("Tensor G4", 1197000, 255, 1197000, 0.524, 0.8318), - ("Tensor G4", 1328000, 255, 1197000, 0.5298, 0.8374), - ("Tensor G4", 1425000, 255, 1197000, 0.5201, 0.9479), - ("Tensor G4", 1548000, 255, 1197000, 0.497, 0.9093), - ("Tensor G4", 1696000, 255, 1197000, 0.5007, 0.8765), - ("Tensor G4", 1849000, 255, 1197000, 0.6107, 0.8682), - ("Tensor G4", 1950000, 255, 1197000, 0.5888, 0.9738), - ("Tensor G4", 820000, 255, 1328000, 0.534, 0.9162), - ("Tensor G4", 955000, 255, 1328000, 0.5551, 0.9499), - ("Tensor G4", 1098000, 255, 1328000, 0.556, 0.954), - ("Tensor G4", 1197000, 255, 1328000, 0.5711, 0.9117), - ("Tensor G4", 1328000, 255, 1328000, 0.5372, 0.956), - ("Tensor G4", 1425000, 255, 1328000, 0.5482, 0.934), - ("Tensor G4", 1548000, 255, 1328000, 0.5615, 0.7495), - ("Tensor G4", 1696000, 255, 1328000, 0.53, 0.9145), - ("Tensor G4", 1849000, 255, 1328000, 0.5504, 0.9478), - ("Tensor G4", 1950000, 255, 1328000, 0.6243, 0.9335), - ("Tensor G4", 820000, 255, 1444000, 0.5437, 0.9403), - ("Tensor G4", 955000, 255, 1444000, 0.5635, 0.9997), - ("Tensor G4", 1098000, 255, 1444000, 0.5711, 0.919), - ("Tensor G4", 1197000, 255, 1444000, 0.5595, 0.9455), - ("Tensor G4", 1328000, 255, 1444000, 0.5772, 0.9415), - ("Tensor G4", 1425000, 255, 1444000, 0.5507, 0.9582), - ("Tensor G4", 1548000, 255, 1444000, 0.5535, 0.8986), - ("Tensor G4", 1696000, 255, 1444000, 0.507, 0.9369), - ("Tensor G4", 1849000, 255, 1444000, 0.628, 0.8878), - ("Tensor G4", 1950000, 255, 1444000, 0.658, 1.0974), - ("Tensor G4", 820000, 255, 1548000, 0.578, 0.8322), - ("Tensor G4", 955000, 255, 1548000, 0.603, 0.9371), - ("Tensor G4", 1098000, 255, 1548000, 0.6163, 0.962), - ("Tensor G4", 1197000, 255, 1548000, 0.6105, 0.9323), - ("Tensor G4", 1328000, 255, 1548000, 0.589, 0.8355), - ("Tensor G4", 1425000, 255, 1548000, 0.5924, 0.9416), - ("Tensor G4", 1548000, 255, 1548000, 0.5611, 0.8911), - ("Tensor G4", 1696000, 255, 1548000, 0.5792, 0.905), - ("Tensor G4", 1849000, 255, 1548000, 0.6021, 0.9761), - ("Tensor G4", 1950000, 255, 1548000, 0.6579, 1.0438), - ("Tensor G4", 820000, 255, 1704000, 1.5584, 1.2388), - ("Tensor G4", 955000, 255, 1704000, 1.5287, 1.104), - ("Tensor G4", 1098000, 255, 1704000, 1.6412, 1.2419), - ("Tensor G4", 1197000, 255, 1704000, 1.9947, 1.318), - ("Tensor G4", 1328000, 255, 1704000, 1.6701, 1.178), - ("Tensor G4", 1425000, 255, 1704000, 1.5944, 1.3017), - ("Tensor G4", 1548000, 255, 1704000, 1.6769, 1.6058), - ("Tensor G4", 1696000, 255, 1704000, 1.7215, 1.8), - ("Tensor G4", 1849000, 255, 1704000, 1.9143, 2.0842), - ("Tensor G4", 1950000, 255, 1704000, 1.932, 2.8572), - ("Tensor G4", 820000, 255, 1800000, 1.575, 1.5401), - ("Tensor G4", 955000, 255, 1800000, 1.6833, 1.5087), - ("Tensor G4", 1098000, 255, 1800000, 1.5571, 2.0737), - ("Tensor G4", 1197000, 255, 1800000, 1.6815, 1.8473), - ("Tensor G4", 1328000, 255, 1800000, 1.7828, 1.666), - ("Tensor G4", 1425000, 255, 1800000, 1.8061, 1.8018), - ("Tensor G4", 1548000, 255, 1800000, 1.9956, 1.64), - ("Tensor G4", 1696000, 255, 1800000, 1.8592, 1.701), - ("Tensor G4", 1849000, 255, 1800000, 1.5758, 1.5364), - ("Tensor G4", 1950000, 255, 1800000, 1.9823, 1.7952), - ("Tensor G4", 820000, 255, 1880000, 1.7249, 1.7787), - ("Tensor G4", 955000, 255, 1880000, 1.7635, 2.0677), - ("Tensor G4", 1098000, 255, 1880000, 1.805, 1.5907), - ("Tensor G4", 1197000, 255, 1880000, 1.7293, 2.0645), - ("Tensor G4", 1328000, 255, 1880000, 1.918, 1.9844), - ("Tensor G4", 1425000, 255, 1880000, 2.0013, 1.5541), - ("Tensor G4", 1548000, 255, 1880000, 2.0504, 1.9877), - ("Tensor G4", 1696000, 255, 1880000, 1.9603, 1.8955), - ("Tensor G4", 1849000, 255, 1880000, 2.1168, 1.9674), - ("Tensor G4", 1950000, 255, 1880000, 2.2047, 2.4697), - ("Tensor G4", 820000, 255, 1950000, 1.9756, 1.4938), - ("Tensor G4", 955000, 255, 1950000, 1.90147, 1.8144), - ("Tensor G4", 1098000, 255, 1950000, 2.1539, 2.0811), - ("Tensor G4", 1197000, 255, 1950000, 2.2192, 1.8968), - ("Tensor G4", 1328000, 255, 1950000, 2.2974, 2.1572), - ("Tensor G4", 1425000, 255, 1950000, 2.3865, 2.2972), - ("Tensor G4", 1548000, 255, 1950000, 2.4361, 2.3942), - ("Tensor G4", 1696000, 255, 1950000, 2.8677, 2.2737), - ("Tensor G4", 1849000, 255, 1950000, 2.6123, 2.5181), - ("Tensor G4", 1950000, 255, 1950000, 2.7293, 2.5798), - ("Tensor G4", 820000, 255, 2024000, 2.0136, 1.7557), - ("Tensor G4", 955000, 255, 2024000, 1.9834, 1.6844), - ("Tensor G4", 1098000, 255, 2024000, 2.1129, 1.8735), - ("Tensor G4", 1197000, 255, 2024000, 2.5894, 2.2185), - ("Tensor G4", 1328000, 255, 2024000, 2.6949, 2.1905), - ("Tensor G4", 1425000, 255, 2024000, 2.8143, 2.7641), - ("Tensor G4", 1548000, 255, 2024000, 2.8513, 2.6064), - ("Tensor G4", 1696000, 255, 2024000, 2.663, 2.3265), - ("Tensor G4", 1849000, 255, 2024000, 2.6618, 2.595), - ("Tensor G4", 1950000, 255, 2024000, 2.7227, 2.7533), - ("Tensor G4", 820000, 255, 2120000, 2.5414, 2.6693), - ("Tensor G4", 955000, 255, 2120000, 2.7682, 2.7252), - ("Tensor G4", 1098000, 255, 2120000, 3.1524, 2.8636), - ("Tensor G4", 1197000, 255, 2120000, 3.0192, 2.6325), - ("Tensor G4", 1328000, 255, 2120000, 2.9797, 3.1899), - ("Tensor G4", 1425000, 255, 2120000, 3.176, 3.069), - ("Tensor G4", 1548000, 255, 2120000, 3.1105, 2.2982), - ("Tensor G4", 1696000, 255, 2120000, 2.9221, 3.2752), - ("Tensor G4", 1849000, 255, 2120000, 3.2659, 3.0112), - ("Tensor G4", 1950000, 255, 2120000, 3.1351, 3.5576), - ("Tensor G4", 820000, 255, 2150000, 2.9947, 2.6827), - ("Tensor G4", 955000, 255, 2150000, 2.9357, 2.5455), - ("Tensor G4", 1098000, 255, 2150000, 3.1562, 2.8923), - ("Tensor G4", 1197000, 255, 2150000, 3.0068, 3.2811), - ("Tensor G4", 1328000, 255, 2150000, 3.1187, 3.0526), - ("Tensor G4", 1425000, 255, 2150000, 3.2907, 2.9659), - ("Tensor G4", 1548000, 255, 2150000, 2.9841, 3.347), - ("Tensor G4", 1696000, 255, 2150000, 3.2313, 3.1632), - ("Tensor G4", 1849000, 255, 2150000, 3.091, 3.1305), - ("Tensor G4", 1950000, 255, 2150000, 3.326, 3.0211)) AS _values + ("Tensor G4", 820000, _dsu_dep!(), 610000, 0.4824, 0.8357), + ("Tensor G4", 955000, _dsu_dep!(), 610000, 0.4801, 0.852), + ("Tensor G4", 1098000, _dsu_dep!(), 610000, 0.4988, 0.8219), + ("Tensor G4", 1197000, _dsu_dep!(), 610000, 0.5025, 0.8369), + ("Tensor G4", 1328000, _dsu_dep!(), 610000, 0.516, 0.8928), + ("Tensor G4", 1425000, _dsu_dep!(), 610000, 0.5266, 0.8895), + ("Tensor G4", 1548000, _dsu_dep!(), 610000, 0.5286, 0.915), + ("Tensor G4", 1696000, _dsu_dep!(), 610000, 0.5288, 1.0169), + ("Tensor G4", 1849000, _dsu_dep!(), 610000, 0.5326, 1.1313), + ("Tensor G4", 1950000, _dsu_dep!(), 610000, 0.5495, 1.1839), + ("Tensor G4", 820000, _dsu_dep!(), 820000, 0.4815, 0.8114), + ("Tensor G4", 955000, _dsu_dep!(), 820000, 0.5055, 0.9356), + ("Tensor G4", 1098000, _dsu_dep!(), 820000, 0.5168, 0.9567), + ("Tensor G4", 1197000, _dsu_dep!(), 820000, 0.5228, 0.8653), + ("Tensor G4", 1328000, _dsu_dep!(), 820000, 0.5228, 0.8895), + ("Tensor G4", 1425000, _dsu_dep!(), 820000, 0.5309, 0.9692), + ("Tensor G4", 1548000, _dsu_dep!(), 820000, 0.5461, 0.9987), + ("Tensor G4", 1696000, _dsu_dep!(), 820000, 0.564, 1.053), + ("Tensor G4", 1849000, _dsu_dep!(), 820000, 0.5649, 0.9087), + ("Tensor G4", 1950000, _dsu_dep!(), 820000, 0.5737, 1.0893), + ("Tensor G4", 820000, _dsu_dep!(), 970000, 0.4923, 0.852), + ("Tensor G4", 955000, _dsu_dep!(), 970000, 0.5014, 0.8357), + ("Tensor G4", 1098000, _dsu_dep!(), 970000, 0.4952, 1.0169), + ("Tensor G4", 1197000, _dsu_dep!(), 970000, 0.5284, 0.8594), + ("Tensor G4", 1328000, _dsu_dep!(), 970000, 0.5332, 0.8521), + ("Tensor G4", 1425000, _dsu_dep!(), 970000, 0.5424, 0.8612), + ("Tensor G4", 1548000, _dsu_dep!(), 970000, 0.5641, 0.883), + ("Tensor G4", 1696000, _dsu_dep!(), 970000, 0.5524, 0.915), + ("Tensor G4", 1849000, _dsu_dep!(), 970000, 0.5685, 0.8765), + ("Tensor G4", 1950000, _dsu_dep!(), 970000, 0.5527, 0.8164), + ("Tensor G4", 820000, _dsu_dep!(), 1098000, 0.5084, 0.947), + ("Tensor G4", 955000, _dsu_dep!(), 1098000, 0.5177, 0.8058), + ("Tensor G4", 1098000, _dsu_dep!(), 1098000, 0.5284, 0.763), + ("Tensor G4", 1197000, _dsu_dep!(), 1098000, 0.596, 0.8633), + ("Tensor G4", 1328000, _dsu_dep!(), 1098000, 0.596, 0.8633), + ("Tensor G4", 1425000, _dsu_dep!(), 1098000, 0.5373, 0.7504), + ("Tensor G4", 1548000, _dsu_dep!(), 1098000, 0.5186, 0.8604), + ("Tensor G4", 1696000, _dsu_dep!(), 1098000, 0.5772, 89.73), + ("Tensor G4", 1849000, _dsu_dep!(), 1098000, 0.5758, 0.9588), + ("Tensor G4", 1950000, _dsu_dep!(), 1098000, 0.5904, 1.1074), + ("Tensor G4", 820000, _dsu_dep!(), 1197000, 0.5105, 0.866), + ("Tensor G4", 955000, _dsu_dep!(), 1197000, 0.5241, 0.8533), + ("Tensor G4", 1098000, _dsu_dep!(), 1197000, 0.5347, 0.8569), + ("Tensor G4", 1197000, _dsu_dep!(), 1197000, 0.524, 0.8318), + ("Tensor G4", 1328000, _dsu_dep!(), 1197000, 0.5298, 0.8374), + ("Tensor G4", 1425000, _dsu_dep!(), 1197000, 0.5201, 0.9479), + ("Tensor G4", 1548000, _dsu_dep!(), 1197000, 0.497, 0.9093), + ("Tensor G4", 1696000, _dsu_dep!(), 1197000, 0.5007, 0.8765), + ("Tensor G4", 1849000, _dsu_dep!(), 1197000, 0.6107, 0.8682), + ("Tensor G4", 1950000, _dsu_dep!(), 1197000, 0.5888, 0.9738), + ("Tensor G4", 820000, _dsu_dep!(), 1328000, 0.534, 0.9162), + ("Tensor G4", 955000, _dsu_dep!(), 1328000, 0.5551, 0.9499), + ("Tensor G4", 1098000, _dsu_dep!(), 1328000, 0.556, 0.954), + ("Tensor G4", 1197000, _dsu_dep!(), 1328000, 0.5711, 0.9117), + ("Tensor G4", 1328000, _dsu_dep!(), 1328000, 0.5372, 0.956), + ("Tensor G4", 1425000, _dsu_dep!(), 1328000, 0.5482, 0.934), + ("Tensor G4", 1548000, _dsu_dep!(), 1328000, 0.5615, 0.7495), + ("Tensor G4", 1696000, _dsu_dep!(), 1328000, 0.53, 0.9145), + ("Tensor G4", 1849000, _dsu_dep!(), 1328000, 0.5504, 0.9478), + ("Tensor G4", 1950000, _dsu_dep!(), 1328000, 0.6243, 0.9335), + ("Tensor G4", 820000, _dsu_dep!(), 1444000, 0.5437, 0.9403), + ("Tensor G4", 955000, _dsu_dep!(), 1444000, 0.5635, 0.9997), + ("Tensor G4", 1098000, _dsu_dep!(), 1444000, 0.5711, 0.919), + ("Tensor G4", 1197000, _dsu_dep!(), 1444000, 0.5595, 0.9455), + ("Tensor G4", 1328000, _dsu_dep!(), 1444000, 0.5772, 0.9415), + ("Tensor G4", 1425000, _dsu_dep!(), 1444000, 0.5507, 0.9582), + ("Tensor G4", 1548000, _dsu_dep!(), 1444000, 0.5535, 0.8986), + ("Tensor G4", 1696000, _dsu_dep!(), 1444000, 0.507, 0.9369), + ("Tensor G4", 1849000, _dsu_dep!(), 1444000, 0.628, 0.8878), + ("Tensor G4", 1950000, _dsu_dep!(), 1444000, 0.658, 1.0974), + ("Tensor G4", 820000, _dsu_dep!(), 1548000, 0.578, 0.8322), + ("Tensor G4", 955000, _dsu_dep!(), 1548000, 0.603, 0.9371), + ("Tensor G4", 1098000, _dsu_dep!(), 1548000, 0.6163, 0.962), + ("Tensor G4", 1197000, _dsu_dep!(), 1548000, 0.6105, 0.9323), + ("Tensor G4", 1328000, _dsu_dep!(), 1548000, 0.589, 0.8355), + ("Tensor G4", 1425000, _dsu_dep!(), 1548000, 0.5924, 0.9416), + ("Tensor G4", 1548000, _dsu_dep!(), 1548000, 0.5611, 0.8911), + ("Tensor G4", 1696000, _dsu_dep!(), 1548000, 0.5792, 0.905), + ("Tensor G4", 1849000, _dsu_dep!(), 1548000, 0.6021, 0.9761), + ("Tensor G4", 1950000, _dsu_dep!(), 1548000, 0.6579, 1.0438), + ("Tensor G4", 820000, _dsu_dep!(), 1704000, 1.5584, 1.2388), + ("Tensor G4", 955000, _dsu_dep!(), 1704000, 1.5287, 1.104), + ("Tensor G4", 1098000, _dsu_dep!(), 1704000, 1.6412, 1.2419), + ("Tensor G4", 1197000, _dsu_dep!(), 1704000, 1.9947, 1.318), + ("Tensor G4", 1328000, _dsu_dep!(), 1704000, 1.6701, 1.178), + ("Tensor G4", 1425000, _dsu_dep!(), 1704000, 1.5944, 1.3017), + ("Tensor G4", 1548000, _dsu_dep!(), 1704000, 1.6769, 1.6058), + ("Tensor G4", 1696000, _dsu_dep!(), 1704000, 1.7215, 1.8), + ("Tensor G4", 1849000, _dsu_dep!(), 1704000, 1.9143, 2.0842), + ("Tensor G4", 1950000, _dsu_dep!(), 1704000, 1.932, 2.8572), + ("Tensor G4", 820000, _dsu_dep!(), 1800000, 1.575, 1.5401), + ("Tensor G4", 955000, _dsu_dep!(), 1800000, 1.6833, 1.5087), + ("Tensor G4", 1098000, _dsu_dep!(), 1800000, 1.5571, 2.0737), + ("Tensor G4", 1197000, _dsu_dep!(), 1800000, 1.6815, 1.8473), + ("Tensor G4", 1328000, _dsu_dep!(), 1800000, 1.7828, 1.666), + ("Tensor G4", 1425000, _dsu_dep!(), 1800000, 1.8061, 1.8018), + ("Tensor G4", 1548000, _dsu_dep!(), 1800000, 1.9956, 1.64), + ("Tensor G4", 1696000, _dsu_dep!(), 1800000, 1.8592, 1.701), + ("Tensor G4", 1849000, _dsu_dep!(), 1800000, 1.5758, 1.5364), + ("Tensor G4", 1950000, _dsu_dep!(), 1800000, 1.9823, 1.7952), + ("Tensor G4", 820000, _dsu_dep!(), 1880000, 1.7249, 1.7787), + ("Tensor G4", 955000, _dsu_dep!(), 1880000, 1.7635, 2.0677), + ("Tensor G4", 1098000, _dsu_dep!(), 1880000, 1.805, 1.5907), + ("Tensor G4", 1197000, _dsu_dep!(), 1880000, 1.7293, 2.0645), + ("Tensor G4", 1328000, _dsu_dep!(), 1880000, 1.918, 1.9844), + ("Tensor G4", 1425000, _dsu_dep!(), 1880000, 2.0013, 1.5541), + ("Tensor G4", 1548000, _dsu_dep!(), 1880000, 2.0504, 1.9877), + ("Tensor G4", 1696000, _dsu_dep!(), 1880000, 1.9603, 1.8955), + ("Tensor G4", 1849000, _dsu_dep!(), 1880000, 2.1168, 1.9674), + ("Tensor G4", 1950000, _dsu_dep!(), 1880000, 2.2047, 2.4697), + ("Tensor G4", 820000, _dsu_dep!(), 1950000, 1.9756, 1.4938), + ("Tensor G4", 955000, _dsu_dep!(), 1950000, 1.90147, 1.8144), + ("Tensor G4", 1098000, _dsu_dep!(), 1950000, 2.1539, 2.0811), + ("Tensor G4", 1197000, _dsu_dep!(), 1950000, 2.2192, 1.8968), + ("Tensor G4", 1328000, _dsu_dep!(), 1950000, 2.2974, 2.1572), + ("Tensor G4", 1425000, _dsu_dep!(), 1950000, 2.3865, 2.2972), + ("Tensor G4", 1548000, _dsu_dep!(), 1950000, 2.4361, 2.3942), + ("Tensor G4", 1696000, _dsu_dep!(), 1950000, 2.8677, 2.2737), + ("Tensor G4", 1849000, _dsu_dep!(), 1950000, 2.6123, 2.5181), + ("Tensor G4", 1950000, _dsu_dep!(), 1950000, 2.7293, 2.5798), + ("Tensor G4", 820000, _dsu_dep!(), 2024000, 2.0136, 1.7557), + ("Tensor G4", 955000, _dsu_dep!(), 2024000, 1.9834, 1.6844), + ("Tensor G4", 1098000, _dsu_dep!(), 2024000, 2.1129, 1.8735), + ("Tensor G4", 1197000, _dsu_dep!(), 2024000, 2.5894, 2.2185), + ("Tensor G4", 1328000, _dsu_dep!(), 2024000, 2.6949, 2.1905), + ("Tensor G4", 1425000, _dsu_dep!(), 2024000, 2.8143, 2.7641), + ("Tensor G4", 1548000, _dsu_dep!(), 2024000, 2.8513, 2.6064), + ("Tensor G4", 1696000, _dsu_dep!(), 2024000, 2.663, 2.3265), + ("Tensor G4", 1849000, _dsu_dep!(), 2024000, 2.6618, 2.595), + ("Tensor G4", 1950000, _dsu_dep!(), 2024000, 2.7227, 2.7533), + ("Tensor G4", 820000, _dsu_dep!(), 2120000, 2.5414, 2.6693), + ("Tensor G4", 955000, _dsu_dep!(), 2120000, 2.7682, 2.7252), + ("Tensor G4", 1098000, _dsu_dep!(), 2120000, 3.1524, 2.8636), + ("Tensor G4", 1197000, _dsu_dep!(), 2120000, 3.0192, 2.6325), + ("Tensor G4", 1328000, _dsu_dep!(), 2120000, 2.9797, 3.1899), + ("Tensor G4", 1425000, _dsu_dep!(), 2120000, 3.176, 3.069), + ("Tensor G4", 1548000, _dsu_dep!(), 2120000, 3.1105, 2.2982), + ("Tensor G4", 1696000, _dsu_dep!(), 2120000, 2.9221, 3.2752), + ("Tensor G4", 1849000, _dsu_dep!(), 2120000, 3.2659, 3.0112), + ("Tensor G4", 1950000, _dsu_dep!(), 2120000, 3.1351, 3.5576), + ("Tensor G4", 820000, _dsu_dep!(), 2150000, 2.9947, 2.6827), + ("Tensor G4", 955000, _dsu_dep!(), 2150000, 2.9357, 2.5455), + ("Tensor G4", 1098000, _dsu_dep!(), 2150000, 3.1562, 2.8923), + ("Tensor G4", 1197000, _dsu_dep!(), 2150000, 3.0068, 3.2811), + ("Tensor G4", 1328000, _dsu_dep!(), 2150000, 3.1187, 3.0526), + ("Tensor G4", 1425000, _dsu_dep!(), 2150000, 3.2907, 2.9659), + ("Tensor G4", 1548000, _dsu_dep!(), 2150000, 2.9841, 3.347), + ("Tensor G4", 1696000, _dsu_dep!(), 2150000, 3.2313, 3.1632), + ("Tensor G4", 1849000, _dsu_dep!(), 2150000, 3.091, 3.1305), + ("Tensor G4", 1950000, _dsu_dep!(), 2150000, 3.326, 3.0211)) AS _values ) SELECT * diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_cpu_2d.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_cpu_2d.sql index 1d31448c87c..12c3e8438ca 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_cpu_2d.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_cpu_2d.sql @@ -18,474 +18,476 @@ INCLUDE PERFETTO MODULE wattson.curves.tg5_cpu_2d_1; INCLUDE PERFETTO MODULE wattson.curves.tg5_cpu_2d_2; +INCLUDE PERFETTO MODULE wattson.utils; + CREATE PERFETTO TABLE _tg5_2d_lut AS WITH data(device, policy, freq_khz, dep_policy, dep_freq, static, active, idle0, idle1) AS ( SELECT * FROM (VALUES - ("Tensor G5", 0, 268000, 255, 115000000, 15.38, 7.88, 0.11, 0), - ("Tensor G5", 0, 268000, 255, 268000000, 14.63, 14.04, 1.89, 0), - ("Tensor G5", 0, 268000, 255, 400000000, 16.55, 20.75, 1.1, 0), - ("Tensor G5", 0, 268000, 255, 537000000, 19.11, 25.02, 1.01, 0), - ("Tensor G5", 0, 268000, 255, 691000000, 23.19, 34.83, 1.34, 0), - ("Tensor G5", 0, 268000, 255, 768000000, 26.06, 38.12, 1.14, 0), - ("Tensor G5", 0, 268000, 255, 844000000, 28.85, 10.76, 1.22, 0), - ("Tensor G5", 0, 268000, 255, 960000000, 32.34, 52.63, 1.27, 0), - ("Tensor G5", 0, 268000, 255, 1056000000, 38.77, 52.47, 1.24, 0), - ("Tensor G5", 0, 268000, 255, 1132000000, 37.64, 62.55, 1.23, 0), - ("Tensor G5", 0, 268000, 255, 1228000000, 41.25, 68.97, 1.17, 0), - ("Tensor G5", 0, 268000, 255, 1324000000, 44.53, 74.26, 1.2, 0), - ("Tensor G5", 0, 268000, 255, 1420000000, 48.28, 85.23, 1.45, 0), - ("Tensor G5", 0, 268000, 255, 1516000000, 52.09, 90.09, 1.35, 0), - ("Tensor G5", 0, 268000, 255, 1612000000, 54.77, 95.13, 1.33, 0), - ("Tensor G5", 0, 268000, 255, 1728000000, 65.3, 109.03, 1.53, 0), - ("Tensor G5", 0, 268000, 255, 1843000000, 68.93, 130.0, 1.05, 0), - ("Tensor G5", 0, 268000, 255, 1920000000, 78.89, 131.44, 1.92, 0), - ("Tensor G5", 0, 268000, 255, 1996000000, 85.37, 139.68, 1.36, 0), - ("Tensor G5", 0, 268000, 255, 2092000000, 96.41, 167.55, 1.66, 0), - ("Tensor G5", 0, 268000, 255, 2188000000, 103.8, 186.28, 2.36, 0), - ("Tensor G5", 0, 345000, 255, 115000000, 13.03, 9.71, 0.94, 0), - ("Tensor G5", 0, 345000, 255, 268000000, 15.56, 16.65, 1.61, 0), - ("Tensor G5", 0, 345000, 255, 400000000, 17.81, 20.36, 0.35, 0), - ("Tensor G5", 0, 345000, 255, 537000000, 20.02, 29.11, 0.93, 0), - ("Tensor G5", 0, 345000, 255, 691000000, 24.83, 35.59, 0.46, 0), - ("Tensor G5", 0, 345000, 255, 768000000, 26.79, 40.61, 0.79, 0), - ("Tensor G5", 0, 345000, 255, 844000000, 29.23, 46.36, 1.03, 0), - ("Tensor G5", 0, 345000, 255, 960000000, 33.26, 54.77, 0.57, 0), - ("Tensor G5", 0, 345000, 255, 1056000000, 35.24, 63.16, 0.87, 0), - ("Tensor G5", 0, 345000, 255, 1132000000, 38.1, 68.68, 0.93, 0), - ("Tensor G5", 0, 345000, 255, 1228000000, 40.04, 76.41, 2.53, 0), - ("Tensor G5", 0, 345000, 255, 1324000000, 44.69, 78.79, 1.15, 0), - ("Tensor G5", 0, 345000, 255, 1420000000, 48.98, 94.16, 1.08, 0), - ("Tensor G5", 0, 345000, 255, 1516000000, 52.4, 100.6, 1.11, 0), - ("Tensor G5", 0, 345000, 255, 1612000000, 58.33, 110.56, 1.07, 0), - ("Tensor G5", 0, 345000, 255, 1728000000, 91.97, 104.29, 0.9, 0), - ("Tensor G5", 0, 345000, 255, 1843000000, 73.52, 142.75, 0.98, 0), - ("Tensor G5", 0, 345000, 255, 1920000000, 79.46, 158.68, 1.57, 0), - ("Tensor G5", 0, 345000, 255, 1996000000, 85.61, 167.47, 1.41, 0), - ("Tensor G5", 0, 345000, 255, 2092000000, 97.08, 188.3, 1.24, 0), - ("Tensor G5", 0, 345000, 255, 2188000000, 104.12, 201.35, 0.55, 0), - ("Tensor G5", 0, 422000, 255, 115000000, 14.26, 10.39, 0.56, 0), - ("Tensor G5", 0, 422000, 255, 268000000, 15.58, 17.03, 0.64, 0), - ("Tensor G5", 0, 422000, 255, 400000000, 18.04, 22.22, 0.90, 0), - ("Tensor G5", 0, 422000, 255, 537000000, 20.33, 32.69, 0.87, 0), - ("Tensor G5", 0, 422000, 255, 691000000, 22.57, 40.93, 0.99, 0), - ("Tensor G5", 0, 422000, 255, 768000000, 27.44, 47.9, 1.11, 0), - ("Tensor G5", 0, 422000, 255, 844000000, 29.86, 48.01, 0.62, 0), - ("Tensor G5", 0, 422000, 255, 960000000, 31.79, 58.2, 1.08, 0), - ("Tensor G5", 0, 422000, 255, 1056000000, 34.03, 69.79, 1.26, 0), - ("Tensor G5", 0, 422000, 255, 1132000000, 38.34, 71.23, 0.78, 0), - ("Tensor G5", 0, 422000, 255, 1228000000, 41.75, 76.41, 0.96, 0), - ("Tensor G5", 0, 422000, 255, 1324000000, 44.81, 84.19, 1.09, 0), - ("Tensor G5", 0, 422000, 255, 1420000000, 46.34, 93.12, 1.84, 0), - ("Tensor G5", 0, 422000, 255, 1516000000, 52.79, 109.98, 1.02, 0), - ("Tensor G5", 0, 422000, 255, 1612000000, 58.92, 121.77, 1.78, 0), - ("Tensor G5", 0, 422000, 255, 1728000000, 66.4, 125.05, 1.0, 0), - ("Tensor G5", 0, 422000, 255, 1843000000, 73.24, 155.18, 1.27, 0), - ("Tensor G5", 0, 422000, 255, 1920000000, 79.7, 169.78, 1.52, 0), - ("Tensor G5", 0, 422000, 255, 1996000000, 85.83, 169.27, 1.37, 0), - ("Tensor G5", 0, 422000, 255, 2092000000, 97.68, 198.51, 1.01, 0), - ("Tensor G5", 0, 422000, 255, 2188000000, 108.82, 219.75, 1.1, 0), - ("Tensor G5", 0, 460000, 255, 115000000, 14.4, 10.87, 0.3, 0), - ("Tensor G5", 0, 460000, 255, 268000000, 16.12, 20.76, 0.51, 0), - ("Tensor G5", 0, 460000, 255, 400000000, 18.59, 27.03, 0.63, 0), - ("Tensor G5", 0, 460000, 255, 537000000, 20.5, 32.26, 0.67, 0), - ("Tensor G5", 0, 460000, 255, 691000000, 15.76, 42.04, 1.34, 0), - ("Tensor G5", 0, 460000, 255, 768000000, 26.92, 45.26, 0.81, 0), - ("Tensor G5", 0, 460000, 255, 844000000, 29.65, 51.15, 0.84, 0), - ("Tensor G5", 0, 460000, 255, 960000000, 33.22, 64.57, 0.76, 0), - ("Tensor G5", 0, 460000, 255, 1056000000, 35.32, 72.52, 0.91, 0), - ("Tensor G5", 0, 460000, 255, 1132000000, 38.8, 79.61, 0.49, 0), - ("Tensor G5", 0, 460000, 255, 1228000000, 42.32, 88.23, 0.6, 0), - ("Tensor G5", 0, 460000, 255, 1324000000, 45.29, 94.03, 0.8, 0), - ("Tensor G5", 0, 460000, 255, 1420000000, 49.15, 102.06, 0.93, 0), - ("Tensor G5", 0, 460000, 255, 1516000000, 52.59, 100.8, 1.16, 0), - ("Tensor G5", 0, 460000, 255, 1612000000, 58.83, 112.1, 0.85, 0), - ("Tensor G5", 0, 460000, 255, 1728000000, 66.13, 127.77, 1.24, 0), - ("Tensor G5", 0, 460000, 255, 1843000000, 73.7, 154.89, 0.93, 0), - ("Tensor G5", 0, 460000, 255, 1920000000, 79.8, 171.36, 1.67, 0), - ("Tensor G5", 0, 460000, 255, 1996000000, 86.18, 167.59, 1.12, 0), - ("Tensor G5", 0, 460000, 255, 2092000000, 97.45, 185.37, 1.27, 0), - ("Tensor G5", 0, 460000, 255, 2188000000, 108.94, 203.97, 1.04, 0), - ("Tensor G5", 0, 533000, 255, 115000000, 14.3, 11.55, 0.64, 0), - ("Tensor G5", 0, 533000, 255, 268000000, 16.65, 20.88, 0.42, 0), - ("Tensor G5", 0, 533000, 255, 400000000, 18.35, 29.02, 0.59, 0), - ("Tensor G5", 0, 533000, 255, 537000000, 19.83, 38.27, 1.36, 0), - ("Tensor G5", 0, 533000, 255, 691000000, 24.29, 46.66, 0.46, 0), - ("Tensor G5", 0, 533000, 255, 768000000, 27.09, 48.99, 0.52, 0), - ("Tensor G5", 0, 533000, 255, 844000000, 28.18, 51.64, 1.05, 0), - ("Tensor G5", 0, 533000, 255, 960000000, 31.37, 61.18, 1.45, 0), - ("Tensor G5", 0, 533000, 255, 1056000000, 35.72, 73.64, 0.55, 0), - ("Tensor G5", 0, 533000, 255, 1132000000, 38.17, 72.72, 0.77, 0), - ("Tensor G5", 0, 533000, 255, 1228000000, 41.76, 83.2, 0.81, 0), - ("Tensor G5", 0, 533000, 255, 1324000000, 44.91, 98.8, 0.9, 0), - ("Tensor G5", 0, 533000, 255, 1420000000, 49.19, 111.71, 0.77, 0), - ("Tensor G5", 0, 533000, 255, 1516000000, 52.54, 114.06, 0.96, 0), - ("Tensor G5", 0, 533000, 255, 1612000000, 58.69, 129.09, 0.72, 0), - ("Tensor G5", 0, 533000, 255, 1728000000, 66.35, 133.39, 0.81, 0), - ("Tensor G5", 0, 533000, 255, 1843000000, 69.46, 158.55, 1.9, 0), - ("Tensor G5", 0, 533000, 255, 1920000000, 80.14, 160.82, 1.01, 0), - ("Tensor G5", 0, 533000, 255, 1996000000, 85.93, 176.23, 1.14, 0), - ("Tensor G5", 0, 533000, 255, 2092000000, 96.43, 206.06, 1.61, 0), - ("Tensor G5", 0, 533000, 255, 2188000000, 107.77, 221.39, 1.52, 0), - ("Tensor G5", 0, 729000, 255, 115000000, 15.92, 15.42, 1.23, 0), - ("Tensor G5", 0, 729000, 255, 268000000, 18.31, 28.5, 0.86, 0), - ("Tensor G5", 0, 729000, 255, 400000000, 20.51, 37.87, 0.74, 0), - ("Tensor G5", 0, 729000, 255, 537000000, 22.42, 44.91, 0.72, 0), - ("Tensor G5", 0, 729000, 255, 691000000, 23.82, 51.09, 1.63, 0), - ("Tensor G5", 0, 729000, 255, 768000000, 27.02, 60.86, 1.27, 0), - ("Tensor G5", 0, 729000, 255, 844000000, 30.12, 64.8, 0.77, 0), - ("Tensor G5", 0, 729000, 255, 960000000, 33.05, 72.37, 1.54, 0), - ("Tensor G5", 0, 729000, 255, 1056000000, 36.2, 83.3, 0.91, 0), - ("Tensor G5", 0, 729000, 255, 1132000000, 37.15, 88.36, 1.52, 0), - ("Tensor G5", 0, 729000, 255, 1228000000, 41.42, 102.86, 1.02, 0), - ("Tensor G5", 0, 729000, 255, 1324000000, 44.41, 112.95, 1.25, 0), - ("Tensor G5", 0, 729000, 255, 1420000000, 50.58, 126.07, 0.47, 0), - ("Tensor G5", 0, 729000, 255, 1516000000, 54.01, 139.42, 0.51, 0), - ("Tensor G5", 0, 729000, 255, 1612000000, 59.5, 146.77, 0.78, 0), - ("Tensor G5", 0, 729000, 255, 1728000000, 67.14, 168.02, 1.02, 0), - ("Tensor G5", 0, 729000, 255, 1843000000, 74.48, 181.33, 0.97, 0), - ("Tensor G5", 0, 729000, 255, 1920000000, 85.8, 222.78, 0.72, 0), - ("Tensor G5", 0, 729000, 255, 1996000000, 87.08, 226.78, 1.16, 0), - ("Tensor G5", 0, 729000, 255, 2092000000, 98.98, 254.91, 0.8, 0), - ("Tensor G5", 0, 729000, 255, 2188000000, 103.8, 290.34, 1.07, 0), - ("Tensor G5", 0, 883000, 255, 115000000, 19.46, 17.48, 0.12, 0), - ("Tensor G5", 0, 883000, 255, 268000000, 21.3, 32.12, 0.18, 0), - ("Tensor G5", 0, 883000, 255, 400000000, 22.68, 43.41, 0.59, 0), - ("Tensor G5", 0, 883000, 255, 537000000, 24.87, 51.34, 0.47, 0), - ("Tensor G5", 0, 883000, 255, 691000000, 26.93, 59.0, 0.56, 0), - ("Tensor G5", 0, 883000, 255, 768000000, 29.44, 60.66, 0.09, 0), - ("Tensor G5", 0, 883000, 255, 844000000, 29.33, 70.19, 0.84, 0), - ("Tensor G5", 0, 883000, 255, 960000000, 33.06, 83.65, 0.71, 0), - ("Tensor G5", 0, 883000, 255, 1056000000, 36.2, 90.53, 0.92, 0), - ("Tensor G5", 0, 883000, 255, 1132000000, 39.04, 103.09, 0.78, 0), - ("Tensor G5", 0, 883000, 255, 1228000000, 46.04, 114.89, 0.8, 0), - ("Tensor G5", 0, 883000, 255, 1324000000, 46.13, 115.45, 0.87, 0), - ("Tensor G5", 0, 883000, 255, 1420000000, 48.66, 133.67, 1.47, 0), - ("Tensor G5", 0, 883000, 255, 1516000000, 54.16, 143.27, 0.77, 0), - ("Tensor G5", 0, 883000, 255, 1612000000, 57.49, 150.15, 1.21, 0), - ("Tensor G5", 0, 883000, 255, 1728000000, 67.93, 188.21, 0.71, 0), - ("Tensor G5", 0, 883000, 255, 1843000000, 72.55, 199.99, 1.38, 0), - ("Tensor G5", 0, 883000, 255, 1920000000, 82.1, 228.38, 0.84, 0), - ("Tensor G5", 0, 883000, 255, 1996000000, 84.13, 225.51, 1.47, 0), - ("Tensor G5", 0, 883000, 255, 2092000000, 98.82, 264.64, 1.26, 0), - ("Tensor G5", 0, 883000, 255, 2188000000, 105.97, 283.71, 5.98, 0), - ("Tensor G5", 0, 1036000, 255, 115000000, 19.27, 20.49, 0.54, 0), - ("Tensor G5", 0, 1036000, 255, 268000000, 21.28, 33.3, 0.67, 0), - ("Tensor G5", 0, 1036000, 255, 400000000, 23.61, 44.45, 0.73, 0), - ("Tensor G5", 0, 1036000, 255, 537000000, 26.03, 55.75, 0.54, 0), - ("Tensor G5", 0, 1036000, 255, 691000000, 28.27, 67.73, 0.6, 0), - ("Tensor G5", 0, 1036000, 255, 768000000, 29.73, 72.22, 0.63, 0), - ("Tensor G5", 0, 1036000, 255, 844000000, 31.23, 74.49, 0.44, 0), - ("Tensor G5", 0, 1036000, 255, 960000000, 40.33, 85.06, 0.38, 0), - ("Tensor G5", 0, 1036000, 255, 1056000000, 36.75, 95.54, 0.72, 0), - ("Tensor G5", 0, 1036000, 255, 1132000000, 40.35, 107.32, 0.36, 0), - ("Tensor G5", 0, 1036000, 255, 1228000000, 43.56, 115.64, 0.66, 0), - ("Tensor G5", 0, 1036000, 255, 1324000000, 46.58, 130.94, 0.9, 0), - ("Tensor G5", 0, 1036000, 255, 1420000000, 50.64, 151.0, 0.91, 0), - ("Tensor G5", 0, 1036000, 255, 1516000000, 54.06, 145.58, 0.95, 0), - ("Tensor G5", 0, 1036000, 255, 1612000000, 60.43, 172.93, 0.73, 0), - ("Tensor G5", 0, 1036000, 255, 1728000000, 68.19, 185.82, 0.89, 0), - ("Tensor G5", 0, 1036000, 255, 1843000000, 75.43, 211.12, 0.95, 0), - ("Tensor G5", 0, 1036000, 255, 1920000000, 75.64, 228.31, 1.33, 0), - ("Tensor G5", 0, 1036000, 255, 1996000000, 88.17, 250.07, 1.18, 0), - ("Tensor G5", 0, 1036000, 255, 2092000000, 100.08, 274.23, 0.87, 0), - ("Tensor G5", 0, 1036000, 255, 2188000000, 111.22, 322.66, 1.03, 0), - ("Tensor G5", 0, 1190000, 255, 115000000, 20.35, 22.29, 0.56, 0), - ("Tensor G5", 0, 1190000, 255, 268000000, 22.92, 42.08, 0.73, 0), - ("Tensor G5", 0, 1190000, 255, 400000000, 25.66, 50.48, 0.38, 0), - ("Tensor G5", 0, 1190000, 255, 537000000, 27.58, 58.6, 0.62, 0), - ("Tensor G5", 0, 1190000, 255, 691000000, 29.84, 71.45, 0.8, 0), - ("Tensor G5", 0, 1190000, 255, 768000000, 30.93, 79.32, 1.34, 0), - ("Tensor G5", 0, 1190000, 255, 844000000, 31.84, 80.86, 1.76, 0), - ("Tensor G5", 0, 1190000, 255, 960000000, 34.43, 89.45, 0.93, 0), - ("Tensor G5", 0, 1190000, 255, 1056000000, 36.96, 101.52, 0.81, 0), - ("Tensor G5", 0, 1190000, 255, 1132000000, 40.1, 109.06, 0.64, 0), - ("Tensor G5", 0, 1190000, 255, 1228000000, 43.66, 133.21, 0.83, 0), - ("Tensor G5", 0, 1190000, 255, 1324000000, 47.3, 138.71, 0.56, 0), - ("Tensor G5", 0, 1190000, 255, 1420000000, 51.13, 147.79, 0.87, 0), - ("Tensor G5", 0, 1190000, 255, 1516000000, 55.16, 161.04, 0.53, 0), - ("Tensor G5", 0, 1190000, 255, 1612000000, 54.08, 178.54, 5.18, 0), - ("Tensor G5", 0, 1190000, 255, 1728000000, 69.73, 193.32, 1.84, 0), - ("Tensor G5", 0, 1190000, 255, 1843000000, 75.0, 221.8, 1.83, 0), - ("Tensor G5", 0, 1190000, 255, 1920000000, 82.32, 241.49, 1.29, 0), - ("Tensor G5", 0, 1190000, 255, 1996000000, 88.62, 264.4, 1.18, 0), - ("Tensor G5", 0, 1190000, 255, 2092000000, 100.23, 297.33, 1.11, 0), - ("Tensor G5", 0, 1190000, 255, 2188000000, 111.75, 338.84, 1.22, 0), - ("Tensor G5", 0, 1286000, 255, 115000000, 21.61, 29.39, 1.21, 0), - ("Tensor G5", 0, 1286000, 255, 268000000, 25.28, 44.57, 0.36, 0), - ("Tensor G5", 0, 1286000, 255, 400000000, 28.12, 56.33, 0.29, 0), - ("Tensor G5", 0, 1286000, 255, 537000000, 29.55, 71.13, 0.78, 0), - ("Tensor G5", 0, 1286000, 255, 691000000, 32.11, 78.96, 0.79, 0), - ("Tensor G5", 0, 1286000, 255, 768000000, 26.37, 76.42, 8.34, 0), - ("Tensor G5", 0, 1286000, 255, 844000000, 28.68, 69.5, 1.26, 0), - ("Tensor G5", 0, 1286000, 255, 960000000, 36.88, 107.59, 1.13, 0), - ("Tensor G5", 0, 1286000, 255, 1056000000, 37.82, 106.56, 0.83, 0), - ("Tensor G5", 0, 1286000, 255, 1132000000, 39.79, 112.11, 1.09, 0), - ("Tensor G5", 0, 1286000, 255, 1228000000, 43.5, 129.42, 1.02, 0), - ("Tensor G5", 0, 1286000, 255, 1324000000, 468.82, 140.63, 0.74, 0), - ("Tensor G5", 0, 1286000, 255, 1420000000, 185.39, 164.73, 0.81, 0), - ("Tensor G5", 0, 1286000, 255, 1516000000, 282.14, 182.65, 0.7, 0), - ("Tensor G5", 0, 1286000, 255, 1612000000, 298.78, 190.35, 0.96, 0), - ("Tensor G5", 0, 1286000, 255, 1728000000, 422.42, 205.29, 0.86, 0), - ("Tensor G5", 0, 1286000, 255, 1843000000, 77.84, 227.42, 0.15, 0), - ("Tensor G5", 0, 1286000, 255, 1920000000, 84.4, 249.93, 0.27, 0), - ("Tensor G5", 0, 1286000, 255, 1996000000, 90.1, 274.36, 0.61, 0), - ("Tensor G5", 0, 1286000, 255, 2092000000, 101.23, 315.63, 0.86, 0), - ("Tensor G5", 0, 1286000, 255, 2188000000, 112.88, 339.0, 0.79, 0), - ("Tensor G5", 0, 1363000, 255, 115000000, 22.78, 30.64, 0.67, 0), - ("Tensor G5", 0, 1363000, 255, 268000000, 26.61, 46.13, 0.25, 0), - ("Tensor G5", 0, 1363000, 255, 400000000, 28.62, 56.41, 0.58, 0), - ("Tensor G5", 0, 1363000, 255, 537000000, 31.0, 71.3, 0.65, 0), - ("Tensor G5", 0, 1363000, 255, 691000000, 33.59, 86.05, 0.75, 0), - ("Tensor G5", 0, 1363000, 255, 768000000, 35.42, 95.78, 0.66, 0), - ("Tensor G5", 0, 1363000, 255, 844000000, 35.25, 93.0, 0.68, 0), - ("Tensor G5", 0, 1363000, 255, 960000000, 40.43, 105.52, 0.67, 0), - ("Tensor G5", 0, 1363000, 255, 1056000000, 39.58, 109.81, 0.62, 0), - ("Tensor G5", 0, 1363000, 255, 1132000000, 41.12, 115.72, 0.69, 0), - ("Tensor G5", 0, 1363000, 255, 1228000000, 42.13, 127.16, 1.53, 0), - ("Tensor G5", 0, 1363000, 255, 1324000000, 47.56, 139.5, 0.75, 0), - ("Tensor G5", 0, 1363000, 255, 1420000000, 52.38, 156.85, 0.39, 0), - ("Tensor G5", 0, 1363000, 255, 1516000000, 53.61, 162.52, 1.46, 0), - ("Tensor G5", 0, 1363000, 255, 1612000000, 61.48, 183.97, 0.59, 0), - ("Tensor G5", 0, 1363000, 255, 1728000000, 69.42, 210.05, 0.86, 0), - ("Tensor G5", 0, 1363000, 255, 1843000000, 76.17, 234.68, 1.37, 0), - ("Tensor G5", 0, 1363000, 255, 1920000000, 82.86, 258.92, 1.23, 0), - ("Tensor G5", 0, 1363000, 255, 1996000000, 89.89, 297.04, 0.77, 0), - ("Tensor G5", 0, 1363000, 255, 2092000000, 101.61, 308.49, 0.78, 0), - ("Tensor G5", 0, 1363000, 255, 2188000000, 108.47, 332.08, 1.22, 0), - ("Tensor G5", 0, 1459000, 255, 115000000, 25.02, 32.49, 0.38, 0), - ("Tensor G5", 0, 1459000, 255, 268000000, 28.45, 48.13, 0.3, 0), - ("Tensor G5", 0, 1459000, 255, 400000000, 30.78, 66.35, 0.55, 0), - ("Tensor G5", 0, 1459000, 255, 537000000, 32.6, 76.75, 1.17, 0), - ("Tensor G5", 0, 1459000, 255, 691000000, 36.24, 94.36, 0.62, 0), - ("Tensor G5", 0, 1459000, 255, 768000000, 37.69, 100.45, 0.78, 0), - ("Tensor G5", 0, 1459000, 255, 844000000, 39.37, 105.59, 0.71, 0), - ("Tensor G5", 0, 1459000, 255, 960000000, 41.63, 122.39, 0.7, 0), - ("Tensor G5", 0, 1459000, 255, 1056000000, 42.52, 125.65, 0.64, 0), - ("Tensor G5", 0, 1459000, 255, 1132000000, 44.07, 130.33, 0.65, 0), - ("Tensor G5", 0, 1459000, 255, 1228000000, 45.76, 139.21, 0.95, 0), - ("Tensor G5", 0, 1459000, 255, 1324000000, 47.31, 148.74, 0.85, 0), - ("Tensor G5", 0, 1459000, 255, 1420000000, 53.2, 162.42, 0.11, 0), - ("Tensor G5", 0, 1459000, 255, 1516000000, 55.3, 177.22, 0.87, 0), - ("Tensor G5", 0, 1459000, 255, 1612000000, 61.69, 194.55, 0.7, 0), - ("Tensor G5", 0, 1459000, 255, 1728000000, 69.63, 214.84, 0.79, 0), - ("Tensor G5", 0, 1459000, 255, 1843000000, 76.84, 237.31, 0.94, 0), - ("Tensor G5", 0, 1459000, 255, 1920000000, 83.6, 269.29, 1.05, 0), - ("Tensor G5", 0, 1459000, 255, 1996000000, 90.18, 288.85, 0.78, 0), - ("Tensor G5", 0, 1459000, 255, 2092000000, 101.79, 343.02, 0.86, 0), - ("Tensor G5", 0, 1459000, 255, 2188000000, 112.96, 375.32, 0.96, 0), - ("Tensor G5", 0, 1555000, 255, 115000000, 25.81, 33.24, 0.78, 0), - ("Tensor G5", 0, 1555000, 255, 268000000, 29.88, 57.31, 0.4, 0), - ("Tensor G5", 0, 1555000, 255, 400000000, 31.54, 69.2, 1.09, 0), - ("Tensor G5", 0, 1555000, 255, 537000000, 35.15, 83.66, 0.6, 0), - ("Tensor G5", 0, 1555000, 255, 691000000, 37.77, 96.68, 0.87, 0), - ("Tensor G5", 0, 1555000, 255, 768000000, 39.08, 105.1, 1.93, 0), - ("Tensor G5", 0, 1555000, 255, 844000000, 41.72, 117.06, 0.56, 0), - ("Tensor G5", 0, 1555000, 255, 960000000, 44.12, 125.35, 0.55, 0), - ("Tensor G5", 0, 1555000, 255, 1056000000, 44.67, 133.17, 0.68, 0), - ("Tensor G5", 0, 1555000, 255, 1132000000, 46.67, 135.44, 0.57, 0), - ("Tensor G5", 0, 1555000, 255, 1228000000, 47.89, 151.1, 0.95, 0), - ("Tensor G5", 0, 1555000, 255, 1324000000, 50.34, 158.81, 0.74, 0), - ("Tensor G5", 0, 1555000, 255, 1420000000, 52.28, 162.93, 0.73, 0), - ("Tensor G5", 0, 1555000, 255, 1516000000, 56.05, 175.57, 0.62, 0), - ("Tensor G5", 0, 1555000, 255, 1612000000, 59.86, 191.93, 2.7, 0), - ("Tensor G5", 0, 1555000, 255, 1728000000, 71.5, 230.99, 1.77, 0), - ("Tensor G5", 0, 1555000, 255, 1843000000, 77.48, 244.05, 0.62, 0), - ("Tensor G5", 0, 1555000, 255, 1920000000, 84.48, 270.05, 0.78, 0), - ("Tensor G5", 0, 1555000, 255, 1996000000, 89.7, 290.99, 1.2, 0), - ("Tensor G5", 0, 1555000, 255, 2092000000, 101.61, 331.63, 1.2, 0), - ("Tensor G5", 0, 1555000, 255, 2188000000, 113.01, 374.24, 1.12, 0), - ("Tensor G5", 0, 1632000, 255, 115000000, 28.25, 36.62, 0.01, 0), - ("Tensor G5", 0, 1632000, 255, 268000000, 30.28, 58.2, 0.76, 0), - ("Tensor G5", 0, 1632000, 255, 400000000, 33.89, 76.04, 0.3, 0), - ("Tensor G5", 0, 1632000, 255, 537000000, 36.11, 84.16, 0.88, 0), - ("Tensor G5", 0, 1632000, 255, 691000000, 40.44, 105.97, 0.79, 0), - ("Tensor G5", 0, 1632000, 255, 768000000, 41.68, 120.82, 0.52, 0), - ("Tensor G5", 0, 1632000, 255, 844000000, 43.07, 119.68, 0.71, 0), - ("Tensor G5", 0, 1632000, 255, 960000000, 45.15, 131.08, 0.92, 0), - ("Tensor G5", 0, 1632000, 255, 1056000000, 46.16, 139.07, 0.72, 0), - ("Tensor G5", 0, 1632000, 255, 1132000000, 46.46, 146.5, 1.22, 0), - ("Tensor G5", 0, 1632000, 255, 1228000000, 49.99, 157.13, 0.72, 0), - ("Tensor G5", 0, 1632000, 255, 1324000000, 51.75, 164.34, 1.05, 0), - ("Tensor G5", 0, 1632000, 255, 1420000000, 54.29, 173.74, 0.62, 0), - ("Tensor G5", 0, 1632000, 255, 1516000000, 56.69, 185.94, 0.0, 0), - ("Tensor G5", 0, 1632000, 255, 1612000000, 61.72, 203.28, 0.99, 0), - ("Tensor G5", 0, 1632000, 255, 1728000000, 69.77, 241.15, 1.06, 0), - ("Tensor G5", 0, 1632000, 255, 1843000000, 77.12, 269.15, 1.05, 0), - ("Tensor G5", 0, 1632000, 255, 1920000000, 83.99, 285.59, 1.27, 0), - ("Tensor G5", 0, 1632000, 255, 1996000000, 96.73, 303.74, 1.1, 0), - ("Tensor G5", 0, 1632000, 255, 2092000000, 102.17, 336.84, 0.86, 0), - ("Tensor G5", 0, 1632000, 255, 2188000000, 111.49, 371.95, 1.22, 0), - ("Tensor G5", 0, 1766000, 255, 115000000, 28.83, 39.78, 1.04, 0), - ("Tensor G5", 0, 1766000, 255, 268000000, 32.14, 62.72, 1.66, 0), - ("Tensor G5", 0, 1766000, 255, 400000000, 36.53, 81.64, 0.76, 0), - ("Tensor G5", 0, 1766000, 255, 537000000, 39.54, 96.57, 0.88, 0), - ("Tensor G5", 0, 1766000, 255, 691000000, 42.74, 115.72, 1.05, 0), - ("Tensor G5", 0, 1766000, 255, 768000000, 45.06, 126.78, 0.85, 0), - ("Tensor G5", 0, 1766000, 255, 844000000, 47.09, 133.63, 0.72, 0), - ("Tensor G5", 0, 1766000, 255, 960000000, 49.04, 145.75, 1.06, 0), - ("Tensor G5", 0, 1766000, 255, 1056000000, 50.36, 175.74, 0.85, 0), - ("Tensor G5", 0, 1766000, 255, 1132000000, 50.45, 164.82, 0.83, 0), - ("Tensor G5", 0, 1766000, 255, 1228000000, 54.76, 177.83, 0.81, 0), - ("Tensor G5", 0, 1766000, 255, 1324000000, 56.73, 186.14, 0.83, 0), - ("Tensor G5", 0, 1766000, 255, 1420000000, 60.62, 195.35, 0.0, 0), - ("Tensor G5", 0, 1766000, 255, 1516000000, 60.49, 216.61, 1.09, 0), - ("Tensor G5", 0, 1766000, 255, 1612000000, 63.81, 203.86, 0.61, 0), - ("Tensor G5", 0, 1766000, 255, 1728000000, 70.61, 237.14, 0.56, 0), - ("Tensor G5", 0, 1766000, 255, 1843000000, 74.41, 252.18, 1.25, 0), - ("Tensor G5", 0, 1766000, 255, 1920000000, 86.28, 282.05, 1.6, 0), - ("Tensor G5", 0, 1766000, 255, 1996000000, 91.18, 310.57, 0.68, 0), - ("Tensor G5", 0, 1766000, 255, 2092000000, 102.74, 344.05, 0.89, 0), - ("Tensor G5", 0, 1766000, 255, 2188000000, 113.23, 396.02, 1.45, 0), - ("Tensor G5", 0, 1881000, 255, 115000000, 31.65, 44.25, 0.81, 0), - ("Tensor G5", 0, 1881000, 255, 268000000, 35.73, 69.99, 0.59, 0), - ("Tensor G5", 0, 1881000, 255, 400000000, 39.31, 85.52, 0.7, 0), - ("Tensor G5", 0, 1881000, 255, 537000000, 42.38, 102.24, 0.92, 0), - ("Tensor G5", 0, 1881000, 255, 691000000, 46.12, 120.67, 0.79, 0), - ("Tensor G5", 0, 1881000, 255, 768000000, 48.01, 142.64, 1.01, 0), - ("Tensor G5", 0, 1881000, 255, 844000000, 47.93, 155.88, 1.04, 0), - ("Tensor G5", 0, 1881000, 255, 960000000, 52.63, 162.54, 1.17, 0), - ("Tensor G5", 0, 1881000, 255, 1056000000, 53.94, 172.98, 0.84, 0), - ("Tensor G5", 0, 1881000, 255, 1132000000, 56.33, 180.7, 0.68, 0), - ("Tensor G5", 0, 1881000, 255, 1228000000, 58.35, 191.56, 0.84, 0), - ("Tensor G5", 0, 1881000, 255, 1324000000, 60.94, 197.53, 0.71, 0), - ("Tensor G5", 0, 1881000, 255, 1420000000, 63.56, 220.68, 0.39, 0), - ("Tensor G5", 0, 1881000, 255, 1516000000, 63.6, 222.55, 1.52, 0), - ("Tensor G5", 0, 1881000, 255, 1612000000, 68.76, 243.96, 0.34, 0), - ("Tensor G5", 0, 1881000, 255, 1728000000, 70.9, 252.42, 0.74, 0), - ("Tensor G5", 0, 1881000, 255, 1843000000, 73.76, 270.62, 1.24, 0), - ("Tensor G5", 0, 1881000, 255, 1920000000, 84.64, 288.52, 1.23, 0), - ("Tensor G5", 0, 1881000, 255, 1996000000, 91.7, 316.34, 0.67, 0), - ("Tensor G5", 0, 1881000, 255, 2092000000, 103.14, 355.3, 0.91, 0), - ("Tensor G5", 0, 1881000, 255, 2188000000, 114.68, 390.88, 0.97, 0), - ("Tensor G5", 0, 1996000, 255, 115000000, 35.86, 49.93, 0.74, 0), - ("Tensor G5", 0, 1996000, 255, 268000000, 38.38, 77.71, 0.63, 0), - ("Tensor G5", 0, 1996000, 255, 400000000, 42.03, 99.62, 0.93, 0), - ("Tensor G5", 0, 1996000, 255, 537000000, 45.66, 118.99, 0.73, 0), - ("Tensor G5", 0, 1996000, 255, 691000000, 47.66, 134.24, 1.41, 0), - ("Tensor G5", 0, 1996000, 255, 768000000, 51.67, 145.17, 0.94, 0), - ("Tensor G5", 0, 1996000, 255, 844000000, 53.54, 164.1, 1.04, 0), - ("Tensor G5", 0, 1996000, 255, 960000000, 56.94, 186.09, 0.72, 0), - ("Tensor G5", 0, 1996000, 255, 1056000000, 58.01, 182.51, 0.73, 0), - ("Tensor G5", 0, 1996000, 255, 1132000000, 59.73, 200.04, 1.01, 0), - ("Tensor G5", 0, 1996000, 255, 1228000000, 62.81, 213.61, 0.68, 0), - ("Tensor G5", 0, 1996000, 255, 1324000000, 65.4, 225.19, 0.61, 0), - ("Tensor G5", 0, 1996000, 255, 1420000000, 67.42, 228.54, 0.85, 0), - ("Tensor G5", 0, 1996000, 255, 1516000000, 69.73, 240.23, 0.89, 0), - ("Tensor G5", 0, 1996000, 255, 1612000000, 73.04, 250.67, 0.62, 0), - ("Tensor G5", 0, 1996000, 255, 1728000000, 75.73, 263.9, 0.65, 0), - ("Tensor G5", 0, 1996000, 255, 1843000000, 78.8, 274.24, 0.66, 0), - ("Tensor G5", 0, 1996000, 255, 1920000000, 85.72, 299.41, 0.75, 0), - ("Tensor G5", 0, 1996000, 255, 1996000000, 91.2, 332.3, 1.18, 0), - ("Tensor G5", 0, 1996000, 255, 2092000000, 101.06, 359.95, 1.36, 0), - ("Tensor G5", 0, 1996000, 255, 2188000000, 115.01, 419.31, 1.07, 0), - ("Tensor G5", 0, 2016000, 255, 115000000, 31.62, 55.5, 1.49, 0), - ("Tensor G5", 0, 2016000, 255, 268000000, 39.39, 85.13, 0.83, 0), - ("Tensor G5", 0, 2016000, 255, 400000000, 43.29, 96.41, 0.88, 0), - ("Tensor G5", 0, 2016000, 255, 537000000, 45.91, 115.47, 1.07, 0), - ("Tensor G5", 0, 2016000, 255, 691000000, 51.08, 141.38, 0.86, 0), - ("Tensor G5", 0, 2016000, 255, 768000000, 53.55, 150.9, 0.81, 0), - ("Tensor G5", 0, 2016000, 255, 844000000, 55.76, 161.46, 0.72, 0), - ("Tensor G5", 0, 2016000, 255, 960000000, 58.66, 191.14, 0.9, 0), - ("Tensor G5", 0, 2016000, 255, 1056000000, 59.96, 193.8, 0.61, 0), - ("Tensor G5", 0, 2016000, 255, 1132000000, 60.26, 202.23, 0.58, 0), - ("Tensor G5", 0, 2016000, 255, 1228000000, 64.55, 220.67, 0.84, 0), - ("Tensor G5", 0, 2016000, 255, 1324000000, 67.23, 223.1, 0.63, 0), - ("Tensor G5", 0, 2016000, 255, 1420000000, 69.75, 233.77, 0.7, 0), - ("Tensor G5", 0, 2016000, 255, 1516000000, 71.9, 246.63, 0.97, 0), - ("Tensor G5", 0, 2016000, 255, 1612000000, 74.84, 263.37, 0.85, 0), - ("Tensor G5", 0, 2016000, 255, 1728000000, 78.11, 276.42, 0.78, 0), - ("Tensor G5", 0, 2016000, 255, 1843000000, 82.33, 294.76, 1.29, 0), - ("Tensor G5", 0, 2016000, 255, 1920000000, 81.9, 299.3, 1.55, 0), - ("Tensor G5", 0, 2016000, 255, 1996000000, 91.67, 322.26, 0.91, 0), - ("Tensor G5", 0, 2016000, 255, 2092000000, 104.11, 358.2, 0.61, 0), - ("Tensor G5", 0, 2016000, 255, 2188000000, 114.88, 405.19, 1.22, 0), - ("Tensor G5", 0, 2054000, 255, 115000000, 36.6, 52.82, 0.93, 0), - ("Tensor G5", 0, 2054000, 255, 268000000, 41.46, 83.98, 0.84, 0), - ("Tensor G5", 0, 2054000, 255, 400000000, 45.31, 104.78, 1.11, 0), - ("Tensor G5", 0, 2054000, 255, 537000000, 49.6, 125.88, 0.81, 0), - ("Tensor G5", 0, 2054000, 255, 691000000, 53.74, 158.67, 0.86, 0), - ("Tensor G5", 0, 2054000, 255, 768000000, 54.47, 169.14, 2.61, 0), - ("Tensor G5", 0, 2054000, 255, 844000000, 58.3, 172.99, 0.86, 0), - ("Tensor G5", 0, 2054000, 255, 960000000, 62.79, 195.93, 0.18, 0), - ("Tensor G5", 0, 2054000, 255, 1056000000, 60.41, 201.47, 1.08, 0), - ("Tensor G5", 0, 2054000, 255, 1132000000, 64.96, 210.42, 0.97, 0), - ("Tensor G5", 0, 2054000, 255, 1228000000, 68.71, 228.57, 1.01, 0), - ("Tensor G5", 0, 2054000, 255, 1324000000, 68.3, 227.14, 1.92, 0), - ("Tensor G5", 0, 2054000, 255, 1420000000, 73.05, 245.3, 0.84, 0), - ("Tensor G5", 0, 2054000, 255, 1516000000, 75.94, 260.46, 0.6, 0), - ("Tensor G5", 0, 2054000, 255, 1612000000, 78.65, 264.24, 0.75, 0), - ("Tensor G5", 0, 2054000, 255, 1728000000, 84.04, 291.13, 1.0, 0), - ("Tensor G5", 0, 2054000, 255, 1843000000, 85.21, 302.95, 0.73, 0), - ("Tensor G5", 0, 2054000, 255, 1920000000, 87.3, 311.8, 0.86, 0), - ("Tensor G5", 0, 2054000, 255, 1996000000, 90.45, 316.78, 2.52, 0), - ("Tensor G5", 0, 2054000, 255, 2092000000, 104.03, 361.54, 0.77, 0), - ("Tensor G5", 0, 2054000, 255, 2188000000, 115.09, 426.55, 1.15, 0), - ("Tensor G5", 0, 2092000, 255, 115000000, 39.1, 56.49, 1.03, 0), - ("Tensor G5", 0, 2092000, 255, 268000000, 36.42, 84.78, 1.4, 0), - ("Tensor G5", 0, 2092000, 255, 400000000, 48.88, 109.91, 1.02, 0), - ("Tensor G5", 0, 2092000, 255, 537000000, 51.16, 130.06, 0.81, 0), - ("Tensor G5", 0, 2092000, 255, 691000000, 55.61, 160.42, 0.78, 0), - ("Tensor G5", 0, 2092000, 255, 768000000, 56.42, 157.73, 2.7, 0), - ("Tensor G5", 0, 2092000, 255, 844000000, 60.2, 189.98, 0.97, 0), - ("Tensor G5", 0, 2092000, 255, 960000000, 63.5, 200.08, 1.03, 0), - ("Tensor G5", 0, 2092000, 255, 1056000000, 65.36, 218.11, 0.41, 0), - ("Tensor G5", 0, 2092000, 255, 1132000000, 66.94, 231.3, 1.24, 0), - ("Tensor G5", 0, 2092000, 255, 1228000000, 70.27, 232.3, 0.78, 0), - ("Tensor G5", 0, 2092000, 255, 1324000000, 70.11, 245.3, 1.58, 0), - ("Tensor G5", 0, 2092000, 255, 1420000000, 75.26, 257.22, 1.01, 0), - ("Tensor G5", 0, 2092000, 255, 1516000000, 77.89, 277.04, 0.92, 0), - ("Tensor G5", 0, 2092000, 255, 1612000000, 82.16, 292.1, 0.23, 0), - ("Tensor G5", 0, 2092000, 255, 1728000000, 84.57, 295.18, 0.88, 0), - ("Tensor G5", 0, 2092000, 255, 1843000000, 87.98, 308.21, 0.66, 0), - ("Tensor G5", 0, 2092000, 255, 1920000000, 90.16, 322.65, 0.74, 0), - ("Tensor G5", 0, 2092000, 255, 1996000000, 92.65, 352.28, 0.56, 0), - ("Tensor G5", 0, 2092000, 255, 2092000000, 105.23, 370.03, 0.16, 0), - ("Tensor G5", 0, 2092000, 255, 2188000000, 115.87, 411.54, 0.85, 0), - ("Tensor G5", 0, 2169000, 255, 115000000, 42.62, 60.74, 0.77, 0), - ("Tensor G5", 0, 2169000, 255, 268000000, 43.69, 102.88, 2.88, 0), - ("Tensor G5", 0, 2169000, 255, 400000000, 50.61, 119.86, 2.35, 0), - ("Tensor G5", 0, 2169000, 255, 537000000, 54.62, 142.5, 2.85, 0), - ("Tensor G5", 0, 2169000, 255, 691000000, 60.28, 168.92, 1.7, 0), - ("Tensor G5", 0, 2169000, 255, 768000000, 63.92, 196.16, 1.14, 0), - ("Tensor G5", 0, 2169000, 255, 844000000, 66.68, 195.66, 0.87, 0), - ("Tensor G5", 0, 2169000, 255, 960000000, 70.49, 216.61, 0.73, 0), - ("Tensor G5", 0, 2169000, 255, 1056000000, 70.77, 244.97, 1.52, 0), - ("Tensor G5", 0, 2169000, 255, 1132000000, 74.14, 237.56, 0.96, 0), - ("Tensor G5", 0, 2169000, 255, 1228000000, 77.04, 278.22, 0.99, 0), - ("Tensor G5", 0, 2169000, 255, 1324000000, 80.22, 273.2, 0.87, 0), - ("Tensor G5", 0, 2169000, 255, 1420000000, 77.82, 287.03, 1.55, 0), - ("Tensor G5", 0, 2169000, 255, 1516000000, 85.41, 291.57, 1.36, 0), - ("Tensor G5", 0, 2169000, 255, 1612000000, 89.28, 325.21, 1.02, 0), - ("Tensor G5", 0, 2169000, 255, 1728000000, 94.06, 331.6, 0.35, 0), - ("Tensor G5", 0, 2169000, 255, 1843000000, 96.8, 342.11, 0.85, 0), - ("Tensor G5", 0, 2169000, 255, 1920000000, 98.83, 356.44, 1.09, 0), - ("Tensor G5", 0, 2169000, 255, 1996000000, 101.05, 352.73, 1.16, 0), - ("Tensor G5", 0, 2169000, 255, 2092000000, 104.74, 378.28, 0.65, 0), - ("Tensor G5", 0, 2169000, 255, 2188000000, 115.9, 413.13, 0.99, 0), - ("Tensor G5", 0, 2246000, 255, 115000000, 46.17, 65.62, 0.99, 0), - ("Tensor G5", 0, 2246000, 255, 268000000, 51.7, 109.99, 1.05, 0), - ("Tensor G5", 0, 2246000, 255, 400000000, 52.75, 130.87, 0.9, 0), - ("Tensor G5", 0, 2246000, 255, 537000000, 63.14, 166.48, 0.9, 0), - ("Tensor G5", 0, 2246000, 255, 691000000, 66.56, 185.35, 0.91, 0), - ("Tensor G5", 0, 2246000, 255, 768000000, 69.84, 213.57, 0.9, 0), - ("Tensor G5", 0, 2246000, 255, 844000000, 72.44, 209.96, 0.92, 0), - ("Tensor G5", 0, 2246000, 255, 960000000, 76.31, 244.77, 0.88, 0), - ("Tensor G5", 0, 2246000, 255, 1056000000, 77.19, 253.25, 1.15, 0), - ("Tensor G5", 0, 2246000, 255, 1132000000, 80.51, 269.49, 0.94, 0), - ("Tensor G5", 0, 2246000, 255, 1228000000, 86.15, 279.13, 1.28, 0), - ("Tensor G5", 0, 2246000, 255, 1324000000, 86.89, 298.88, 0.98, 0), - ("Tensor G5", 0, 2246000, 255, 1420000000, 87.36, 321.84, 1.2, 0), - ("Tensor G5", 0, 2246000, 255, 1516000000, 93.03, 322.88, 1.18, 0), - ("Tensor G5", 0, 2246000, 255, 1612000000, 96.83, 348.28, 1.16, 0), - ("Tensor G5", 0, 2246000, 255, 1728000000, 100.03, 359.41, 1.49, 0), - ("Tensor G5", 0, 2246000, 255, 1843000000, 104.83, 374.2, 0.96, 0), - ("Tensor G5", 0, 2246000, 255, 1920000000, 107.22, 382.67, 1.17, 0), - ("Tensor G5", 0, 2246000, 255, 1996000000, 110.02, 397.06, 0.87, 0), - ("Tensor G5", 0, 2246000, 255, 2092000000, 113.37, 443.7, 0.8, 0), - ("Tensor G5", 0, 2246000, 255, 2188000000, 116.14, 423.27, 1.22, 0)) AS _values + ("Tensor G5", 0, 268000, _dsu_dep!(), 115000000, 15.38, 7.88, 0.11, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 268000000, 14.63, 14.04, 1.89, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 400000000, 16.55, 20.75, 1.1, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 537000000, 19.11, 25.02, 1.01, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 691000000, 23.19, 34.83, 1.34, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 768000000, 26.06, 38.12, 1.14, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 844000000, 28.85, 10.76, 1.22, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 960000000, 32.34, 52.63, 1.27, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1056000000, 38.77, 52.47, 1.24, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1132000000, 37.64, 62.55, 1.23, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1228000000, 41.25, 68.97, 1.17, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1324000000, 44.53, 74.26, 1.2, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1420000000, 48.28, 85.23, 1.45, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1516000000, 52.09, 90.09, 1.35, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1612000000, 54.77, 95.13, 1.33, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1728000000, 65.3, 109.03, 1.53, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1843000000, 68.93, 130.0, 1.05, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1920000000, 78.89, 131.44, 1.92, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 1996000000, 85.37, 139.68, 1.36, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 2092000000, 96.41, 167.55, 1.66, 0), + ("Tensor G5", 0, 268000, _dsu_dep!(), 2188000000, 103.8, 186.28, 2.36, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 115000000, 13.03, 9.71, 0.94, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 268000000, 15.56, 16.65, 1.61, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 400000000, 17.81, 20.36, 0.35, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 537000000, 20.02, 29.11, 0.93, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 691000000, 24.83, 35.59, 0.46, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 768000000, 26.79, 40.61, 0.79, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 844000000, 29.23, 46.36, 1.03, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 960000000, 33.26, 54.77, 0.57, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1056000000, 35.24, 63.16, 0.87, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1132000000, 38.1, 68.68, 0.93, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1228000000, 40.04, 76.41, 2.53, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1324000000, 44.69, 78.79, 1.15, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1420000000, 48.98, 94.16, 1.08, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1516000000, 52.4, 100.6, 1.11, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1612000000, 58.33, 110.56, 1.07, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1728000000, 91.97, 104.29, 0.9, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1843000000, 73.52, 142.75, 0.98, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1920000000, 79.46, 158.68, 1.57, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 1996000000, 85.61, 167.47, 1.41, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 2092000000, 97.08, 188.3, 1.24, 0), + ("Tensor G5", 0, 345000, _dsu_dep!(), 2188000000, 104.12, 201.35, 0.55, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 115000000, 14.26, 10.39, 0.56, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 268000000, 15.58, 17.03, 0.64, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 400000000, 18.04, 22.22, 0.90, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 537000000, 20.33, 32.69, 0.87, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 691000000, 22.57, 40.93, 0.99, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 768000000, 27.44, 47.9, 1.11, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 844000000, 29.86, 48.01, 0.62, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 960000000, 31.79, 58.2, 1.08, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1056000000, 34.03, 69.79, 1.26, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1132000000, 38.34, 71.23, 0.78, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1228000000, 41.75, 76.41, 0.96, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1324000000, 44.81, 84.19, 1.09, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1420000000, 46.34, 93.12, 1.84, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1516000000, 52.79, 109.98, 1.02, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1612000000, 58.92, 121.77, 1.78, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1728000000, 66.4, 125.05, 1.0, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1843000000, 73.24, 155.18, 1.27, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1920000000, 79.7, 169.78, 1.52, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 1996000000, 85.83, 169.27, 1.37, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 2092000000, 97.68, 198.51, 1.01, 0), + ("Tensor G5", 0, 422000, _dsu_dep!(), 2188000000, 108.82, 219.75, 1.1, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 115000000, 14.4, 10.87, 0.3, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 268000000, 16.12, 20.76, 0.51, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 400000000, 18.59, 27.03, 0.63, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 537000000, 20.5, 32.26, 0.67, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 691000000, 15.76, 42.04, 1.34, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 768000000, 26.92, 45.26, 0.81, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 844000000, 29.65, 51.15, 0.84, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 960000000, 33.22, 64.57, 0.76, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1056000000, 35.32, 72.52, 0.91, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1132000000, 38.8, 79.61, 0.49, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1228000000, 42.32, 88.23, 0.6, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1324000000, 45.29, 94.03, 0.8, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1420000000, 49.15, 102.06, 0.93, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1516000000, 52.59, 100.8, 1.16, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1612000000, 58.83, 112.1, 0.85, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1728000000, 66.13, 127.77, 1.24, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1843000000, 73.7, 154.89, 0.93, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1920000000, 79.8, 171.36, 1.67, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 1996000000, 86.18, 167.59, 1.12, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 2092000000, 97.45, 185.37, 1.27, 0), + ("Tensor G5", 0, 460000, _dsu_dep!(), 2188000000, 108.94, 203.97, 1.04, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 115000000, 14.3, 11.55, 0.64, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 268000000, 16.65, 20.88, 0.42, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 400000000, 18.35, 29.02, 0.59, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 537000000, 19.83, 38.27, 1.36, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 691000000, 24.29, 46.66, 0.46, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 768000000, 27.09, 48.99, 0.52, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 844000000, 28.18, 51.64, 1.05, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 960000000, 31.37, 61.18, 1.45, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1056000000, 35.72, 73.64, 0.55, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1132000000, 38.17, 72.72, 0.77, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1228000000, 41.76, 83.2, 0.81, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1324000000, 44.91, 98.8, 0.9, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1420000000, 49.19, 111.71, 0.77, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1516000000, 52.54, 114.06, 0.96, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1612000000, 58.69, 129.09, 0.72, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1728000000, 66.35, 133.39, 0.81, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1843000000, 69.46, 158.55, 1.9, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1920000000, 80.14, 160.82, 1.01, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 1996000000, 85.93, 176.23, 1.14, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 2092000000, 96.43, 206.06, 1.61, 0), + ("Tensor G5", 0, 533000, _dsu_dep!(), 2188000000, 107.77, 221.39, 1.52, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 115000000, 15.92, 15.42, 1.23, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 268000000, 18.31, 28.5, 0.86, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 400000000, 20.51, 37.87, 0.74, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 537000000, 22.42, 44.91, 0.72, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 691000000, 23.82, 51.09, 1.63, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 768000000, 27.02, 60.86, 1.27, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 844000000, 30.12, 64.8, 0.77, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 960000000, 33.05, 72.37, 1.54, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1056000000, 36.2, 83.3, 0.91, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1132000000, 37.15, 88.36, 1.52, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1228000000, 41.42, 102.86, 1.02, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1324000000, 44.41, 112.95, 1.25, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1420000000, 50.58, 126.07, 0.47, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1516000000, 54.01, 139.42, 0.51, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1612000000, 59.5, 146.77, 0.78, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1728000000, 67.14, 168.02, 1.02, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1843000000, 74.48, 181.33, 0.97, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1920000000, 85.8, 222.78, 0.72, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 1996000000, 87.08, 226.78, 1.16, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 2092000000, 98.98, 254.91, 0.8, 0), + ("Tensor G5", 0, 729000, _dsu_dep!(), 2188000000, 103.8, 290.34, 1.07, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 115000000, 19.46, 17.48, 0.12, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 268000000, 21.3, 32.12, 0.18, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 400000000, 22.68, 43.41, 0.59, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 537000000, 24.87, 51.34, 0.47, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 691000000, 26.93, 59.0, 0.56, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 768000000, 29.44, 60.66, 0.09, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 844000000, 29.33, 70.19, 0.84, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 960000000, 33.06, 83.65, 0.71, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1056000000, 36.2, 90.53, 0.92, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1132000000, 39.04, 103.09, 0.78, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1228000000, 46.04, 114.89, 0.8, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1324000000, 46.13, 115.45, 0.87, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1420000000, 48.66, 133.67, 1.47, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1516000000, 54.16, 143.27, 0.77, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1612000000, 57.49, 150.15, 1.21, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1728000000, 67.93, 188.21, 0.71, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1843000000, 72.55, 199.99, 1.38, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1920000000, 82.1, 228.38, 0.84, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 1996000000, 84.13, 225.51, 1.47, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 2092000000, 98.82, 264.64, 1.26, 0), + ("Tensor G5", 0, 883000, _dsu_dep!(), 2188000000, 105.97, 283.71, 5.98, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 115000000, 19.27, 20.49, 0.54, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 268000000, 21.28, 33.3, 0.67, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 400000000, 23.61, 44.45, 0.73, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 537000000, 26.03, 55.75, 0.54, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 691000000, 28.27, 67.73, 0.6, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 768000000, 29.73, 72.22, 0.63, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 844000000, 31.23, 74.49, 0.44, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 960000000, 40.33, 85.06, 0.38, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1056000000, 36.75, 95.54, 0.72, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1132000000, 40.35, 107.32, 0.36, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1228000000, 43.56, 115.64, 0.66, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1324000000, 46.58, 130.94, 0.9, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1420000000, 50.64, 151.0, 0.91, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1516000000, 54.06, 145.58, 0.95, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1612000000, 60.43, 172.93, 0.73, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1728000000, 68.19, 185.82, 0.89, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1843000000, 75.43, 211.12, 0.95, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1920000000, 75.64, 228.31, 1.33, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 1996000000, 88.17, 250.07, 1.18, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 2092000000, 100.08, 274.23, 0.87, 0), + ("Tensor G5", 0, 1036000, _dsu_dep!(), 2188000000, 111.22, 322.66, 1.03, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 115000000, 20.35, 22.29, 0.56, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 268000000, 22.92, 42.08, 0.73, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 400000000, 25.66, 50.48, 0.38, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 537000000, 27.58, 58.6, 0.62, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 691000000, 29.84, 71.45, 0.8, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 768000000, 30.93, 79.32, 1.34, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 844000000, 31.84, 80.86, 1.76, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 960000000, 34.43, 89.45, 0.93, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1056000000, 36.96, 101.52, 0.81, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1132000000, 40.1, 109.06, 0.64, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1228000000, 43.66, 133.21, 0.83, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1324000000, 47.3, 138.71, 0.56, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1420000000, 51.13, 147.79, 0.87, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1516000000, 55.16, 161.04, 0.53, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1612000000, 54.08, 178.54, 5.18, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1728000000, 69.73, 193.32, 1.84, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1843000000, 75.0, 221.8, 1.83, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1920000000, 82.32, 241.49, 1.29, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 1996000000, 88.62, 264.4, 1.18, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 2092000000, 100.23, 297.33, 1.11, 0), + ("Tensor G5", 0, 1190000, _dsu_dep!(), 2188000000, 111.75, 338.84, 1.22, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 115000000, 21.61, 29.39, 1.21, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 268000000, 25.28, 44.57, 0.36, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 400000000, 28.12, 56.33, 0.29, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 537000000, 29.55, 71.13, 0.78, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 691000000, 32.11, 78.96, 0.79, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 768000000, 26.37, 76.42, 8.34, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 844000000, 28.68, 69.5, 1.26, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 960000000, 36.88, 107.59, 1.13, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1056000000, 37.82, 106.56, 0.83, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1132000000, 39.79, 112.11, 1.09, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1228000000, 43.5, 129.42, 1.02, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1324000000, 468.82, 140.63, 0.74, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1420000000, 185.39, 164.73, 0.81, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1516000000, 282.14, 182.65, 0.7, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1612000000, 298.78, 190.35, 0.96, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1728000000, 422.42, 205.29, 0.86, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1843000000, 77.84, 227.42, 0.15, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1920000000, 84.4, 249.93, 0.27, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 1996000000, 90.1, 274.36, 0.61, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 2092000000, 101.23, 315.63, 0.86, 0), + ("Tensor G5", 0, 1286000, _dsu_dep!(), 2188000000, 112.88, 339.0, 0.79, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 115000000, 22.78, 30.64, 0.67, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 268000000, 26.61, 46.13, 0.25, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 400000000, 28.62, 56.41, 0.58, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 537000000, 31.0, 71.3, 0.65, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 691000000, 33.59, 86.05, 0.75, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 768000000, 35.42, 95.78, 0.66, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 844000000, 35.25, 93.0, 0.68, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 960000000, 40.43, 105.52, 0.67, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1056000000, 39.58, 109.81, 0.62, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1132000000, 41.12, 115.72, 0.69, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1228000000, 42.13, 127.16, 1.53, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1324000000, 47.56, 139.5, 0.75, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1420000000, 52.38, 156.85, 0.39, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1516000000, 53.61, 162.52, 1.46, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1612000000, 61.48, 183.97, 0.59, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1728000000, 69.42, 210.05, 0.86, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1843000000, 76.17, 234.68, 1.37, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1920000000, 82.86, 258.92, 1.23, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 1996000000, 89.89, 297.04, 0.77, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 2092000000, 101.61, 308.49, 0.78, 0), + ("Tensor G5", 0, 1363000, _dsu_dep!(), 2188000000, 108.47, 332.08, 1.22, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 115000000, 25.02, 32.49, 0.38, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 268000000, 28.45, 48.13, 0.3, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 400000000, 30.78, 66.35, 0.55, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 537000000, 32.6, 76.75, 1.17, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 691000000, 36.24, 94.36, 0.62, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 768000000, 37.69, 100.45, 0.78, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 844000000, 39.37, 105.59, 0.71, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 960000000, 41.63, 122.39, 0.7, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1056000000, 42.52, 125.65, 0.64, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1132000000, 44.07, 130.33, 0.65, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1228000000, 45.76, 139.21, 0.95, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1324000000, 47.31, 148.74, 0.85, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1420000000, 53.2, 162.42, 0.11, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1516000000, 55.3, 177.22, 0.87, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1612000000, 61.69, 194.55, 0.7, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1728000000, 69.63, 214.84, 0.79, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1843000000, 76.84, 237.31, 0.94, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1920000000, 83.6, 269.29, 1.05, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 1996000000, 90.18, 288.85, 0.78, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 2092000000, 101.79, 343.02, 0.86, 0), + ("Tensor G5", 0, 1459000, _dsu_dep!(), 2188000000, 112.96, 375.32, 0.96, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 115000000, 25.81, 33.24, 0.78, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 268000000, 29.88, 57.31, 0.4, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 400000000, 31.54, 69.2, 1.09, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 537000000, 35.15, 83.66, 0.6, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 691000000, 37.77, 96.68, 0.87, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 768000000, 39.08, 105.1, 1.93, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 844000000, 41.72, 117.06, 0.56, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 960000000, 44.12, 125.35, 0.55, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1056000000, 44.67, 133.17, 0.68, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1132000000, 46.67, 135.44, 0.57, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1228000000, 47.89, 151.1, 0.95, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1324000000, 50.34, 158.81, 0.74, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1420000000, 52.28, 162.93, 0.73, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1516000000, 56.05, 175.57, 0.62, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1612000000, 59.86, 191.93, 2.7, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1728000000, 71.5, 230.99, 1.77, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1843000000, 77.48, 244.05, 0.62, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1920000000, 84.48, 270.05, 0.78, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 1996000000, 89.7, 290.99, 1.2, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 2092000000, 101.61, 331.63, 1.2, 0), + ("Tensor G5", 0, 1555000, _dsu_dep!(), 2188000000, 113.01, 374.24, 1.12, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 115000000, 28.25, 36.62, 0.01, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 268000000, 30.28, 58.2, 0.76, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 400000000, 33.89, 76.04, 0.3, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 537000000, 36.11, 84.16, 0.88, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 691000000, 40.44, 105.97, 0.79, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 768000000, 41.68, 120.82, 0.52, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 844000000, 43.07, 119.68, 0.71, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 960000000, 45.15, 131.08, 0.92, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1056000000, 46.16, 139.07, 0.72, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1132000000, 46.46, 146.5, 1.22, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1228000000, 49.99, 157.13, 0.72, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1324000000, 51.75, 164.34, 1.05, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1420000000, 54.29, 173.74, 0.62, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1516000000, 56.69, 185.94, 0.0, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1612000000, 61.72, 203.28, 0.99, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1728000000, 69.77, 241.15, 1.06, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1843000000, 77.12, 269.15, 1.05, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1920000000, 83.99, 285.59, 1.27, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 1996000000, 96.73, 303.74, 1.1, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 2092000000, 102.17, 336.84, 0.86, 0), + ("Tensor G5", 0, 1632000, _dsu_dep!(), 2188000000, 111.49, 371.95, 1.22, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 115000000, 28.83, 39.78, 1.04, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 268000000, 32.14, 62.72, 1.66, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 400000000, 36.53, 81.64, 0.76, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 537000000, 39.54, 96.57, 0.88, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 691000000, 42.74, 115.72, 1.05, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 768000000, 45.06, 126.78, 0.85, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 844000000, 47.09, 133.63, 0.72, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 960000000, 49.04, 145.75, 1.06, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1056000000, 50.36, 175.74, 0.85, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1132000000, 50.45, 164.82, 0.83, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1228000000, 54.76, 177.83, 0.81, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1324000000, 56.73, 186.14, 0.83, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1420000000, 60.62, 195.35, 0.0, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1516000000, 60.49, 216.61, 1.09, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1612000000, 63.81, 203.86, 0.61, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1728000000, 70.61, 237.14, 0.56, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1843000000, 74.41, 252.18, 1.25, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1920000000, 86.28, 282.05, 1.6, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 1996000000, 91.18, 310.57, 0.68, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 2092000000, 102.74, 344.05, 0.89, 0), + ("Tensor G5", 0, 1766000, _dsu_dep!(), 2188000000, 113.23, 396.02, 1.45, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 115000000, 31.65, 44.25, 0.81, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 268000000, 35.73, 69.99, 0.59, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 400000000, 39.31, 85.52, 0.7, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 537000000, 42.38, 102.24, 0.92, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 691000000, 46.12, 120.67, 0.79, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 768000000, 48.01, 142.64, 1.01, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 844000000, 47.93, 155.88, 1.04, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 960000000, 52.63, 162.54, 1.17, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1056000000, 53.94, 172.98, 0.84, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1132000000, 56.33, 180.7, 0.68, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1228000000, 58.35, 191.56, 0.84, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1324000000, 60.94, 197.53, 0.71, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1420000000, 63.56, 220.68, 0.39, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1516000000, 63.6, 222.55, 1.52, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1612000000, 68.76, 243.96, 0.34, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1728000000, 70.9, 252.42, 0.74, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1843000000, 73.76, 270.62, 1.24, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1920000000, 84.64, 288.52, 1.23, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 1996000000, 91.7, 316.34, 0.67, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 2092000000, 103.14, 355.3, 0.91, 0), + ("Tensor G5", 0, 1881000, _dsu_dep!(), 2188000000, 114.68, 390.88, 0.97, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 115000000, 35.86, 49.93, 0.74, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 268000000, 38.38, 77.71, 0.63, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 400000000, 42.03, 99.62, 0.93, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 537000000, 45.66, 118.99, 0.73, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 691000000, 47.66, 134.24, 1.41, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 768000000, 51.67, 145.17, 0.94, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 844000000, 53.54, 164.1, 1.04, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 960000000, 56.94, 186.09, 0.72, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1056000000, 58.01, 182.51, 0.73, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1132000000, 59.73, 200.04, 1.01, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1228000000, 62.81, 213.61, 0.68, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1324000000, 65.4, 225.19, 0.61, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1420000000, 67.42, 228.54, 0.85, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1516000000, 69.73, 240.23, 0.89, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1612000000, 73.04, 250.67, 0.62, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1728000000, 75.73, 263.9, 0.65, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1843000000, 78.8, 274.24, 0.66, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1920000000, 85.72, 299.41, 0.75, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 1996000000, 91.2, 332.3, 1.18, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 2092000000, 101.06, 359.95, 1.36, 0), + ("Tensor G5", 0, 1996000, _dsu_dep!(), 2188000000, 115.01, 419.31, 1.07, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 115000000, 31.62, 55.5, 1.49, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 268000000, 39.39, 85.13, 0.83, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 400000000, 43.29, 96.41, 0.88, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 537000000, 45.91, 115.47, 1.07, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 691000000, 51.08, 141.38, 0.86, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 768000000, 53.55, 150.9, 0.81, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 844000000, 55.76, 161.46, 0.72, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 960000000, 58.66, 191.14, 0.9, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1056000000, 59.96, 193.8, 0.61, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1132000000, 60.26, 202.23, 0.58, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1228000000, 64.55, 220.67, 0.84, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1324000000, 67.23, 223.1, 0.63, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1420000000, 69.75, 233.77, 0.7, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1516000000, 71.9, 246.63, 0.97, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1612000000, 74.84, 263.37, 0.85, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1728000000, 78.11, 276.42, 0.78, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1843000000, 82.33, 294.76, 1.29, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1920000000, 81.9, 299.3, 1.55, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 1996000000, 91.67, 322.26, 0.91, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 2092000000, 104.11, 358.2, 0.61, 0), + ("Tensor G5", 0, 2016000, _dsu_dep!(), 2188000000, 114.88, 405.19, 1.22, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 115000000, 36.6, 52.82, 0.93, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 268000000, 41.46, 83.98, 0.84, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 400000000, 45.31, 104.78, 1.11, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 537000000, 49.6, 125.88, 0.81, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 691000000, 53.74, 158.67, 0.86, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 768000000, 54.47, 169.14, 2.61, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 844000000, 58.3, 172.99, 0.86, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 960000000, 62.79, 195.93, 0.18, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1056000000, 60.41, 201.47, 1.08, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1132000000, 64.96, 210.42, 0.97, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1228000000, 68.71, 228.57, 1.01, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1324000000, 68.3, 227.14, 1.92, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1420000000, 73.05, 245.3, 0.84, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1516000000, 75.94, 260.46, 0.6, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1612000000, 78.65, 264.24, 0.75, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1728000000, 84.04, 291.13, 1.0, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1843000000, 85.21, 302.95, 0.73, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1920000000, 87.3, 311.8, 0.86, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 1996000000, 90.45, 316.78, 2.52, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 2092000000, 104.03, 361.54, 0.77, 0), + ("Tensor G5", 0, 2054000, _dsu_dep!(), 2188000000, 115.09, 426.55, 1.15, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 115000000, 39.1, 56.49, 1.03, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 268000000, 36.42, 84.78, 1.4, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 400000000, 48.88, 109.91, 1.02, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 537000000, 51.16, 130.06, 0.81, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 691000000, 55.61, 160.42, 0.78, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 768000000, 56.42, 157.73, 2.7, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 844000000, 60.2, 189.98, 0.97, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 960000000, 63.5, 200.08, 1.03, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1056000000, 65.36, 218.11, 0.41, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1132000000, 66.94, 231.3, 1.24, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1228000000, 70.27, 232.3, 0.78, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1324000000, 70.11, 245.3, 1.58, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1420000000, 75.26, 257.22, 1.01, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1516000000, 77.89, 277.04, 0.92, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1612000000, 82.16, 292.1, 0.23, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1728000000, 84.57, 295.18, 0.88, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1843000000, 87.98, 308.21, 0.66, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1920000000, 90.16, 322.65, 0.74, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 1996000000, 92.65, 352.28, 0.56, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 2092000000, 105.23, 370.03, 0.16, 0), + ("Tensor G5", 0, 2092000, _dsu_dep!(), 2188000000, 115.87, 411.54, 0.85, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 115000000, 42.62, 60.74, 0.77, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 268000000, 43.69, 102.88, 2.88, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 400000000, 50.61, 119.86, 2.35, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 537000000, 54.62, 142.5, 2.85, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 691000000, 60.28, 168.92, 1.7, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 768000000, 63.92, 196.16, 1.14, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 844000000, 66.68, 195.66, 0.87, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 960000000, 70.49, 216.61, 0.73, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1056000000, 70.77, 244.97, 1.52, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1132000000, 74.14, 237.56, 0.96, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1228000000, 77.04, 278.22, 0.99, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1324000000, 80.22, 273.2, 0.87, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1420000000, 77.82, 287.03, 1.55, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1516000000, 85.41, 291.57, 1.36, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1612000000, 89.28, 325.21, 1.02, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1728000000, 94.06, 331.6, 0.35, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1843000000, 96.8, 342.11, 0.85, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1920000000, 98.83, 356.44, 1.09, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 1996000000, 101.05, 352.73, 1.16, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 2092000000, 104.74, 378.28, 0.65, 0), + ("Tensor G5", 0, 2169000, _dsu_dep!(), 2188000000, 115.9, 413.13, 0.99, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 115000000, 46.17, 65.62, 0.99, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 268000000, 51.7, 109.99, 1.05, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 400000000, 52.75, 130.87, 0.9, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 537000000, 63.14, 166.48, 0.9, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 691000000, 66.56, 185.35, 0.91, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 768000000, 69.84, 213.57, 0.9, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 844000000, 72.44, 209.96, 0.92, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 960000000, 76.31, 244.77, 0.88, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1056000000, 77.19, 253.25, 1.15, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1132000000, 80.51, 269.49, 0.94, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1228000000, 86.15, 279.13, 1.28, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1324000000, 86.89, 298.88, 0.98, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1420000000, 87.36, 321.84, 1.2, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1516000000, 93.03, 322.88, 1.18, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1612000000, 96.83, 348.28, 1.16, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1728000000, 100.03, 359.41, 1.49, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1843000000, 104.83, 374.2, 0.96, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1920000000, 107.22, 382.67, 1.17, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 1996000000, 110.02, 397.06, 0.87, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 2092000000, 113.37, 443.7, 0.8, 0), + ("Tensor G5", 0, 2246000, _dsu_dep!(), 2188000000, 116.14, 423.27, 1.22, 0)) AS _values ) SELECT * diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_l3.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_l3.sql index 08acf87a6d3..f64ee938f82 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_l3.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/tg5_l3.sql @@ -13,474 +13,476 @@ -- See the License for the specific language governing permissions and -- limitations under the License. +INCLUDE PERFETTO MODULE wattson.utils; + CREATE PERFETTO TABLE _tg5_l3_lut AS WITH data(device, freq_khz, dep_policy, dep_freq, l3_hit, l3_miss) AS ( SELECT * FROM (VALUES - ("Tensor G5", 268000, 255, 115000000, 0.1096, 0.1484), - ("Tensor G5", 268000, 255, 268000000, 0.1603, 0.15), - ("Tensor G5", 268000, 255, 400000000, 0.1088, 0.1989), - ("Tensor G5", 268000, 255, 537000000, 0.1495, 0.1862), - ("Tensor G5", 268000, 255, 691000000, 0.1491, 0.1763), - ("Tensor G5", 268000, 255, 768000000, 0.1586, 0.1999), - ("Tensor G5", 268000, 255, 844000000, 0.1495, 6.8313), - ("Tensor G5", 268000, 255, 960000000, 0.1513, 0.2175), - ("Tensor G5", 268000, 255, 1056000000, 0.1767, 0.2546), - ("Tensor G5", 268000, 255, 1132000000, 0.1893, 0.3096), - ("Tensor G5", 268000, 255, 1228000000, 0.1963, 0.4018), - ("Tensor G5", 268000, 255, 1324000000, 0.2142, 22.534), - ("Tensor G5", 268000, 255, 1420000000, 0.1716, 0.3265), - ("Tensor G5", 268000, 255, 1516000000, 0.1727, 0.4936), - ("Tensor G5", 268000, 255, 1612000000, 0.2809, 0.3208), - ("Tensor G5", 268000, 255, 1728000000, 0.2871, 0.3911), - ("Tensor G5", 268000, 255, 1843000000, 0.3139, 0.4534), - ("Tensor G5", 268000, 255, 1920000000, 0.3256, 0.5752), - ("Tensor G5", 268000, 255, 1996000000, 0.3684, 0.9744), - ("Tensor G5", 268000, 255, 2092000000, 0.2165, 0.7048), - ("Tensor G5", 268000, 255, 2188000000, 0.2103, 0.8444), - ("Tensor G5", 345000, 255, 115000000, 0.1522, 0.195), - ("Tensor G5", 345000, 255, 268000000, 0.2311, 0.1862), - ("Tensor G5", 345000, 255, 400000000, 0.1207, 0.1636), - ("Tensor G5", 345000, 255, 537000000, 0.1273, 0.1573), - ("Tensor G5", 345000, 255, 691000000, 0.1184, 0.2618), - ("Tensor G5", 345000, 255, 768000000, 0.142, 0.2482), - ("Tensor G5", 345000, 255, 844000000, 0.1446, 0.2664), - ("Tensor G5", 345000, 255, 960000000, 0.1687, 0.2662), - ("Tensor G5", 345000, 255, 1056000000, 0.1709, 0.2462), - ("Tensor G5", 345000, 255, 1132000000, 0.1808, 0.3296), - ("Tensor G5", 345000, 255, 1228000000, 0.2105, 0.4074), - ("Tensor G5", 345000, 255, 1324000000, 0.2069, 0.3526), - ("Tensor G5", 345000, 255, 1420000000, 0.2409, 0.2047), - ("Tensor G5", 345000, 255, 1516000000, 0.2518, 0.4096), - ("Tensor G5", 345000, 255, 1612000000, 0.2511, 0.4804), - ("Tensor G5", 345000, 255, 1728000000, 0.2823, 0.4971), - ("Tensor G5", 345000, 255, 1843000000, 0.2927, 0.5702), - ("Tensor G5", 345000, 255, 1920000000, 0.2052, 0.4422), - ("Tensor G5", 345000, 255, 1996000000, 0.4153, 0.3802), - ("Tensor G5", 345000, 255, 2092000000, 0.3097, 0.5162), - ("Tensor G5", 345000, 255, 2188000000, 0.5075, 0.7948), - ("Tensor G5", 422000, 255, 115000000, 0.1601, 0.1432), - ("Tensor G5", 422000, 255, 268000000, 0.166, 0.1341), - ("Tensor G5", 422000, 255, 400000000, 0.1538, 0.1711), - ("Tensor G5", 422000, 255, 537000000, 0.1179, 0.2207), - ("Tensor G5", 422000, 255, 691000000, 0.1304, 0.1672), - ("Tensor G5", 422000, 255, 768000000, 0.1588, 0.2404), - ("Tensor G5", 422000, 255, 844000000, 0.1435, 0.2624), - ("Tensor G5", 422000, 255, 960000000, 0.1502, 0.3262), - ("Tensor G5", 422000, 255, 1056000000, 0.1573, 0.2803), - ("Tensor G5", 422000, 255, 1132000000, 0.0958, 0.386), - ("Tensor G5", 422000, 255, 1228000000, 0.1969, 0.2835), - ("Tensor G5", 422000, 255, 1324000000, 0.1636, 0.3339), - ("Tensor G5", 422000, 255, 1420000000, 0.2266, 0.2891), - ("Tensor G5", 422000, 255, 1516000000, 0.2091, 0.4236), - ("Tensor G5", 422000, 255, 1612000000, 0.2490, 0.3549), - ("Tensor G5", 422000, 255, 1728000000, 0.3082, 0.3632), - ("Tensor G5", 422000, 255, 1843000000, 0.3012, 0.3561), - ("Tensor G5", 422000, 255, 1920000000, 0.1777, 0.5647), - ("Tensor G5", 422000, 255, 1996000000, 0.3266, 0.43), - ("Tensor G5", 422000, 255, 2092000000, 0.454, 0.6733), - ("Tensor G5", 422000, 255, 2188000000, 0.4805, 0.6816), - ("Tensor G5", 460000, 255, 115000000, 0.1651, 0.204), - ("Tensor G5", 460000, 255, 268000000, 0.1438, 0.1276), - ("Tensor G5", 460000, 255, 400000000, 0.1075, 0.1939), - ("Tensor G5", 460000, 255, 537000000, 0.1261, 0.1285), - ("Tensor G5", 460000, 255, 691000000, 0.1256, 0.2624), - ("Tensor G5", 460000, 255, 768000000, 0.1384, 0.204), - ("Tensor G5", 460000, 255, 844000000, 0.1257, 0.2887), - ("Tensor G5", 460000, 255, 960000000, 0.153, 0.245), - ("Tensor G5", 460000, 255, 1056000000, 0.1455, 0.3272), - ("Tensor G5", 460000, 255, 1132000000, 0.1422, 0.4246), - ("Tensor G5", 460000, 255, 1228000000, 0.1987, 0.3256), - ("Tensor G5", 460000, 255, 1324000000, 0.22, 0.3311), - ("Tensor G5", 460000, 255, 1420000000, 0.2231, 0.3838), - ("Tensor G5", 460000, 255, 1516000000, 0.2031, 0.3308), - ("Tensor G5", 460000, 255, 1612000000, 0.2589, 0.4011), - ("Tensor G5", 460000, 255, 1728000000, 0.3040, 0.3885), - ("Tensor G5", 460000, 255, 1843000000, 0.3109, 0.3531), - ("Tensor G5", 460000, 255, 1920000000, 0.3399, 0.4649), - ("Tensor G5", 460000, 255, 1996000000, 0.337, 0.4433), - ("Tensor G5", 460000, 255, 2092000000, 0.4644, 0.4299), - ("Tensor G5", 460000, 255, 2188000000, 0.5037, 0.4928), - ("Tensor G5", 533000, 255, 115000000, 0.1575, 0.1441), - ("Tensor G5", 533000, 255, 268000000, 0.1462, 0.1353), - ("Tensor G5", 533000, 255, 400000000, 0.1451, 0.1754), - ("Tensor G5", 533000, 255, 537000000, 0.1875, 6.2512), - ("Tensor G5", 533000, 255, 691000000, 0.1315, 0.1762), - ("Tensor G5", 533000, 255, 768000000, 0.1412, 0.3602), - ("Tensor G5", 533000, 255, 844000000, 0.1767, 0.2519), - ("Tensor G5", 533000, 255, 960000000, 0.1543, 0.3237), - ("Tensor G5", 533000, 255, 1056000000, 0.1698, 0.3625), - ("Tensor G5", 533000, 255, 1132000000, 0.1917, 0.3437), - ("Tensor G5", 533000, 255, 1228000000, 0.2033, 0.2077), - ("Tensor G5", 533000, 255, 1324000000, 0.2092, 0.377), - ("Tensor G5", 533000, 255, 1420000000, 0.1063, 0.4008), - ("Tensor G5", 533000, 255, 1516000000, 0.2536, 0.4216), - ("Tensor G5", 533000, 255, 1612000000, 0.2602, 0.2967), - ("Tensor G5", 533000, 255, 1728000000, 0.3103, 0.2283), - ("Tensor G5", 533000, 255, 1843000000, 0.2857, 0.4644), - ("Tensor G5", 533000, 255, 1920000000, 0.3088, 0.4967), - ("Tensor G5", 533000, 255, 1996000000, 0.266, 0.4850), - ("Tensor G5", 533000, 255, 2092000000, 0.4351, 0.7022), - ("Tensor G5", 533000, 255, 2188000000, 0.4447, 0.4921), - ("Tensor G5", 729000, 255, 115000000, 0.2143, 0.1696), - ("Tensor G5", 729000, 255, 268000000, 0.1731, 0.1759), - ("Tensor G5", 729000, 255, 400000000, 0.1494, 0.196), - ("Tensor G5", 729000, 255, 537000000, 0.14, 0.2668), - ("Tensor G5", 729000, 255, 691000000, 0.1472, 0.2284), - ("Tensor G5", 729000, 255, 768000000, 0.1319, 0.262), - ("Tensor G5", 729000, 255, 844000000, 0.1354, 0.3745), - ("Tensor G5", 729000, 255, 960000000, 0.1384, 0.3165), - ("Tensor G5", 729000, 255, 1056000000, 0.1647, 0.3725), - ("Tensor G5", 729000, 255, 1132000000, 0.1996, 0.33), - ("Tensor G5", 729000, 255, 1228000000, 0.1985, 0.2897), - ("Tensor G5", 729000, 255, 1324000000, 0.215, 0.2930), - ("Tensor G5", 729000, 255, 1420000000, 0.2036, 0.2291), - ("Tensor G5", 729000, 255, 1516000000, 0.2385, 0.3767), - ("Tensor G5", 729000, 255, 1612000000, 0.2523, 0.4113), - ("Tensor G5", 729000, 255, 1728000000, 0.2945, 0.2853), - ("Tensor G5", 729000, 255, 1843000000, 0.3399, 0.4153), - ("Tensor G5", 729000, 255, 1920000000, 0.3445, 0.4327), - ("Tensor G5", 729000, 255, 1996000000, 0.1737, 0.5003), - ("Tensor G5", 729000, 255, 2092000000, 0.4652, 0.5378), - ("Tensor G5", 729000, 255, 2188000000, 0.4582, 0.6071), - ("Tensor G5", 883000, 255, 115000000, 0.202, 0.2491), - ("Tensor G5", 883000, 255, 268000000, 0.1966, 0.1789), - ("Tensor G5", 883000, 255, 400000000, 0.1675, 0.1921), - ("Tensor G5", 883000, 255, 537000000, 0.1349, 0.2125), - ("Tensor G5", 883000, 255, 691000000, 0.1623, 0.2692), - ("Tensor G5", 883000, 255, 768000000, 0.1659, 0.1773), - ("Tensor G5", 883000, 255, 844000000, 0.1258, 0.2663), - ("Tensor G5", 883000, 255, 960000000, 0.1843, 0.2412), - ("Tensor G5", 883000, 255, 1056000000, 0.2039, 0.2743), - ("Tensor G5", 883000, 255, 1132000000, 0.0848, 0.4186), - ("Tensor G5", 883000, 255, 1228000000, 0.1583, 0.2785), - ("Tensor G5", 883000, 255, 1324000000, 0.2235, 0.1911), - ("Tensor G5", 883000, 255, 1420000000, 0.2303, 0.3561), - ("Tensor G5", 883000, 255, 1516000000, 0.195, 0.3763), - ("Tensor G5", 883000, 255, 1612000000, 0.2839, 0.3873), - ("Tensor G5", 883000, 255, 1728000000, 0.2971, 0.5389), - ("Tensor G5", 883000, 255, 1843000000, 0.1643, 0.7782), - ("Tensor G5", 883000, 255, 1920000000, 0.3829, 0.4392), - ("Tensor G5", 883000, 255, 1996000000, 0.39, 0.376), - ("Tensor G5", 883000, 255, 2092000000, 0.4458, 0.5296), - ("Tensor G5", 883000, 255, 2188000000, 0.4588, 0.4416), - ("Tensor G5", 1036000, 255, 115000000, 0.2181, 0.1638), - ("Tensor G5", 1036000, 255, 268000000, 0.2075, 0.1466), - ("Tensor G5", 1036000, 255, 400000000, 0.1804, 0.2125), - ("Tensor G5", 1036000, 255, 537000000, 0.1559, 0.1926), - ("Tensor G5", 1036000, 255, 691000000, 0.155, 0.2547), - ("Tensor G5", 1036000, 255, 768000000, 0.123, 0.5322), - ("Tensor G5", 1036000, 255, 844000000, 0.1474, 0.2743), - ("Tensor G5", 1036000, 255, 960000000, 0.1687, 0.2686), - ("Tensor G5", 1036000, 255, 1056000000, 0.182, 0.3021), - ("Tensor G5", 1036000, 255, 1132000000, 0.1840, 0.2234), - ("Tensor G5", 1036000, 255, 1228000000, 0.1698, 0.2769), - ("Tensor G5", 1036000, 255, 1324000000, 0.1056, 0.337), - ("Tensor G5", 1036000, 255, 1420000000, 0.2004, 0.3431), - ("Tensor G5", 1036000, 255, 1516000000, 0.2392, 0.3476), - ("Tensor G5", 1036000, 255, 1612000000, 0.27, 0.35), - ("Tensor G5", 1036000, 255, 1728000000, 0.2964, 0.3646), - ("Tensor G5", 1036000, 255, 1843000000, 0.2966, 0.3378), - ("Tensor G5", 1036000, 255, 1920000000, 0.3823, 0.5215), - ("Tensor G5", 1036000, 255, 1996000000, 0.3764, 0.6542), - ("Tensor G5", 1036000, 255, 2092000000, 0.3531, 0.8952), - ("Tensor G5", 1036000, 255, 2188000000, 0.5176, 0.3729), - ("Tensor G5", 1190000, 255, 115000000, 0.21, 0.3403), - ("Tensor G5", 1190000, 255, 268000000, 0.1794, 0.2271), - ("Tensor G5", 1190000, 255, 400000000, 0.1604, 0.2157), - ("Tensor G5", 1190000, 255, 537000000, 0.1828, 0.1426), - ("Tensor G5", 1190000, 255, 691000000, 0.1673, 0.1555), - ("Tensor G5", 1190000, 255, 768000000, 0.1654, 0.2941), - ("Tensor G5", 1190000, 255, 844000000, 0.1618, 0.2666), - ("Tensor G5", 1190000, 255, 960000000, 0.1752, 0.1551), - ("Tensor G5", 1190000, 255, 1056000000, 0.1868, 0.298), - ("Tensor G5", 1190000, 255, 1132000000, 0.1857, 0.2223), - ("Tensor G5", 1190000, 255, 1228000000, 0.2031, 0.2645), - ("Tensor G5", 1190000, 255, 1324000000, 0.1763, 0.3173), - ("Tensor G5", 1190000, 255, 1420000000, 0.2207, 0.3266), - ("Tensor G5", 1190000, 255, 1516000000, 0.2105, 0.319), - ("Tensor G5", 1190000, 255, 1612000000, 0.2854, 0.2594), - ("Tensor G5", 1190000, 255, 1728000000, 0.3071, 0.3061), - ("Tensor G5", 1190000, 255, 1843000000, 0.3332, 0.2915), - ("Tensor G5", 1190000, 255, 1920000000, 0.3649, 0.4683), - ("Tensor G5", 1190000, 255, 1996000000, 0.3586, 0.3071), - ("Tensor G5", 1190000, 255, 2092000000, 0.4528, 0.4337), - ("Tensor G5", 1190000, 255, 2188000000, 0.2092, 1.0424), - ("Tensor G5", 1286000, 255, 115000000, 0.0932, 0.3813), - ("Tensor G5", 1286000, 255, 268000000, 0.2062, 0.2542), - ("Tensor G5", 1286000, 255, 400000000, 0.1953, 0.1992), - ("Tensor G5", 1286000, 255, 537000000, 0.0601, 0.3414), - ("Tensor G5", 1286000, 255, 691000000, 0.1871, 0.2674), - ("Tensor G5", 1286000, 255, 768000000, 0.1766, 0.3547), - ("Tensor G5", 1286000, 255, 844000000, 0.2322, 0.3326), - ("Tensor G5", 1286000, 255, 960000000, 0.1820, 0.1999), - ("Tensor G5", 1286000, 255, 1056000000, 0.1629, 0.2539), - ("Tensor G5", 1286000, 255, 1132000000, 0.1895, 0.2977), - ("Tensor G5", 1286000, 255, 1228000000, 0.2067, 0.3987), - ("Tensor G5", 1286000, 255, 1324000000, -0.142, -0.052), - ("Tensor G5", 1286000, 255, 1420000000, 0.1138, 0.1704), - ("Tensor G5", 1286000, 255, 1516000000, 0.0424, 0.0779), - ("Tensor G5", 1286000, 255, 1612000000, 0.0301, 0.1918), - ("Tensor G5", 1286000, 255, 1728000000, -0.015, 0.0857), - ("Tensor G5", 1286000, 255, 1843000000, 0.3095, 0.5025), - ("Tensor G5", 1286000, 255, 1920000000, 0.3982, 0.4315), - ("Tensor G5", 1286000, 255, 1996000000, 0.4114, 0.5939), - ("Tensor G5", 1286000, 255, 2092000000, 0.4539, 0.5138), - ("Tensor G5", 1286000, 255, 2188000000, 0.4886, 0.5855), - ("Tensor G5", 1363000, 255, 115000000, 0.1114, 0.4418), - ("Tensor G5", 1363000, 255, 268000000, 0.1823, 0.1804), - ("Tensor G5", 1363000, 255, 400000000, 0.1981, 0.2165), - ("Tensor G5", 1363000, 255, 537000000, 0.1669, 0.2468), - ("Tensor G5", 1363000, 255, 691000000, 0.1898, 0.2182), - ("Tensor G5", 1363000, 255, 768000000, 0.1881, 0.3358), - ("Tensor G5", 1363000, 255, 844000000, 0.2157, 0.3614), - ("Tensor G5", 1363000, 255, 960000000, 0.1548, 0.2503), - ("Tensor G5", 1363000, 255, 1056000000, 0.1978, 0.3034), - ("Tensor G5", 1363000, 255, 1132000000, 0.1899, 0.2391), - ("Tensor G5", 1363000, 255, 1228000000, 0.2054, 0.2715), - ("Tensor G5", 1363000, 255, 1324000000, 0.2168, 0.2990), - ("Tensor G5", 1363000, 255, 1420000000, 0.2279, 0.2975), - ("Tensor G5", 1363000, 255, 1516000000, 0.2527, 0.3), - ("Tensor G5", 1363000, 255, 1612000000, 0.2979, 0.3576), - ("Tensor G5", 1363000, 255, 1728000000, 0.3251, 0.4953), - ("Tensor G5", 1363000, 255, 1843000000, 0.263, 0.3917), - ("Tensor G5", 1363000, 255, 1920000000, 0.3323, 0.479), - ("Tensor G5", 1363000, 255, 1996000000, 0.4094, 0.4462), - ("Tensor G5", 1363000, 255, 2092000000, 0.4005, 0.5543), - ("Tensor G5", 1363000, 255, 2188000000, 0.4513, 0.3705), - ("Tensor G5", 1459000, 255, 115000000, 0.1204, 0.3199), - ("Tensor G5", 1459000, 255, 268000000, 0.2152, 0.254), - ("Tensor G5", 1459000, 255, 400000000, 0.1929, 0.2961), - ("Tensor G5", 1459000, 255, 537000000, 0.1773, 0.2965), - ("Tensor G5", 1459000, 255, 691000000, 0.1847, 0.2885), - ("Tensor G5", 1459000, 255, 768000000, 0.1551, 0.1883), - ("Tensor G5", 1459000, 255, 844000000, 0.1946, 0.3561), - ("Tensor G5", 1459000, 255, 960000000, 0.1889, 0.3829), - ("Tensor G5", 1459000, 255, 1056000000, 0.1423, 0.3766), - ("Tensor G5", 1459000, 255, 1132000000, 0.2002, 0.2371), - ("Tensor G5", 1459000, 255, 1228000000, 0.216, 0.3038), - ("Tensor G5", 1459000, 255, 1324000000, 0.1485, 0.3341), - ("Tensor G5", 1459000, 255, 1420000000, 0.1596, 0.3352), - ("Tensor G5", 1459000, 255, 1516000000, 0.2406, 0.3815), - ("Tensor G5", 1459000, 255, 1612000000, 0.2214, 0.3719), - ("Tensor G5", 1459000, 255, 1728000000, 0.3056, 0.3596), - ("Tensor G5", 1459000, 255, 1843000000, 0.3325, 0.4306), - ("Tensor G5", 1459000, 255, 1920000000, 0.3375, 0.6518), - ("Tensor G5", 1459000, 255, 1996000000, 0.3969, 0.4834), - ("Tensor G5", 1459000, 255, 2092000000, 0.3996, 0.4151), - ("Tensor G5", 1459000, 255, 2188000000, 0.3327, 1.0129), - ("Tensor G5", 1555000, 255, 115000000, 0.1470, 0.4342), - ("Tensor G5", 1555000, 255, 268000000, 0.22, 0.2744), - ("Tensor G5", 1555000, 255, 400000000, 0.2428, 0.2656), - ("Tensor G5", 1555000, 255, 537000000, 0.2055, 0.2905), - ("Tensor G5", 1555000, 255, 691000000, 0.2016, 0.5079), - ("Tensor G5", 1555000, 255, 768000000, 0.1805, 0.3647), - ("Tensor G5", 1555000, 255, 844000000, 0.1886, 0.3669), - ("Tensor G5", 1555000, 255, 960000000, 0.1651, 0.3832), - ("Tensor G5", 1555000, 255, 1056000000, 0.2096, 0.3302), - ("Tensor G5", 1555000, 255, 1132000000, 0.2284, 0.3751), - ("Tensor G5", 1555000, 255, 1228000000, 0.1713, 0.3956), - ("Tensor G5", 1555000, 255, 1324000000, 0.2307, 0.3587), - ("Tensor G5", 1555000, 255, 1420000000, 0.2276, 0.396), - ("Tensor G5", 1555000, 255, 1516000000, 0.251, 0.2996), - ("Tensor G5", 1555000, 255, 1612000000, 0.2231, 0.5059), - ("Tensor G5", 1555000, 255, 1728000000, 0.2933, 0.5490), - ("Tensor G5", 1555000, 255, 1843000000, 0.3412, 0.4248), - ("Tensor G5", 1555000, 255, 1920000000, 0.3772, 0.2708), - ("Tensor G5", 1555000, 255, 1996000000, 0.3805, 0.4879), - ("Tensor G5", 1555000, 255, 2092000000, 0.3814, 0.713), - ("Tensor G5", 1555000, 255, 2188000000, 0.3337, 0.6041), - ("Tensor G5", 1632000, 255, 115000000, 0.2124, 0.4291), - ("Tensor G5", 1632000, 255, 268000000, 0.2329, 0.2808), - ("Tensor G5", 1632000, 255, 400000000, 0.2324, 0.2568), - ("Tensor G5", 1632000, 255, 537000000, 0.2115, 11.699), - ("Tensor G5", 1632000, 255, 691000000, 0.2033, 0.2900), - ("Tensor G5", 1632000, 255, 768000000, 0.2163, 0.3491), - ("Tensor G5", 1632000, 255, 844000000, 0.2236, 0.3558), - ("Tensor G5", 1632000, 255, 960000000, 0.1695, 0.3829), - ("Tensor G5", 1632000, 255, 1056000000, 0.2267, 0.3246), - ("Tensor G5", 1632000, 255, 1132000000, 0.2215, 0.3009), - ("Tensor G5", 1632000, 255, 1228000000, 0.1996, 0.3095), - ("Tensor G5", 1632000, 255, 1324000000, 0.1971, 0.4314), - ("Tensor G5", 1632000, 255, 1420000000, 0.2359, 0.3931), - ("Tensor G5", 1632000, 255, 1516000000, 0.1146, 0.3732), - ("Tensor G5", 1632000, 255, 1612000000, 0.2656, 0.2729), - ("Tensor G5", 1632000, 255, 1728000000, 0.2861, 0.2673), - ("Tensor G5", 1632000, 255, 1843000000, 0.346, 0.5312), - ("Tensor G5", 1632000, 255, 1920000000, 0.1896, 0.6942), - ("Tensor G5", 1632000, 255, 1996000000, 0.3400, 0.5261), - ("Tensor G5", 1632000, 255, 2092000000, 0.435, 0.6862), - ("Tensor G5", 1632000, 255, 2188000000, 0.4348, 0.8778), - ("Tensor G5", 1766000, 255, 115000000, 0.2871, 0.3695), - ("Tensor G5", 1766000, 255, 268000000, 0.2682, 0.2392), - ("Tensor G5", 1766000, 255, 400000000, 0.2186, 0.3338), - ("Tensor G5", 1766000, 255, 537000000, 0.2624, 0.3108), - ("Tensor G5", 1766000, 255, 691000000, 0.2267, 0.3222), - ("Tensor G5", 1766000, 255, 768000000, 0.2107, 0.4472), - ("Tensor G5", 1766000, 255, 844000000, 0.2129, 0.3108), - ("Tensor G5", 1766000, 255, 960000000, 0.2445, 0.3611), - ("Tensor G5", 1766000, 255, 1056000000, 0.1073, 0.4906), - ("Tensor G5", 1766000, 255, 1132000000, 0.2468, 0.4093), - ("Tensor G5", 1766000, 255, 1228000000, 0.2264, 0.4356), - ("Tensor G5", 1766000, 255, 1324000000, 0.1714, 0.3935), - ("Tensor G5", 1766000, 255, 1420000000, 0.2524, 0.3091), - ("Tensor G5", 1766000, 255, 1516000000, 0.2651, 0.4433), - ("Tensor G5", 1766000, 255, 1612000000, 0.2093, 0.733), - ("Tensor G5", 1766000, 255, 1728000000, 0.2913, 0.3617), - ("Tensor G5", 1766000, 255, 1843000000, 0.3608, 0.5116), - ("Tensor G5", 1766000, 255, 1920000000, 0.2915, 0.4919), - ("Tensor G5", 1766000, 255, 1996000000, 0.3513, 0.2989), - ("Tensor G5", 1766000, 255, 2092000000, 0.4145, 0.7738), - ("Tensor G5", 1766000, 255, 2188000000, 0.2372, 0.6006), - ("Tensor G5", 1881000, 255, 115000000, 0.3476, 0.4273), - ("Tensor G5", 1881000, 255, 268000000, 0.2761, 0.318), - ("Tensor G5", 1881000, 255, 400000000, 0.24, 0.3145), - ("Tensor G5", 1881000, 255, 537000000, 0.262, 0.3373), - ("Tensor G5", 1881000, 255, 691000000, 0.2807, 0.3893), - ("Tensor G5", 1881000, 255, 768000000, 0.2221, 0.4449), - ("Tensor G5", 1881000, 255, 844000000, 0.2055, 0.4472), - ("Tensor G5", 1881000, 255, 960000000, 0.2511, 0.3165), - ("Tensor G5", 1881000, 255, 1056000000, 0.2469, 0.2483), - ("Tensor G5", 1881000, 255, 1132000000, 0.2491, 0.4923), - ("Tensor G5", 1881000, 255, 1228000000, 0.2519, 0.3244), - ("Tensor G5", 1881000, 255, 1324000000, 0.2676, 0.5411), - ("Tensor G5", 1881000, 255, 1420000000, 0.2641, 0.2735), - ("Tensor G5", 1881000, 255, 1516000000, 0.2393, 0.3807), - ("Tensor G5", 1881000, 255, 1612000000, 0.2311, 0.5302), - ("Tensor G5", 1881000, 255, 1728000000, 0.2256, 0.3213), - ("Tensor G5", 1881000, 255, 1843000000, 0.2789, 0.4710), - ("Tensor G5", 1881000, 255, 1920000000, 0.3497, 0.4614), - ("Tensor G5", 1881000, 255, 1996000000, 0.3088, 0.6546), - ("Tensor G5", 1881000, 255, 2092000000, 0.4274, 0.7133), - ("Tensor G5", 1881000, 255, 2188000000, 0.4428, 0.8129), - ("Tensor G5", 1996000, 255, 115000000, 0.3520, 0.3168), - ("Tensor G5", 1996000, 255, 268000000, 0.2607, 0.4108), - ("Tensor G5", 1996000, 255, 400000000, 0.2538, 0.3641), - ("Tensor G5", 1996000, 255, 537000000, 0.1820, 0.7486), - ("Tensor G5", 1996000, 255, 691000000, 0.2382, 0.4454), - ("Tensor G5", 1996000, 255, 768000000, 0.2328, 0.5745), - ("Tensor G5", 1996000, 255, 844000000, 0.2891, 0.4183), - ("Tensor G5", 1996000, 255, 960000000, 0.232, 0.3792), - ("Tensor G5", 1996000, 255, 1056000000, 0.2841, 0.4266), - ("Tensor G5", 1996000, 255, 1132000000, 0.2283, 0.5786), - ("Tensor G5", 1996000, 255, 1228000000, 0.1972, 0.4419), - ("Tensor G5", 1996000, 255, 1324000000, 0.1561, 0.4602), - ("Tensor G5", 1996000, 255, 1420000000, 0.3003, 0.4203), - ("Tensor G5", 1996000, 255, 1516000000, 0.3037, 0.4552), - ("Tensor G5", 1996000, 255, 1612000000, 0.218, 0.6278), - ("Tensor G5", 1996000, 255, 1728000000, 0.3288, 0.3823), - ("Tensor G5", 1996000, 255, 1843000000, 0.3427, 0.4182), - ("Tensor G5", 1996000, 255, 1920000000, 0.3808, 0.6083), - ("Tensor G5", 1996000, 255, 1996000000, 0.1738, 0.4082), - ("Tensor G5", 1996000, 255, 2092000000, 0.4273, 0.5363), - ("Tensor G5", 1996000, 255, 2188000000, 0.3972, 0.4524), - ("Tensor G5", 2016000, 255, 115000000, 0.2433, 0.447), - ("Tensor G5", 2016000, 255, 268000000, 0.2679, 0.3328), - ("Tensor G5", 2016000, 255, 400000000, 0.2983, 0.3725), - ("Tensor G5", 2016000, 255, 537000000, 0.3251, 0.3428), - ("Tensor G5", 2016000, 255, 691000000, 0.2804, 0.2545), - ("Tensor G5", 2016000, 255, 768000000, 0.2824, 0.5095), - ("Tensor G5", 2016000, 255, 844000000, 0.2517, 0.4909), - ("Tensor G5", 2016000, 255, 960000000, 0.2804, 0.3634), - ("Tensor G5", 2016000, 255, 1056000000, 0.2524, 0.3324), - ("Tensor G5", 2016000, 255, 1132000000, 0.2794, 0.3238), - ("Tensor G5", 2016000, 255, 1228000000, 0.2807, 0.3461), - ("Tensor G5", 2016000, 255, 1324000000, 0.2863, 0.5673), - ("Tensor G5", 2016000, 255, 1420000000, 0.3645, 0.3403), - ("Tensor G5", 2016000, 255, 1516000000, 0.245, 0.5254), - ("Tensor G5", 2016000, 255, 1612000000, 0.2309, 0.6037), - ("Tensor G5", 2016000, 255, 1728000000, 0.2668, 0.4946), - ("Tensor G5", 2016000, 255, 1843000000, 0.3026, 0.6272), - ("Tensor G5", 2016000, 255, 1920000000, 0.3879, 0.6073), - ("Tensor G5", 2016000, 255, 1996000000, 0.374, 0.4027), - ("Tensor G5", 2016000, 255, 2092000000, 0.4634, 0.5438), - ("Tensor G5", 2016000, 255, 2188000000, 0.4491, 0.7081), - ("Tensor G5", 2054000, 255, 115000000, 0.3228, 0.3829), - ("Tensor G5", 2054000, 255, 268000000, 0.2783, 0.3625), - ("Tensor G5", 2054000, 255, 400000000, 0.3147, 0.283), - ("Tensor G5", 2054000, 255, 537000000, 0.283, 0.4224), - ("Tensor G5", 2054000, 255, 691000000, 0.1618, 0.5269), - ("Tensor G5", 2054000, 255, 768000000, 0.2415, 0.4877), - ("Tensor G5", 2054000, 255, 844000000, 0.3019, 0.3428), - ("Tensor G5", 2054000, 255, 960000000, 0.2153, 0.4231), - ("Tensor G5", 2054000, 255, 1056000000, 0.2966, 0.4831), - ("Tensor G5", 2054000, 255, 1132000000, 0.309, 0.4705), - ("Tensor G5", 2054000, 255, 1228000000, 0.2889, 0.4501), - ("Tensor G5", 2054000, 255, 1324000000, 0.3135, 0.6828), - ("Tensor G5", 2054000, 255, 1420000000, 0.3409, 0.5490), - ("Tensor G5", 2054000, 255, 1516000000, 0.3153, 0.3259), - ("Tensor G5", 2054000, 255, 1612000000, 0.3197, 0.5847), - ("Tensor G5", 2054000, 255, 1728000000, 0.3186, 0.5825), - ("Tensor G5", 2054000, 255, 1843000000, 0.3456, 0.4538), - ("Tensor G5", 2054000, 255, 1920000000, 0.2944, 0.3929), - ("Tensor G5", 2054000, 255, 1996000000, 0.3575, 0.406), - ("Tensor G5", 2054000, 255, 2092000000, 0.4072, 0.8127), - ("Tensor G5", 2054000, 255, 2188000000, 0.4752, 0.5146), - ("Tensor G5", 2092000, 255, 115000000, 0.3096, 0.3571), - ("Tensor G5", 2092000, 255, 268000000, 0.3187, 0.4034), - ("Tensor G5", 2092000, 255, 400000000, 0.3196, 0.3981), - ("Tensor G5", 2092000, 255, 537000000, 0.3198, 0.3992), - ("Tensor G5", 2092000, 255, 691000000, 0.3077, 0.5161), - ("Tensor G5", 2092000, 255, 768000000, 0.2976, 0.4976), - ("Tensor G5", 2092000, 255, 844000000, 0.221, 0.5945), - ("Tensor G5", 2092000, 255, 960000000, 0.3047, 0.3559), - ("Tensor G5", 2092000, 255, 1056000000, 0.2080, 0.3991), - ("Tensor G5", 2092000, 255, 1132000000, 0.3034, 0.5344), - ("Tensor G5", 2092000, 255, 1228000000, 0.3053, 0.5314), - ("Tensor G5", 2092000, 255, 1324000000, 0.1538, 31.397), - ("Tensor G5", 2092000, 255, 1420000000, 0.3446, 0.3589), - ("Tensor G5", 2092000, 255, 1516000000, 0.3363, 0.4872), - ("Tensor G5", 2092000, 255, 1612000000, 0.3423, 0.5387), - ("Tensor G5", 2092000, 255, 1728000000, 0.3464, 0.4640), - ("Tensor G5", 2092000, 255, 1843000000, 0.3728, 0.5651), - ("Tensor G5", 2092000, 255, 1920000000, 0.3946, 0.3228), - ("Tensor G5", 2092000, 255, 1996000000, 0.3678, 0.3802), - ("Tensor G5", 2092000, 255, 2092000000, 0.4238, 0.4055), - ("Tensor G5", 2092000, 255, 2188000000, 0.4652, 0.4393), - ("Tensor G5", 2169000, 255, 115000000, 0.3441, 0.4047), - ("Tensor G5", 2169000, 255, 268000000, 0.2531, 0.4981), - ("Tensor G5", 2169000, 255, 400000000, 0.3047, 0.5037), - ("Tensor G5", 2169000, 255, 537000000, 0.3091, 0.3904), - ("Tensor G5", 2169000, 255, 691000000, 0.3236, 0.5714), - ("Tensor G5", 2169000, 255, 768000000, 0.2832, 0.4033), - ("Tensor G5", 2169000, 255, 844000000, 0.3264, 0.4072), - ("Tensor G5", 2169000, 255, 960000000, 0.2455, 0.4045), - ("Tensor G5", 2169000, 255, 1056000000, 0.3238, 0.3717), - ("Tensor G5", 2169000, 255, 1132000000, 0.3303, 0.4531), - ("Tensor G5", 2169000, 255, 1228000000, 0.3202, 0.5501), - ("Tensor G5", 2169000, 255, 1324000000, 0.3329, 0.4658), - ("Tensor G5", 2169000, 255, 1420000000, 0.37, 0.4666), - ("Tensor G5", 2169000, 255, 1516000000, 0.3593, 0.3602), - ("Tensor G5", 2169000, 255, 1612000000, 0.3253, 0.7185), - ("Tensor G5", 2169000, 255, 1728000000, 0.2935, 0.5328), - ("Tensor G5", 2169000, 255, 1843000000, 0.3935, 0.3907), - ("Tensor G5", 2169000, 255, 1920000000, 0.3439, 0.5322), - ("Tensor G5", 2169000, 255, 1996000000, 0.4164, 0.6431), - ("Tensor G5", 2169000, 255, 2092000000, 0.3067, 0.6504), - ("Tensor G5", 2169000, 255, 2188000000, 0.4595, 0.6651), - ("Tensor G5", 2246000, 255, 115000000, 0.5018, 0.334), - ("Tensor G5", 2246000, 255, 268000000, 0.1858, 0.5702), - ("Tensor G5", 2246000, 255, 400000000, 0.3575, 0.4385), - ("Tensor G5", 2246000, 255, 537000000, 0.317, 0.5159), - ("Tensor G5", 2246000, 255, 691000000, 0.3315, 0.4771), - ("Tensor G5", 2246000, 255, 768000000, 0.1644, 0.5081), - ("Tensor G5", 2246000, 255, 844000000, 0.3641, 0.5874), - ("Tensor G5", 2246000, 255, 960000000, 0.3196, 0.4443), - ("Tensor G5", 2246000, 255, 1056000000, 0.3679, 0.2638), - ("Tensor G5", 2246000, 255, 1132000000, 0.3306, 0.4363), - ("Tensor G5", 2246000, 255, 1228000000, 0.3679, 0.6061), - ("Tensor G5", 2246000, 255, 1324000000, 0.3273, 0.4928), - ("Tensor G5", 2246000, 255, 1420000000, 0.3646, 0.6653), - ("Tensor G5", 2246000, 255, 1516000000, 0.3953, 0.4656), - ("Tensor G5", 2246000, 255, 1612000000, 0.391, 0.7046), - ("Tensor G5", 2246000, 255, 1728000000, 0.3948, 0.4969), - ("Tensor G5", 2246000, 255, 1843000000, 0.4446, 0.7071), - ("Tensor G5", 2246000, 255, 1920000000, 0.4609, 0.5365), - ("Tensor G5", 2246000, 255, 1996000000, 0.3605, 0.6287), - ("Tensor G5", 2246000, 255, 2092000000, 0.2661, 0.6364), - ("Tensor G5", 2246000, 255, 2188000000, 0.4526, 0.8995)) AS _values + ("Tensor G5", 268000, _dsu_dep!(), 115000000, 0.1096, 0.1484), + ("Tensor G5", 268000, _dsu_dep!(), 268000000, 0.1603, 0.15), + ("Tensor G5", 268000, _dsu_dep!(), 400000000, 0.1088, 0.1989), + ("Tensor G5", 268000, _dsu_dep!(), 537000000, 0.1495, 0.1862), + ("Tensor G5", 268000, _dsu_dep!(), 691000000, 0.1491, 0.1763), + ("Tensor G5", 268000, _dsu_dep!(), 768000000, 0.1586, 0.1999), + ("Tensor G5", 268000, _dsu_dep!(), 844000000, 0.1495, 6.8313), + ("Tensor G5", 268000, _dsu_dep!(), 960000000, 0.1513, 0.2175), + ("Tensor G5", 268000, _dsu_dep!(), 1056000000, 0.1767, 0.2546), + ("Tensor G5", 268000, _dsu_dep!(), 1132000000, 0.1893, 0.3096), + ("Tensor G5", 268000, _dsu_dep!(), 1228000000, 0.1963, 0.4018), + ("Tensor G5", 268000, _dsu_dep!(), 1324000000, 0.2142, 22.534), + ("Tensor G5", 268000, _dsu_dep!(), 1420000000, 0.1716, 0.3265), + ("Tensor G5", 268000, _dsu_dep!(), 1516000000, 0.1727, 0.4936), + ("Tensor G5", 268000, _dsu_dep!(), 1612000000, 0.2809, 0.3208), + ("Tensor G5", 268000, _dsu_dep!(), 1728000000, 0.2871, 0.3911), + ("Tensor G5", 268000, _dsu_dep!(), 1843000000, 0.3139, 0.4534), + ("Tensor G5", 268000, _dsu_dep!(), 1920000000, 0.3256, 0.5752), + ("Tensor G5", 268000, _dsu_dep!(), 1996000000, 0.3684, 0.9744), + ("Tensor G5", 268000, _dsu_dep!(), 2092000000, 0.2165, 0.7048), + ("Tensor G5", 268000, _dsu_dep!(), 2188000000, 0.2103, 0.8444), + ("Tensor G5", 345000, _dsu_dep!(), 115000000, 0.1522, 0.195), + ("Tensor G5", 345000, _dsu_dep!(), 268000000, 0.2311, 0.1862), + ("Tensor G5", 345000, _dsu_dep!(), 400000000, 0.1207, 0.1636), + ("Tensor G5", 345000, _dsu_dep!(), 537000000, 0.1273, 0.1573), + ("Tensor G5", 345000, _dsu_dep!(), 691000000, 0.1184, 0.2618), + ("Tensor G5", 345000, _dsu_dep!(), 768000000, 0.142, 0.2482), + ("Tensor G5", 345000, _dsu_dep!(), 844000000, 0.1446, 0.2664), + ("Tensor G5", 345000, _dsu_dep!(), 960000000, 0.1687, 0.2662), + ("Tensor G5", 345000, _dsu_dep!(), 1056000000, 0.1709, 0.2462), + ("Tensor G5", 345000, _dsu_dep!(), 1132000000, 0.1808, 0.3296), + ("Tensor G5", 345000, _dsu_dep!(), 1228000000, 0.2105, 0.4074), + ("Tensor G5", 345000, _dsu_dep!(), 1324000000, 0.2069, 0.3526), + ("Tensor G5", 345000, _dsu_dep!(), 1420000000, 0.2409, 0.2047), + ("Tensor G5", 345000, _dsu_dep!(), 1516000000, 0.2518, 0.4096), + ("Tensor G5", 345000, _dsu_dep!(), 1612000000, 0.2511, 0.4804), + ("Tensor G5", 345000, _dsu_dep!(), 1728000000, 0.2823, 0.4971), + ("Tensor G5", 345000, _dsu_dep!(), 1843000000, 0.2927, 0.5702), + ("Tensor G5", 345000, _dsu_dep!(), 1920000000, 0.2052, 0.4422), + ("Tensor G5", 345000, _dsu_dep!(), 1996000000, 0.4153, 0.3802), + ("Tensor G5", 345000, _dsu_dep!(), 2092000000, 0.3097, 0.5162), + ("Tensor G5", 345000, _dsu_dep!(), 2188000000, 0.5075, 0.7948), + ("Tensor G5", 422000, _dsu_dep!(), 115000000, 0.1601, 0.1432), + ("Tensor G5", 422000, _dsu_dep!(), 268000000, 0.166, 0.1341), + ("Tensor G5", 422000, _dsu_dep!(), 400000000, 0.1538, 0.1711), + ("Tensor G5", 422000, _dsu_dep!(), 537000000, 0.1179, 0.2207), + ("Tensor G5", 422000, _dsu_dep!(), 691000000, 0.1304, 0.1672), + ("Tensor G5", 422000, _dsu_dep!(), 768000000, 0.1588, 0.2404), + ("Tensor G5", 422000, _dsu_dep!(), 844000000, 0.1435, 0.2624), + ("Tensor G5", 422000, _dsu_dep!(), 960000000, 0.1502, 0.3262), + ("Tensor G5", 422000, _dsu_dep!(), 1056000000, 0.1573, 0.2803), + ("Tensor G5", 422000, _dsu_dep!(), 1132000000, 0.0958, 0.386), + ("Tensor G5", 422000, _dsu_dep!(), 1228000000, 0.1969, 0.2835), + ("Tensor G5", 422000, _dsu_dep!(), 1324000000, 0.1636, 0.3339), + ("Tensor G5", 422000, _dsu_dep!(), 1420000000, 0.2266, 0.2891), + ("Tensor G5", 422000, _dsu_dep!(), 1516000000, 0.2091, 0.4236), + ("Tensor G5", 422000, _dsu_dep!(), 1612000000, 0.2490, 0.3549), + ("Tensor G5", 422000, _dsu_dep!(), 1728000000, 0.3082, 0.3632), + ("Tensor G5", 422000, _dsu_dep!(), 1843000000, 0.3012, 0.3561), + ("Tensor G5", 422000, _dsu_dep!(), 1920000000, 0.1777, 0.5647), + ("Tensor G5", 422000, _dsu_dep!(), 1996000000, 0.3266, 0.43), + ("Tensor G5", 422000, _dsu_dep!(), 2092000000, 0.454, 0.6733), + ("Tensor G5", 422000, _dsu_dep!(), 2188000000, 0.4805, 0.6816), + ("Tensor G5", 460000, _dsu_dep!(), 115000000, 0.1651, 0.204), + ("Tensor G5", 460000, _dsu_dep!(), 268000000, 0.1438, 0.1276), + ("Tensor G5", 460000, _dsu_dep!(), 400000000, 0.1075, 0.1939), + ("Tensor G5", 460000, _dsu_dep!(), 537000000, 0.1261, 0.1285), + ("Tensor G5", 460000, _dsu_dep!(), 691000000, 0.1256, 0.2624), + ("Tensor G5", 460000, _dsu_dep!(), 768000000, 0.1384, 0.204), + ("Tensor G5", 460000, _dsu_dep!(), 844000000, 0.1257, 0.2887), + ("Tensor G5", 460000, _dsu_dep!(), 960000000, 0.153, 0.245), + ("Tensor G5", 460000, _dsu_dep!(), 1056000000, 0.1455, 0.3272), + ("Tensor G5", 460000, _dsu_dep!(), 1132000000, 0.1422, 0.4246), + ("Tensor G5", 460000, _dsu_dep!(), 1228000000, 0.1987, 0.3256), + ("Tensor G5", 460000, _dsu_dep!(), 1324000000, 0.22, 0.3311), + ("Tensor G5", 460000, _dsu_dep!(), 1420000000, 0.2231, 0.3838), + ("Tensor G5", 460000, _dsu_dep!(), 1516000000, 0.2031, 0.3308), + ("Tensor G5", 460000, _dsu_dep!(), 1612000000, 0.2589, 0.4011), + ("Tensor G5", 460000, _dsu_dep!(), 1728000000, 0.3040, 0.3885), + ("Tensor G5", 460000, _dsu_dep!(), 1843000000, 0.3109, 0.3531), + ("Tensor G5", 460000, _dsu_dep!(), 1920000000, 0.3399, 0.4649), + ("Tensor G5", 460000, _dsu_dep!(), 1996000000, 0.337, 0.4433), + ("Tensor G5", 460000, _dsu_dep!(), 2092000000, 0.4644, 0.4299), + ("Tensor G5", 460000, _dsu_dep!(), 2188000000, 0.5037, 0.4928), + ("Tensor G5", 533000, _dsu_dep!(), 115000000, 0.1575, 0.1441), + ("Tensor G5", 533000, _dsu_dep!(), 268000000, 0.1462, 0.1353), + ("Tensor G5", 533000, _dsu_dep!(), 400000000, 0.1451, 0.1754), + ("Tensor G5", 533000, _dsu_dep!(), 537000000, 0.1875, 6.2512), + ("Tensor G5", 533000, _dsu_dep!(), 691000000, 0.1315, 0.1762), + ("Tensor G5", 533000, _dsu_dep!(), 768000000, 0.1412, 0.3602), + ("Tensor G5", 533000, _dsu_dep!(), 844000000, 0.1767, 0.2519), + ("Tensor G5", 533000, _dsu_dep!(), 960000000, 0.1543, 0.3237), + ("Tensor G5", 533000, _dsu_dep!(), 1056000000, 0.1698, 0.3625), + ("Tensor G5", 533000, _dsu_dep!(), 1132000000, 0.1917, 0.3437), + ("Tensor G5", 533000, _dsu_dep!(), 1228000000, 0.2033, 0.2077), + ("Tensor G5", 533000, _dsu_dep!(), 1324000000, 0.2092, 0.377), + ("Tensor G5", 533000, _dsu_dep!(), 1420000000, 0.1063, 0.4008), + ("Tensor G5", 533000, _dsu_dep!(), 1516000000, 0.2536, 0.4216), + ("Tensor G5", 533000, _dsu_dep!(), 1612000000, 0.2602, 0.2967), + ("Tensor G5", 533000, _dsu_dep!(), 1728000000, 0.3103, 0.2283), + ("Tensor G5", 533000, _dsu_dep!(), 1843000000, 0.2857, 0.4644), + ("Tensor G5", 533000, _dsu_dep!(), 1920000000, 0.3088, 0.4967), + ("Tensor G5", 533000, _dsu_dep!(), 1996000000, 0.266, 0.4850), + ("Tensor G5", 533000, _dsu_dep!(), 2092000000, 0.4351, 0.7022), + ("Tensor G5", 533000, _dsu_dep!(), 2188000000, 0.4447, 0.4921), + ("Tensor G5", 729000, _dsu_dep!(), 115000000, 0.2143, 0.1696), + ("Tensor G5", 729000, _dsu_dep!(), 268000000, 0.1731, 0.1759), + ("Tensor G5", 729000, _dsu_dep!(), 400000000, 0.1494, 0.196), + ("Tensor G5", 729000, _dsu_dep!(), 537000000, 0.14, 0.2668), + ("Tensor G5", 729000, _dsu_dep!(), 691000000, 0.1472, 0.2284), + ("Tensor G5", 729000, _dsu_dep!(), 768000000, 0.1319, 0.262), + ("Tensor G5", 729000, _dsu_dep!(), 844000000, 0.1354, 0.3745), + ("Tensor G5", 729000, _dsu_dep!(), 960000000, 0.1384, 0.3165), + ("Tensor G5", 729000, _dsu_dep!(), 1056000000, 0.1647, 0.3725), + ("Tensor G5", 729000, _dsu_dep!(), 1132000000, 0.1996, 0.33), + ("Tensor G5", 729000, _dsu_dep!(), 1228000000, 0.1985, 0.2897), + ("Tensor G5", 729000, _dsu_dep!(), 1324000000, 0.215, 0.2930), + ("Tensor G5", 729000, _dsu_dep!(), 1420000000, 0.2036, 0.2291), + ("Tensor G5", 729000, _dsu_dep!(), 1516000000, 0.2385, 0.3767), + ("Tensor G5", 729000, _dsu_dep!(), 1612000000, 0.2523, 0.4113), + ("Tensor G5", 729000, _dsu_dep!(), 1728000000, 0.2945, 0.2853), + ("Tensor G5", 729000, _dsu_dep!(), 1843000000, 0.3399, 0.4153), + ("Tensor G5", 729000, _dsu_dep!(), 1920000000, 0.3445, 0.4327), + ("Tensor G5", 729000, _dsu_dep!(), 1996000000, 0.1737, 0.5003), + ("Tensor G5", 729000, _dsu_dep!(), 2092000000, 0.4652, 0.5378), + ("Tensor G5", 729000, _dsu_dep!(), 2188000000, 0.4582, 0.6071), + ("Tensor G5", 883000, _dsu_dep!(), 115000000, 0.202, 0.2491), + ("Tensor G5", 883000, _dsu_dep!(), 268000000, 0.1966, 0.1789), + ("Tensor G5", 883000, _dsu_dep!(), 400000000, 0.1675, 0.1921), + ("Tensor G5", 883000, _dsu_dep!(), 537000000, 0.1349, 0.2125), + ("Tensor G5", 883000, _dsu_dep!(), 691000000, 0.1623, 0.2692), + ("Tensor G5", 883000, _dsu_dep!(), 768000000, 0.1659, 0.1773), + ("Tensor G5", 883000, _dsu_dep!(), 844000000, 0.1258, 0.2663), + ("Tensor G5", 883000, _dsu_dep!(), 960000000, 0.1843, 0.2412), + ("Tensor G5", 883000, _dsu_dep!(), 1056000000, 0.2039, 0.2743), + ("Tensor G5", 883000, _dsu_dep!(), 1132000000, 0.0848, 0.4186), + ("Tensor G5", 883000, _dsu_dep!(), 1228000000, 0.1583, 0.2785), + ("Tensor G5", 883000, _dsu_dep!(), 1324000000, 0.2235, 0.1911), + ("Tensor G5", 883000, _dsu_dep!(), 1420000000, 0.2303, 0.3561), + ("Tensor G5", 883000, _dsu_dep!(), 1516000000, 0.195, 0.3763), + ("Tensor G5", 883000, _dsu_dep!(), 1612000000, 0.2839, 0.3873), + ("Tensor G5", 883000, _dsu_dep!(), 1728000000, 0.2971, 0.5389), + ("Tensor G5", 883000, _dsu_dep!(), 1843000000, 0.1643, 0.7782), + ("Tensor G5", 883000, _dsu_dep!(), 1920000000, 0.3829, 0.4392), + ("Tensor G5", 883000, _dsu_dep!(), 1996000000, 0.39, 0.376), + ("Tensor G5", 883000, _dsu_dep!(), 2092000000, 0.4458, 0.5296), + ("Tensor G5", 883000, _dsu_dep!(), 2188000000, 0.4588, 0.4416), + ("Tensor G5", 1036000, _dsu_dep!(), 115000000, 0.2181, 0.1638), + ("Tensor G5", 1036000, _dsu_dep!(), 268000000, 0.2075, 0.1466), + ("Tensor G5", 1036000, _dsu_dep!(), 400000000, 0.1804, 0.2125), + ("Tensor G5", 1036000, _dsu_dep!(), 537000000, 0.1559, 0.1926), + ("Tensor G5", 1036000, _dsu_dep!(), 691000000, 0.155, 0.2547), + ("Tensor G5", 1036000, _dsu_dep!(), 768000000, 0.123, 0.5322), + ("Tensor G5", 1036000, _dsu_dep!(), 844000000, 0.1474, 0.2743), + ("Tensor G5", 1036000, _dsu_dep!(), 960000000, 0.1687, 0.2686), + ("Tensor G5", 1036000, _dsu_dep!(), 1056000000, 0.182, 0.3021), + ("Tensor G5", 1036000, _dsu_dep!(), 1132000000, 0.1840, 0.2234), + ("Tensor G5", 1036000, _dsu_dep!(), 1228000000, 0.1698, 0.2769), + ("Tensor G5", 1036000, _dsu_dep!(), 1324000000, 0.1056, 0.337), + ("Tensor G5", 1036000, _dsu_dep!(), 1420000000, 0.2004, 0.3431), + ("Tensor G5", 1036000, _dsu_dep!(), 1516000000, 0.2392, 0.3476), + ("Tensor G5", 1036000, _dsu_dep!(), 1612000000, 0.27, 0.35), + ("Tensor G5", 1036000, _dsu_dep!(), 1728000000, 0.2964, 0.3646), + ("Tensor G5", 1036000, _dsu_dep!(), 1843000000, 0.2966, 0.3378), + ("Tensor G5", 1036000, _dsu_dep!(), 1920000000, 0.3823, 0.5215), + ("Tensor G5", 1036000, _dsu_dep!(), 1996000000, 0.3764, 0.6542), + ("Tensor G5", 1036000, _dsu_dep!(), 2092000000, 0.3531, 0.8952), + ("Tensor G5", 1036000, _dsu_dep!(), 2188000000, 0.5176, 0.3729), + ("Tensor G5", 1190000, _dsu_dep!(), 115000000, 0.21, 0.3403), + ("Tensor G5", 1190000, _dsu_dep!(), 268000000, 0.1794, 0.2271), + ("Tensor G5", 1190000, _dsu_dep!(), 400000000, 0.1604, 0.2157), + ("Tensor G5", 1190000, _dsu_dep!(), 537000000, 0.1828, 0.1426), + ("Tensor G5", 1190000, _dsu_dep!(), 691000000, 0.1673, 0.1555), + ("Tensor G5", 1190000, _dsu_dep!(), 768000000, 0.1654, 0.2941), + ("Tensor G5", 1190000, _dsu_dep!(), 844000000, 0.1618, 0.2666), + ("Tensor G5", 1190000, _dsu_dep!(), 960000000, 0.1752, 0.1551), + ("Tensor G5", 1190000, _dsu_dep!(), 1056000000, 0.1868, 0.298), + ("Tensor G5", 1190000, _dsu_dep!(), 1132000000, 0.1857, 0.2223), + ("Tensor G5", 1190000, _dsu_dep!(), 1228000000, 0.2031, 0.2645), + ("Tensor G5", 1190000, _dsu_dep!(), 1324000000, 0.1763, 0.3173), + ("Tensor G5", 1190000, _dsu_dep!(), 1420000000, 0.2207, 0.3266), + ("Tensor G5", 1190000, _dsu_dep!(), 1516000000, 0.2105, 0.319), + ("Tensor G5", 1190000, _dsu_dep!(), 1612000000, 0.2854, 0.2594), + ("Tensor G5", 1190000, _dsu_dep!(), 1728000000, 0.3071, 0.3061), + ("Tensor G5", 1190000, _dsu_dep!(), 1843000000, 0.3332, 0.2915), + ("Tensor G5", 1190000, _dsu_dep!(), 1920000000, 0.3649, 0.4683), + ("Tensor G5", 1190000, _dsu_dep!(), 1996000000, 0.3586, 0.3071), + ("Tensor G5", 1190000, _dsu_dep!(), 2092000000, 0.4528, 0.4337), + ("Tensor G5", 1190000, _dsu_dep!(), 2188000000, 0.2092, 1.0424), + ("Tensor G5", 1286000, _dsu_dep!(), 115000000, 0.0932, 0.3813), + ("Tensor G5", 1286000, _dsu_dep!(), 268000000, 0.2062, 0.2542), + ("Tensor G5", 1286000, _dsu_dep!(), 400000000, 0.1953, 0.1992), + ("Tensor G5", 1286000, _dsu_dep!(), 537000000, 0.0601, 0.3414), + ("Tensor G5", 1286000, _dsu_dep!(), 691000000, 0.1871, 0.2674), + ("Tensor G5", 1286000, _dsu_dep!(), 768000000, 0.1766, 0.3547), + ("Tensor G5", 1286000, _dsu_dep!(), 844000000, 0.2322, 0.3326), + ("Tensor G5", 1286000, _dsu_dep!(), 960000000, 0.1820, 0.1999), + ("Tensor G5", 1286000, _dsu_dep!(), 1056000000, 0.1629, 0.2539), + ("Tensor G5", 1286000, _dsu_dep!(), 1132000000, 0.1895, 0.2977), + ("Tensor G5", 1286000, _dsu_dep!(), 1228000000, 0.2067, 0.3987), + ("Tensor G5", 1286000, _dsu_dep!(), 1324000000, -0.142, -0.052), + ("Tensor G5", 1286000, _dsu_dep!(), 1420000000, 0.1138, 0.1704), + ("Tensor G5", 1286000, _dsu_dep!(), 1516000000, 0.0424, 0.0779), + ("Tensor G5", 1286000, _dsu_dep!(), 1612000000, 0.0301, 0.1918), + ("Tensor G5", 1286000, _dsu_dep!(), 1728000000, -0.015, 0.0857), + ("Tensor G5", 1286000, _dsu_dep!(), 1843000000, 0.3095, 0.5025), + ("Tensor G5", 1286000, _dsu_dep!(), 1920000000, 0.3982, 0.4315), + ("Tensor G5", 1286000, _dsu_dep!(), 1996000000, 0.4114, 0.5939), + ("Tensor G5", 1286000, _dsu_dep!(), 2092000000, 0.4539, 0.5138), + ("Tensor G5", 1286000, _dsu_dep!(), 2188000000, 0.4886, 0.5855), + ("Tensor G5", 1363000, _dsu_dep!(), 115000000, 0.1114, 0.4418), + ("Tensor G5", 1363000, _dsu_dep!(), 268000000, 0.1823, 0.1804), + ("Tensor G5", 1363000, _dsu_dep!(), 400000000, 0.1981, 0.2165), + ("Tensor G5", 1363000, _dsu_dep!(), 537000000, 0.1669, 0.2468), + ("Tensor G5", 1363000, _dsu_dep!(), 691000000, 0.1898, 0.2182), + ("Tensor G5", 1363000, _dsu_dep!(), 768000000, 0.1881, 0.3358), + ("Tensor G5", 1363000, _dsu_dep!(), 844000000, 0.2157, 0.3614), + ("Tensor G5", 1363000, _dsu_dep!(), 960000000, 0.1548, 0.2503), + ("Tensor G5", 1363000, _dsu_dep!(), 1056000000, 0.1978, 0.3034), + ("Tensor G5", 1363000, _dsu_dep!(), 1132000000, 0.1899, 0.2391), + ("Tensor G5", 1363000, _dsu_dep!(), 1228000000, 0.2054, 0.2715), + ("Tensor G5", 1363000, _dsu_dep!(), 1324000000, 0.2168, 0.2990), + ("Tensor G5", 1363000, _dsu_dep!(), 1420000000, 0.2279, 0.2975), + ("Tensor G5", 1363000, _dsu_dep!(), 1516000000, 0.2527, 0.3), + ("Tensor G5", 1363000, _dsu_dep!(), 1612000000, 0.2979, 0.3576), + ("Tensor G5", 1363000, _dsu_dep!(), 1728000000, 0.3251, 0.4953), + ("Tensor G5", 1363000, _dsu_dep!(), 1843000000, 0.263, 0.3917), + ("Tensor G5", 1363000, _dsu_dep!(), 1920000000, 0.3323, 0.479), + ("Tensor G5", 1363000, _dsu_dep!(), 1996000000, 0.4094, 0.4462), + ("Tensor G5", 1363000, _dsu_dep!(), 2092000000, 0.4005, 0.5543), + ("Tensor G5", 1363000, _dsu_dep!(), 2188000000, 0.4513, 0.3705), + ("Tensor G5", 1459000, _dsu_dep!(), 115000000, 0.1204, 0.3199), + ("Tensor G5", 1459000, _dsu_dep!(), 268000000, 0.2152, 0.254), + ("Tensor G5", 1459000, _dsu_dep!(), 400000000, 0.1929, 0.2961), + ("Tensor G5", 1459000, _dsu_dep!(), 537000000, 0.1773, 0.2965), + ("Tensor G5", 1459000, _dsu_dep!(), 691000000, 0.1847, 0.2885), + ("Tensor G5", 1459000, _dsu_dep!(), 768000000, 0.1551, 0.1883), + ("Tensor G5", 1459000, _dsu_dep!(), 844000000, 0.1946, 0.3561), + ("Tensor G5", 1459000, _dsu_dep!(), 960000000, 0.1889, 0.3829), + ("Tensor G5", 1459000, _dsu_dep!(), 1056000000, 0.1423, 0.3766), + ("Tensor G5", 1459000, _dsu_dep!(), 1132000000, 0.2002, 0.2371), + ("Tensor G5", 1459000, _dsu_dep!(), 1228000000, 0.216, 0.3038), + ("Tensor G5", 1459000, _dsu_dep!(), 1324000000, 0.1485, 0.3341), + ("Tensor G5", 1459000, _dsu_dep!(), 1420000000, 0.1596, 0.3352), + ("Tensor G5", 1459000, _dsu_dep!(), 1516000000, 0.2406, 0.3815), + ("Tensor G5", 1459000, _dsu_dep!(), 1612000000, 0.2214, 0.3719), + ("Tensor G5", 1459000, _dsu_dep!(), 1728000000, 0.3056, 0.3596), + ("Tensor G5", 1459000, _dsu_dep!(), 1843000000, 0.3325, 0.4306), + ("Tensor G5", 1459000, _dsu_dep!(), 1920000000, 0.3375, 0.6518), + ("Tensor G5", 1459000, _dsu_dep!(), 1996000000, 0.3969, 0.4834), + ("Tensor G5", 1459000, _dsu_dep!(), 2092000000, 0.3996, 0.4151), + ("Tensor G5", 1459000, _dsu_dep!(), 2188000000, 0.3327, 1.0129), + ("Tensor G5", 1555000, _dsu_dep!(), 115000000, 0.1470, 0.4342), + ("Tensor G5", 1555000, _dsu_dep!(), 268000000, 0.22, 0.2744), + ("Tensor G5", 1555000, _dsu_dep!(), 400000000, 0.2428, 0.2656), + ("Tensor G5", 1555000, _dsu_dep!(), 537000000, 0.2055, 0.2905), + ("Tensor G5", 1555000, _dsu_dep!(), 691000000, 0.2016, 0.5079), + ("Tensor G5", 1555000, _dsu_dep!(), 768000000, 0.1805, 0.3647), + ("Tensor G5", 1555000, _dsu_dep!(), 844000000, 0.1886, 0.3669), + ("Tensor G5", 1555000, _dsu_dep!(), 960000000, 0.1651, 0.3832), + ("Tensor G5", 1555000, _dsu_dep!(), 1056000000, 0.2096, 0.3302), + ("Tensor G5", 1555000, _dsu_dep!(), 1132000000, 0.2284, 0.3751), + ("Tensor G5", 1555000, _dsu_dep!(), 1228000000, 0.1713, 0.3956), + ("Tensor G5", 1555000, _dsu_dep!(), 1324000000, 0.2307, 0.3587), + ("Tensor G5", 1555000, _dsu_dep!(), 1420000000, 0.2276, 0.396), + ("Tensor G5", 1555000, _dsu_dep!(), 1516000000, 0.251, 0.2996), + ("Tensor G5", 1555000, _dsu_dep!(), 1612000000, 0.2231, 0.5059), + ("Tensor G5", 1555000, _dsu_dep!(), 1728000000, 0.2933, 0.5490), + ("Tensor G5", 1555000, _dsu_dep!(), 1843000000, 0.3412, 0.4248), + ("Tensor G5", 1555000, _dsu_dep!(), 1920000000, 0.3772, 0.2708), + ("Tensor G5", 1555000, _dsu_dep!(), 1996000000, 0.3805, 0.4879), + ("Tensor G5", 1555000, _dsu_dep!(), 2092000000, 0.3814, 0.713), + ("Tensor G5", 1555000, _dsu_dep!(), 2188000000, 0.3337, 0.6041), + ("Tensor G5", 1632000, _dsu_dep!(), 115000000, 0.2124, 0.4291), + ("Tensor G5", 1632000, _dsu_dep!(), 268000000, 0.2329, 0.2808), + ("Tensor G5", 1632000, _dsu_dep!(), 400000000, 0.2324, 0.2568), + ("Tensor G5", 1632000, _dsu_dep!(), 537000000, 0.2115, 11.699), + ("Tensor G5", 1632000, _dsu_dep!(), 691000000, 0.2033, 0.2900), + ("Tensor G5", 1632000, _dsu_dep!(), 768000000, 0.2163, 0.3491), + ("Tensor G5", 1632000, _dsu_dep!(), 844000000, 0.2236, 0.3558), + ("Tensor G5", 1632000, _dsu_dep!(), 960000000, 0.1695, 0.3829), + ("Tensor G5", 1632000, _dsu_dep!(), 1056000000, 0.2267, 0.3246), + ("Tensor G5", 1632000, _dsu_dep!(), 1132000000, 0.2215, 0.3009), + ("Tensor G5", 1632000, _dsu_dep!(), 1228000000, 0.1996, 0.3095), + ("Tensor G5", 1632000, _dsu_dep!(), 1324000000, 0.1971, 0.4314), + ("Tensor G5", 1632000, _dsu_dep!(), 1420000000, 0.2359, 0.3931), + ("Tensor G5", 1632000, _dsu_dep!(), 1516000000, 0.1146, 0.3732), + ("Tensor G5", 1632000, _dsu_dep!(), 1612000000, 0.2656, 0.2729), + ("Tensor G5", 1632000, _dsu_dep!(), 1728000000, 0.2861, 0.2673), + ("Tensor G5", 1632000, _dsu_dep!(), 1843000000, 0.346, 0.5312), + ("Tensor G5", 1632000, _dsu_dep!(), 1920000000, 0.1896, 0.6942), + ("Tensor G5", 1632000, _dsu_dep!(), 1996000000, 0.3400, 0.5261), + ("Tensor G5", 1632000, _dsu_dep!(), 2092000000, 0.435, 0.6862), + ("Tensor G5", 1632000, _dsu_dep!(), 2188000000, 0.4348, 0.8778), + ("Tensor G5", 1766000, _dsu_dep!(), 115000000, 0.2871, 0.3695), + ("Tensor G5", 1766000, _dsu_dep!(), 268000000, 0.2682, 0.2392), + ("Tensor G5", 1766000, _dsu_dep!(), 400000000, 0.2186, 0.3338), + ("Tensor G5", 1766000, _dsu_dep!(), 537000000, 0.2624, 0.3108), + ("Tensor G5", 1766000, _dsu_dep!(), 691000000, 0.2267, 0.3222), + ("Tensor G5", 1766000, _dsu_dep!(), 768000000, 0.2107, 0.4472), + ("Tensor G5", 1766000, _dsu_dep!(), 844000000, 0.2129, 0.3108), + ("Tensor G5", 1766000, _dsu_dep!(), 960000000, 0.2445, 0.3611), + ("Tensor G5", 1766000, _dsu_dep!(), 1056000000, 0.1073, 0.4906), + ("Tensor G5", 1766000, _dsu_dep!(), 1132000000, 0.2468, 0.4093), + ("Tensor G5", 1766000, _dsu_dep!(), 1228000000, 0.2264, 0.4356), + ("Tensor G5", 1766000, _dsu_dep!(), 1324000000, 0.1714, 0.3935), + ("Tensor G5", 1766000, _dsu_dep!(), 1420000000, 0.2524, 0.3091), + ("Tensor G5", 1766000, _dsu_dep!(), 1516000000, 0.2651, 0.4433), + ("Tensor G5", 1766000, _dsu_dep!(), 1612000000, 0.2093, 0.733), + ("Tensor G5", 1766000, _dsu_dep!(), 1728000000, 0.2913, 0.3617), + ("Tensor G5", 1766000, _dsu_dep!(), 1843000000, 0.3608, 0.5116), + ("Tensor G5", 1766000, _dsu_dep!(), 1920000000, 0.2915, 0.4919), + ("Tensor G5", 1766000, _dsu_dep!(), 1996000000, 0.3513, 0.2989), + ("Tensor G5", 1766000, _dsu_dep!(), 2092000000, 0.4145, 0.7738), + ("Tensor G5", 1766000, _dsu_dep!(), 2188000000, 0.2372, 0.6006), + ("Tensor G5", 1881000, _dsu_dep!(), 115000000, 0.3476, 0.4273), + ("Tensor G5", 1881000, _dsu_dep!(), 268000000, 0.2761, 0.318), + ("Tensor G5", 1881000, _dsu_dep!(), 400000000, 0.24, 0.3145), + ("Tensor G5", 1881000, _dsu_dep!(), 537000000, 0.262, 0.3373), + ("Tensor G5", 1881000, _dsu_dep!(), 691000000, 0.2807, 0.3893), + ("Tensor G5", 1881000, _dsu_dep!(), 768000000, 0.2221, 0.4449), + ("Tensor G5", 1881000, _dsu_dep!(), 844000000, 0.2055, 0.4472), + ("Tensor G5", 1881000, _dsu_dep!(), 960000000, 0.2511, 0.3165), + ("Tensor G5", 1881000, _dsu_dep!(), 1056000000, 0.2469, 0.2483), + ("Tensor G5", 1881000, _dsu_dep!(), 1132000000, 0.2491, 0.4923), + ("Tensor G5", 1881000, _dsu_dep!(), 1228000000, 0.2519, 0.3244), + ("Tensor G5", 1881000, _dsu_dep!(), 1324000000, 0.2676, 0.5411), + ("Tensor G5", 1881000, _dsu_dep!(), 1420000000, 0.2641, 0.2735), + ("Tensor G5", 1881000, _dsu_dep!(), 1516000000, 0.2393, 0.3807), + ("Tensor G5", 1881000, _dsu_dep!(), 1612000000, 0.2311, 0.5302), + ("Tensor G5", 1881000, _dsu_dep!(), 1728000000, 0.2256, 0.3213), + ("Tensor G5", 1881000, _dsu_dep!(), 1843000000, 0.2789, 0.4710), + ("Tensor G5", 1881000, _dsu_dep!(), 1920000000, 0.3497, 0.4614), + ("Tensor G5", 1881000, _dsu_dep!(), 1996000000, 0.3088, 0.6546), + ("Tensor G5", 1881000, _dsu_dep!(), 2092000000, 0.4274, 0.7133), + ("Tensor G5", 1881000, _dsu_dep!(), 2188000000, 0.4428, 0.8129), + ("Tensor G5", 1996000, _dsu_dep!(), 115000000, 0.3520, 0.3168), + ("Tensor G5", 1996000, _dsu_dep!(), 268000000, 0.2607, 0.4108), + ("Tensor G5", 1996000, _dsu_dep!(), 400000000, 0.2538, 0.3641), + ("Tensor G5", 1996000, _dsu_dep!(), 537000000, 0.1820, 0.7486), + ("Tensor G5", 1996000, _dsu_dep!(), 691000000, 0.2382, 0.4454), + ("Tensor G5", 1996000, _dsu_dep!(), 768000000, 0.2328, 0.5745), + ("Tensor G5", 1996000, _dsu_dep!(), 844000000, 0.2891, 0.4183), + ("Tensor G5", 1996000, _dsu_dep!(), 960000000, 0.232, 0.3792), + ("Tensor G5", 1996000, _dsu_dep!(), 1056000000, 0.2841, 0.4266), + ("Tensor G5", 1996000, _dsu_dep!(), 1132000000, 0.2283, 0.5786), + ("Tensor G5", 1996000, _dsu_dep!(), 1228000000, 0.1972, 0.4419), + ("Tensor G5", 1996000, _dsu_dep!(), 1324000000, 0.1561, 0.4602), + ("Tensor G5", 1996000, _dsu_dep!(), 1420000000, 0.3003, 0.4203), + ("Tensor G5", 1996000, _dsu_dep!(), 1516000000, 0.3037, 0.4552), + ("Tensor G5", 1996000, _dsu_dep!(), 1612000000, 0.218, 0.6278), + ("Tensor G5", 1996000, _dsu_dep!(), 1728000000, 0.3288, 0.3823), + ("Tensor G5", 1996000, _dsu_dep!(), 1843000000, 0.3427, 0.4182), + ("Tensor G5", 1996000, _dsu_dep!(), 1920000000, 0.3808, 0.6083), + ("Tensor G5", 1996000, _dsu_dep!(), 1996000000, 0.1738, 0.4082), + ("Tensor G5", 1996000, _dsu_dep!(), 2092000000, 0.4273, 0.5363), + ("Tensor G5", 1996000, _dsu_dep!(), 2188000000, 0.3972, 0.4524), + ("Tensor G5", 2016000, _dsu_dep!(), 115000000, 0.2433, 0.447), + ("Tensor G5", 2016000, _dsu_dep!(), 268000000, 0.2679, 0.3328), + ("Tensor G5", 2016000, _dsu_dep!(), 400000000, 0.2983, 0.3725), + ("Tensor G5", 2016000, _dsu_dep!(), 537000000, 0.3251, 0.3428), + ("Tensor G5", 2016000, _dsu_dep!(), 691000000, 0.2804, 0.2545), + ("Tensor G5", 2016000, _dsu_dep!(), 768000000, 0.2824, 0.5095), + ("Tensor G5", 2016000, _dsu_dep!(), 844000000, 0.2517, 0.4909), + ("Tensor G5", 2016000, _dsu_dep!(), 960000000, 0.2804, 0.3634), + ("Tensor G5", 2016000, _dsu_dep!(), 1056000000, 0.2524, 0.3324), + ("Tensor G5", 2016000, _dsu_dep!(), 1132000000, 0.2794, 0.3238), + ("Tensor G5", 2016000, _dsu_dep!(), 1228000000, 0.2807, 0.3461), + ("Tensor G5", 2016000, _dsu_dep!(), 1324000000, 0.2863, 0.5673), + ("Tensor G5", 2016000, _dsu_dep!(), 1420000000, 0.3645, 0.3403), + ("Tensor G5", 2016000, _dsu_dep!(), 1516000000, 0.245, 0.5254), + ("Tensor G5", 2016000, _dsu_dep!(), 1612000000, 0.2309, 0.6037), + ("Tensor G5", 2016000, _dsu_dep!(), 1728000000, 0.2668, 0.4946), + ("Tensor G5", 2016000, _dsu_dep!(), 1843000000, 0.3026, 0.6272), + ("Tensor G5", 2016000, _dsu_dep!(), 1920000000, 0.3879, 0.6073), + ("Tensor G5", 2016000, _dsu_dep!(), 1996000000, 0.374, 0.4027), + ("Tensor G5", 2016000, _dsu_dep!(), 2092000000, 0.4634, 0.5438), + ("Tensor G5", 2016000, _dsu_dep!(), 2188000000, 0.4491, 0.7081), + ("Tensor G5", 2054000, _dsu_dep!(), 115000000, 0.3228, 0.3829), + ("Tensor G5", 2054000, _dsu_dep!(), 268000000, 0.2783, 0.3625), + ("Tensor G5", 2054000, _dsu_dep!(), 400000000, 0.3147, 0.283), + ("Tensor G5", 2054000, _dsu_dep!(), 537000000, 0.283, 0.4224), + ("Tensor G5", 2054000, _dsu_dep!(), 691000000, 0.1618, 0.5269), + ("Tensor G5", 2054000, _dsu_dep!(), 768000000, 0.2415, 0.4877), + ("Tensor G5", 2054000, _dsu_dep!(), 844000000, 0.3019, 0.3428), + ("Tensor G5", 2054000, _dsu_dep!(), 960000000, 0.2153, 0.4231), + ("Tensor G5", 2054000, _dsu_dep!(), 1056000000, 0.2966, 0.4831), + ("Tensor G5", 2054000, _dsu_dep!(), 1132000000, 0.309, 0.4705), + ("Tensor G5", 2054000, _dsu_dep!(), 1228000000, 0.2889, 0.4501), + ("Tensor G5", 2054000, _dsu_dep!(), 1324000000, 0.3135, 0.6828), + ("Tensor G5", 2054000, _dsu_dep!(), 1420000000, 0.3409, 0.5490), + ("Tensor G5", 2054000, _dsu_dep!(), 1516000000, 0.3153, 0.3259), + ("Tensor G5", 2054000, _dsu_dep!(), 1612000000, 0.3197, 0.5847), + ("Tensor G5", 2054000, _dsu_dep!(), 1728000000, 0.3186, 0.5825), + ("Tensor G5", 2054000, _dsu_dep!(), 1843000000, 0.3456, 0.4538), + ("Tensor G5", 2054000, _dsu_dep!(), 1920000000, 0.2944, 0.3929), + ("Tensor G5", 2054000, _dsu_dep!(), 1996000000, 0.3575, 0.406), + ("Tensor G5", 2054000, _dsu_dep!(), 2092000000, 0.4072, 0.8127), + ("Tensor G5", 2054000, _dsu_dep!(), 2188000000, 0.4752, 0.5146), + ("Tensor G5", 2092000, _dsu_dep!(), 115000000, 0.3096, 0.3571), + ("Tensor G5", 2092000, _dsu_dep!(), 268000000, 0.3187, 0.4034), + ("Tensor G5", 2092000, _dsu_dep!(), 400000000, 0.3196, 0.3981), + ("Tensor G5", 2092000, _dsu_dep!(), 537000000, 0.3198, 0.3992), + ("Tensor G5", 2092000, _dsu_dep!(), 691000000, 0.3077, 0.5161), + ("Tensor G5", 2092000, _dsu_dep!(), 768000000, 0.2976, 0.4976), + ("Tensor G5", 2092000, _dsu_dep!(), 844000000, 0.221, 0.5945), + ("Tensor G5", 2092000, _dsu_dep!(), 960000000, 0.3047, 0.3559), + ("Tensor G5", 2092000, _dsu_dep!(), 1056000000, 0.2080, 0.3991), + ("Tensor G5", 2092000, _dsu_dep!(), 1132000000, 0.3034, 0.5344), + ("Tensor G5", 2092000, _dsu_dep!(), 1228000000, 0.3053, 0.5314), + ("Tensor G5", 2092000, _dsu_dep!(), 1324000000, 0.1538, 31.397), + ("Tensor G5", 2092000, _dsu_dep!(), 1420000000, 0.3446, 0.3589), + ("Tensor G5", 2092000, _dsu_dep!(), 1516000000, 0.3363, 0.4872), + ("Tensor G5", 2092000, _dsu_dep!(), 1612000000, 0.3423, 0.5387), + ("Tensor G5", 2092000, _dsu_dep!(), 1728000000, 0.3464, 0.4640), + ("Tensor G5", 2092000, _dsu_dep!(), 1843000000, 0.3728, 0.5651), + ("Tensor G5", 2092000, _dsu_dep!(), 1920000000, 0.3946, 0.3228), + ("Tensor G5", 2092000, _dsu_dep!(), 1996000000, 0.3678, 0.3802), + ("Tensor G5", 2092000, _dsu_dep!(), 2092000000, 0.4238, 0.4055), + ("Tensor G5", 2092000, _dsu_dep!(), 2188000000, 0.4652, 0.4393), + ("Tensor G5", 2169000, _dsu_dep!(), 115000000, 0.3441, 0.4047), + ("Tensor G5", 2169000, _dsu_dep!(), 268000000, 0.2531, 0.4981), + ("Tensor G5", 2169000, _dsu_dep!(), 400000000, 0.3047, 0.5037), + ("Tensor G5", 2169000, _dsu_dep!(), 537000000, 0.3091, 0.3904), + ("Tensor G5", 2169000, _dsu_dep!(), 691000000, 0.3236, 0.5714), + ("Tensor G5", 2169000, _dsu_dep!(), 768000000, 0.2832, 0.4033), + ("Tensor G5", 2169000, _dsu_dep!(), 844000000, 0.3264, 0.4072), + ("Tensor G5", 2169000, _dsu_dep!(), 960000000, 0.2455, 0.4045), + ("Tensor G5", 2169000, _dsu_dep!(), 1056000000, 0.3238, 0.3717), + ("Tensor G5", 2169000, _dsu_dep!(), 1132000000, 0.3303, 0.4531), + ("Tensor G5", 2169000, _dsu_dep!(), 1228000000, 0.3202, 0.5501), + ("Tensor G5", 2169000, _dsu_dep!(), 1324000000, 0.3329, 0.4658), + ("Tensor G5", 2169000, _dsu_dep!(), 1420000000, 0.37, 0.4666), + ("Tensor G5", 2169000, _dsu_dep!(), 1516000000, 0.3593, 0.3602), + ("Tensor G5", 2169000, _dsu_dep!(), 1612000000, 0.3253, 0.7185), + ("Tensor G5", 2169000, _dsu_dep!(), 1728000000, 0.2935, 0.5328), + ("Tensor G5", 2169000, _dsu_dep!(), 1843000000, 0.3935, 0.3907), + ("Tensor G5", 2169000, _dsu_dep!(), 1920000000, 0.3439, 0.5322), + ("Tensor G5", 2169000, _dsu_dep!(), 1996000000, 0.4164, 0.6431), + ("Tensor G5", 2169000, _dsu_dep!(), 2092000000, 0.3067, 0.6504), + ("Tensor G5", 2169000, _dsu_dep!(), 2188000000, 0.4595, 0.6651), + ("Tensor G5", 2246000, _dsu_dep!(), 115000000, 0.5018, 0.334), + ("Tensor G5", 2246000, _dsu_dep!(), 268000000, 0.1858, 0.5702), + ("Tensor G5", 2246000, _dsu_dep!(), 400000000, 0.3575, 0.4385), + ("Tensor G5", 2246000, _dsu_dep!(), 537000000, 0.317, 0.5159), + ("Tensor G5", 2246000, _dsu_dep!(), 691000000, 0.3315, 0.4771), + ("Tensor G5", 2246000, _dsu_dep!(), 768000000, 0.1644, 0.5081), + ("Tensor G5", 2246000, _dsu_dep!(), 844000000, 0.3641, 0.5874), + ("Tensor G5", 2246000, _dsu_dep!(), 960000000, 0.3196, 0.4443), + ("Tensor G5", 2246000, _dsu_dep!(), 1056000000, 0.3679, 0.2638), + ("Tensor G5", 2246000, _dsu_dep!(), 1132000000, 0.3306, 0.4363), + ("Tensor G5", 2246000, _dsu_dep!(), 1228000000, 0.3679, 0.6061), + ("Tensor G5", 2246000, _dsu_dep!(), 1324000000, 0.3273, 0.4928), + ("Tensor G5", 2246000, _dsu_dep!(), 1420000000, 0.3646, 0.6653), + ("Tensor G5", 2246000, _dsu_dep!(), 1516000000, 0.3953, 0.4656), + ("Tensor G5", 2246000, _dsu_dep!(), 1612000000, 0.391, 0.7046), + ("Tensor G5", 2246000, _dsu_dep!(), 1728000000, 0.3948, 0.4969), + ("Tensor G5", 2246000, _dsu_dep!(), 1843000000, 0.4446, 0.7071), + ("Tensor G5", 2246000, _dsu_dep!(), 1920000000, 0.4609, 0.5365), + ("Tensor G5", 2246000, _dsu_dep!(), 1996000000, 0.3605, 0.6287), + ("Tensor G5", 2246000, _dsu_dep!(), 2092000000, 0.2661, 0.6364), + ("Tensor G5", 2246000, _dsu_dep!(), 2188000000, 0.4526, 0.8995)) AS _values ) SELECT * diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/utils.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/utils.sql index c101ab18e98..9e065db10bd 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/curves/utils.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/curves/utils.sql @@ -23,6 +23,8 @@ INCLUDE PERFETTO MODULE wattson.curves.device_l3; INCLUDE PERFETTO MODULE wattson.device_infos; +INCLUDE PERFETTO MODULE wattson.utils; + -- 1D LUT CREATE PERFETTO TABLE _filtered_curves_1d_raw AS SELECT @@ -164,7 +166,7 @@ FROM _filtered_curves_2d_raw JOIN _dev_cpu_policy_map USING (policy) WHERE - dep_policy = 255; + dep_policy = _dsu_dep!(); -- Chooses the minimum vote for CPUs with dependencies CREATE PERFETTO TABLE _cpu_w_dependency_default_vote AS @@ -215,7 +217,7 @@ WITH JOIN _dev_cpu_policy_map AS m USING (policy) WHERE - dep_policy != 255 + dep_policy != _dsu_dep!() ), dep_cpus AS ( SELECT DISTINCT diff --git a/src/trace_processor/perfetto_sql/stdlib/wattson/utils.sql b/src/trace_processor/perfetto_sql/stdlib/wattson/utils.sql index 8428525fdf0..34e3a2e5531 100644 --- a/src/trace_processor/perfetto_sql/stdlib/wattson/utils.sql +++ b/src/trace_processor/perfetto_sql/stdlib/wattson/utils.sql @@ -47,3 +47,8 @@ RETURNS TableOrSubquery AS * FROM $tab ); + +-- DSU dependency policy +CREATE PERFETTO MACRO _dsu_dep() +RETURNS Expr AS +255; From 0ce5e90e79f04dbd589146d06b83af4a3a3f9975 Mon Sep 17 00:00:00 2001 From: Runping Lai Date: Wed, 15 Oct 2025 10:25:17 -0700 Subject: [PATCH 092/370] docs: update SQL Macro usecase (#3289) In PR#3276, we found a MACRO usecase which wasn't listed before. Therefore adding this usecase and explainations of it in the doc. Basically, it would be ok to use `MACRO` for a constant if it would be referenced massive times and it would be bad to use `FUNCTION` for it which will bring massive performance overhead since SQL `FUNCTION` can't do inlining. --- docs/analysis/perfetto-sql-syntax.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/analysis/perfetto-sql-syntax.md b/docs/analysis/perfetto-sql-syntax.md index e6ef4f03da0..e6bb9688e56 100644 --- a/docs/analysis/perfetto-sql-syntax.md +++ b/docs/analysis/perfetto-sql-syntax.md @@ -199,13 +199,18 @@ is inspired by the macros in Rust. The following are recommended uses of macros: - Passing tables as arguments to a "function-like" snippet of SQL. +- Defining simple constants for performance-sensitive queries. Macros are powerful but also dangerous if used incorrectly, making debugging extremely difficult. For this reason, it's recommended that they are used sparingly when they are needed and only for the recommended uses described -above. If only passing around scalar SQL values, use functions as discussed above. +If only passing around scalar SQL values, functions are generally preferred +for their clarity. However, for simple constants used many times in a +performance-sensitive query, a macro can be more efficient as it avoids the +potential overhead of function calls in a large number. + NOTE: Macros are expanded with a pre-processing step *before* any execution happens. Expansion is a purely syntatic operation involves replacing the macro invocation with the SQL tokens in the macro definition. @@ -264,4 +269,4 @@ RETURNS TableOrSubquery AS SELECT input_tab.input_col + $y FROM $x AS input_tab; ) -``` \ No newline at end of file +``` From 920a7dc0a598450fd480465b63012871677e37a4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 15 Oct 2025 21:14:18 +0100 Subject: [PATCH 093/370] tp: procfs process trees: set main thread name if "cmdline_is_comm" (#3301) This came up for traces containing perf samples + procfs trees, but no sched_switch to supply thread names. The result is that the grouped kernel thread tracks end up mostly anonymous (since the procfs scraping is only supplying the process names). Additionally, a subset of those threads does end up with a name due to the trace including "task_rename" ftrace events. On modern traces, we actually know if the "cmdline" field in the trace was set from /proc/pid/comm, so we can use that information to name the main thread as well. --- .../importers/proto/system_probes_parser.cc | 18 +++++++- .../parser/process_tracking/tests.py | 44 +++++++++++++++++++ 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/src/trace_processor/importers/proto/system_probes_parser.cc b/src/trace_processor/importers/proto/system_probes_parser.cc index e3f5ad243a4..864544587ff 100644 --- a/src/trace_processor/importers/proto/system_probes_parser.cc +++ b/src/trace_processor/importers/proto/system_probes_parser.cc @@ -666,11 +666,25 @@ void SystemProbesParser::ParseProcessTree(ConstBytes blob) { UniquePid pupid = context_->process_tracker->GetOrCreateProcess(ppid); UniquePid upid = context_->process_tracker->GetOrCreateProcess(pid); - upid = - context_->process_tracker->UpdateProcessWithParent(upid, pupid, true); + upid = context_->process_tracker->UpdateProcessWithParent( + upid, pupid, /*associate_main_thread=*/true); context_->process_tracker->SetProcessMetadata(upid, argv0, joined_cmdline); + // perfetto v50+: additionally, if we know that the "cmdline" contents are + // coming from the main thread's name ("comm"), then set the thread name as + // well. This comes up with kernel threads, which are in fact single-thread + // processes without a /proc/pid/cmdline. The reuse of "cmdline" for this + // scenario is historical, but we maintain compatibility. Note: + // cmdline_is_comm is not equivalent to "is a kernel thread", as the field + // could also be set for e.g. zombie processes. + if (proc.cmdline_is_comm()) { + auto utid = context_->process_tracker->GetOrCreateThread(pid); + auto thread_name_id = context_->storage->InternString(joined_cmdline); + context_->process_tracker->UpdateThreadName( + utid, thread_name_id, ThreadNamePriority::kProcessTree); + } + if (proc.has_uid()) { context_->process_tracker->SetProcessUid( upid, static_cast(proc.uid())); diff --git a/test/trace_processor/diff_tests/parser/process_tracking/tests.py b/test/trace_processor/diff_tests/parser/process_tracking/tests.py index 3f46ddf2915..cf2dd7d827b 100644 --- a/test/trace_processor/diff_tests/parser/process_tracking/tests.py +++ b/test/trace_processor/diff_tests/parser/process_tracking/tests.py @@ -497,3 +497,47 @@ def test_process_is_kthread_from_procfs(self): 618,1,"kworker/R" 710,0,"/usr/sbin/apache2 -k start" """)) + + # perfetto v50+: "cmdline_is_comm" is used to name the main thread of a + # process. + def test_cmdline_is_comm_for_kthreads(self): + return DiffTestBlueprint( + trace=TextProto(r""" + packet { + first_packet_on_sequence: true + timestamp: 1088821452006028 + incremental_state_cleared: true + process_tree { + processes { + pid: 27 + ppid: 2 + cmdline: "ksoftirqd/1" + uid: 0 + cmdline_is_comm: true + } + processes { + pid: 28 + ppid: 2 + cmdline: "kworker/1:0-sock_diag_events" + uid: 0 + cmdline_is_comm: true + } + collection_end_timestamp: 1088821520810204 + } + trusted_uid: 304336 + trusted_packet_sequence_id: 3 + trusted_pid: 1137063 + previous_packet_dropped: true + } + """), + query=""" + select tid, pid, t.name as thread_name, p.name as process_name + from thread t join process p using (upid) + where pid in (27, 28) + order by pid asc; + """, + out=Csv(""" + "tid","pid","thread_name","process_name" + 27,27,"ksoftirqd/1","ksoftirqd/1" + 28,28,"kworker/1:0","kworker/1:0" + """)) \ No newline at end of file From 213835ed4707968a7b6026bab0f7aa02d7d64a17 Mon Sep 17 00:00:00 2001 From: Edgar Arriaga Date: Wed, 15 Oct 2025 20:37:24 +0000 Subject: [PATCH 094/370] Add prune perf events transform primitive to trace redactor (#3071) This primitive allows allows redaction of perf events from traces for target process which is a requirement to add support for call stacks in redactor. --- Android.bp | 1 + src/trace_redaction/BUILD.gn | 3 + src/trace_redaction/prune_perf_events.cc | 126 +++++++++++++++++++++++ src/trace_redaction/prune_perf_events.h | 50 +++++++++ 4 files changed, 180 insertions(+) create mode 100644 src/trace_redaction/prune_perf_events.cc create mode 100644 src/trace_redaction/prune_perf_events.h diff --git a/Android.bp b/Android.bp index ba37d87280a..8c6e8ae84c9 100644 --- a/Android.bp +++ b/Android.bp @@ -15839,6 +15839,7 @@ filegroup { "src/trace_redaction/process_thread_timeline.cc", "src/trace_redaction/proto_util.cc", "src/trace_redaction/prune_package_list.cc", + "src/trace_redaction/prune_perf_events.cc", "src/trace_redaction/redact_ftrace_events.cc", "src/trace_redaction/redact_process_events.cc", "src/trace_redaction/redact_sched_events.cc", diff --git a/src/trace_redaction/BUILD.gn b/src/trace_redaction/BUILD.gn index 7de5b7f29d3..50a2e0c7784 100644 --- a/src/trace_redaction/BUILD.gn +++ b/src/trace_redaction/BUILD.gn @@ -58,6 +58,8 @@ source_set("trace_redaction") { "proto_util.h", "prune_package_list.cc", "prune_package_list.h", + "prune_perf_events.cc", + "prune_perf_events.h", "redact_ftrace_events.cc", "redact_ftrace_events.h", "redact_process_events.cc", @@ -86,6 +88,7 @@ source_set("trace_redaction") { "../../protos/perfetto/trace:non_minimal_zero", "../../protos/perfetto/trace/android:zero", "../../protos/perfetto/trace/ftrace:zero", + "../../protos/perfetto/trace/profiling:zero", "../../protos/perfetto/trace/ps:zero", "../base", "../trace_processor/util:blob", diff --git a/src/trace_redaction/prune_perf_events.cc b/src/trace_redaction/prune_perf_events.cc new file mode 100644 index 00000000000..1f3c8012caa --- /dev/null +++ b/src/trace_redaction/prune_perf_events.cc @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/trace_redaction/prune_perf_events.h" + +#include "perfetto/protozero/field.h" +#include "perfetto/protozero/scattered_heap_buffer.h" + +#include "perfetto/base/logging.h" +#include "perfetto/base/status.h" +#include "perfetto/ext/base/status_macros.h" +#include "src/trace_redaction/proto_util.h" +#include "src/trace_redaction/trace_redaction_framework.h" + +#include "protos/perfetto/trace/profiling/profile_packet.pbzero.h" + +using namespace perfetto::trace_processor; +namespace perfetto::trace_redaction { + +base::Status PrunePerfEvents::Transform(const Context& context, + std::string* packet) const { + protos::pbzero::TracePacket::Decoder packet_decoder(*packet); + if (!packet_decoder.has_perf_sample()) { + // No perf samples found, skip. + return base::OkStatus(); + } + + protozero::HeapBuffered message; + + std::optional trace_packet_clock_id; + std::optional trusted_packet_sequence_id; + if (PERFETTO_UNLIKELY(packet_decoder.has_timestamp_clock_id())) { + // A clock id was overriden for the packet. + trace_packet_clock_id = + static_cast(packet_decoder.timestamp_clock_id()); + } else { + // No clock if provided, we need to use the trace defaults. Find the + // corresponding trusted sequence id to identify the correct clock. + if (packet_decoder.has_trusted_packet_sequence_id()) { + trusted_packet_sequence_id = + static_cast(packet_decoder.trusted_packet_sequence_id()); + } + } + + if (!packet_decoder.has_timestamp()) { + return base::ErrStatus( + "PrunePerfEvents: missing field (TracePacket::kTimestamp)"); + } + auto ts = packet_decoder.timestamp(); + + protozero::ProtoDecoder packet_proto_decoder(*packet); + + // Iterate through each field to build the new TracePacket and prune perf + // samples if required. + for (auto field = packet_proto_decoder.ReadField(); field.valid(); + field = packet_proto_decoder.ReadField()) { + if (field.id() == protos::pbzero::TracePacket::kPerfSampleFieldNumber) { + RETURN_IF_ERROR(OnPerfSample(context, ts, trace_packet_clock_id, + trusted_packet_sequence_id, field, + message.get())); + } else { + proto_util::AppendField(field, message.get()); + } + } + + packet->assign(message.SerializeAsString()); + + return base::OkStatus(); +} + +base::Status PrunePerfEvents::OnPerfSample( + const Context& context, + uint64_t ts, + std::optional trace_packet_clock_id, + std::optional trusted_packet_sequence_id, + protozero::Field& perf_sample_field, + protos::pbzero::TracePacket* message) const { + protos::pbzero::PerfSample::Decoder decoder(perf_sample_field.as_bytes()); + if (!decoder.has_pid()) { + // PID is required to compute belongs-to process relationship + return base::ErrStatus("PrunePerfEvents: missing field (PerfSample::kPid)"); + } + int32_t pid = static_cast(decoder.pid()); + + uint64_t trace_ts; + ClockId clock_id; + if (PERFETTO_LIKELY(!trace_packet_clock_id.has_value())) { + // No override provided, so grab the default clock for this sequence id. + if (!trusted_packet_sequence_id.has_value()) { + return base::ErrStatus( + "PrunePerfEvents: missing field " + "(TracePacket::kTrustedPacketSequenceId) in perf sample" + " which is required to retrieve per data source clocks."); + } + ASSIGN_OR_RETURN( + clock_id, context.clock_converter.GetDataSourceClock( + static_cast(trusted_packet_sequence_id.value()), + RedactorClockConverter::DataSourceType::kPerfDataSource)); + } else { + clock_id = trace_packet_clock_id.value(); + } + + ASSIGN_OR_RETURN(trace_ts, + context.clock_converter.ConvertToTrace(clock_id, ts)); + + if (filter_->Includes(context, trace_ts, pid)) { + proto_util::AppendField(perf_sample_field, message); + } + + return base::OkStatus(); +} + +} // namespace perfetto::trace_redaction diff --git a/src/trace_redaction/prune_perf_events.h b/src/trace_redaction/prune_perf_events.h new file mode 100644 index 00000000000..0dfb6fdda7d --- /dev/null +++ b/src/trace_redaction/prune_perf_events.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SRC_TRACE_REDACTION_PRUNE_PERF_EVENTS_H_ +#define SRC_TRACE_REDACTION_PRUNE_PERF_EVENTS_H_ + +#include + +#include "src/trace_redaction/filtering.h" +#include "src/trace_redaction/trace_redaction_framework.h" + +namespace perfetto::trace_redaction { + +class PrunePerfEvents : public TransformPrimitive { + public: + base::Status Transform(const Context& context, + std::string* packet) const override; + + template + void emplace_filter() { + filter_ = std::make_unique(); + } + + private: + base::Status OnPerfSample(const Context& context, + uint64_t ts, + std::optional trace_packet_clock_id, + std::optional trusted_packet_sequence_id, + protozero::Field& field, + protos::pbzero::TracePacket* message) const; + + std::unique_ptr filter_; +}; + +} // namespace perfetto::trace_redaction + +#endif // SRC_TRACE_REDACTION_PRUNE_PERF_EVENTS_H_ From e931e2746626dffe86ea8240226a975c80563796 Mon Sep 17 00:00:00 2001 From: jahdiel-alvarez Date: Thu, 16 Oct 2025 00:05:15 -0700 Subject: [PATCH 095/370] Refactor such that DESTROYED state event marks the end of a thread (#3304) Before the DEAD state event was considered the end of a thread and DESTROYED event was ignored. The downside of this is that in the UI threads would end up with never ending Zombie thread state slices, which is somewhat misleading when analyzing traces. This change makes it so that the DESTROYED state event marks the end of a thread. The DEAD state event is still handled and visualized, but doesn't end the thread. Now, the DEAD event can only be followed up by a DESTROYED event. Any other event following DEAD would result in an invalid order error. Also, the UI was updated such that gaps in between context switch events are visualized in the thread state track as "[Unknown]" slices. These gaps are possible because a thread could be context switched out and we never get an appropriate event that closes the pending slice, so it stays "hanging". Bug: 451701588 --- .../generic_kernel/generic_kernel_parser.cc | 42 +-- .../diff_tests/parser/generic_kernel/tests.py | 245 ++++++++++++------ ui/src/plugins/dev.perfetto.Sched/common.ts | 3 + .../thread_state_details_panel.ts | 2 +- .../thread_state_selection_aggregator.ts | 2 +- .../dev.perfetto.Sched/thread_state_track.ts | 4 +- 6 files changed, 193 insertions(+), 105 deletions(-) diff --git a/src/trace_processor/importers/generic_kernel/generic_kernel_parser.cc b/src/trace_processor/importers/generic_kernel/generic_kernel_parser.cc index f48254520c9..0e51b723640 100644 --- a/src/trace_processor/importers/generic_kernel/generic_kernel_parser.cc +++ b/src/trace_processor/importers/generic_kernel/generic_kernel_parser.cc @@ -152,39 +152,41 @@ std::optional GenericKernelParser::GetUtidForState(int64_t ts, return utid; } case TaskStateEnum::TASK_STATE_DESTROYED: { - return context_->process_tracker->GetThreadOrNull(tid); - } - case TaskStateEnum::TASK_STATE_DEAD: { auto utid_opt = context_->process_tracker->GetThreadOrNull(tid); if (!utid_opt) { utid_opt = context_->process_tracker->GetOrCreateThread(tid); context_->process_tracker->UpdateThreadName( *utid_opt, comm_id, ThreadNamePriority::kGenericKernelTask); - } else if (ThreadStateTracker::GetOrCreate(context_)->GetPrevEndState( - *utid_opt) == destroyed_string_id_) { - context_->storage->IncrementStats( - stats::generic_task_state_invalid_order); - utid_opt = std::nullopt; } context_->process_tracker->EndThread(ts, tid); return utid_opt; } - case TaskStateEnum::TASK_STATE_RUNNING: { - auto utid_opt = context_->process_tracker->GetThreadOrNull(tid); - if (utid_opt && - ThreadStateTracker::GetOrCreate(context_)->GetPrevEndState( - *utid_opt) == running_string_id_) { - context_->storage->IncrementStats( - stats::generic_task_state_invalid_order); - return std::nullopt; - } - PERFETTO_FALLTHROUGH; - } + case TaskStateEnum::TASK_STATE_DEAD: + case TaskStateEnum::TASK_STATE_RUNNING: case TaskStateEnum::TASK_STATE_RUNNABLE: case TaskStateEnum::TASK_STATE_INTERRUPTIBLE_SLEEP: case TaskStateEnum::TASK_STATE_UNINTERRUPTIBLE_SLEEP: case TaskStateEnum::TASK_STATE_STOPPED: { - UniqueTid utid = context_->process_tracker->GetOrCreateThread(tid); + UniqueTid utid; + if (auto utid_opt = context_->process_tracker->GetThreadOrNull(tid); + utid_opt) { + StringId prev_state_id = + ThreadStateTracker::GetOrCreate(context_)->GetPrevEndState( + *utid_opt); + // The only accepted state after DEAD is DESTROYED + bool is_invalid_order = prev_state_id == dead_string_id_; + // Consecutive RUNNING states are invalid + is_invalid_order |= state == TaskStateEnum::TASK_STATE_RUNNING && + prev_state_id == running_string_id_; + if (is_invalid_order) { + context_->storage->IncrementStats( + stats::generic_task_state_invalid_order); + return std::nullopt; + } + utid = *utid_opt; + } else { + utid = context_->process_tracker->GetOrCreateThread(tid); + } context_->process_tracker->UpdateThreadName( utid, comm_id, ThreadNamePriority::kGenericKernelTask); return utid; diff --git a/test/trace_processor/diff_tests/parser/generic_kernel/tests.py b/test/trace_processor/diff_tests/parser/generic_kernel/tests.py index 63f0fb12f59..7af409eeb8e 100644 --- a/test/trace_processor/diff_tests/parser/generic_kernel/tests.py +++ b/test/trace_processor/diff_tests/parser/generic_kernel/tests.py @@ -621,19 +621,18 @@ def test_thread_created_and_dead(self): out=Csv(""" "utid","tid","name","start_ts","end_ts" 0,0,"swapper","[NULL]","[NULL]" - 1,101,"task1",360831239274,362831239274 - 2,102,"task2",361831239274,363831239274 + 1,101,"task1",360831239274,"[NULL]" + 2,102,"task2",361831239274,"[NULL]" """)) - def test_thread_created_and_dead_huge_tid(self): + def test_thread_state_created_and_destroyed(self): return DiffTestBlueprint( trace=TextProto(r""" packet { timestamp: 360831239274 generic_kernel_task_state_event { - cpu: 0 comm: "task1" - tid: 9023372036854775807 + tid: 101 state: TASK_STATE_CREATED prio: 100 } @@ -641,30 +640,49 @@ def test_thread_created_and_dead_huge_tid(self): packet { timestamp: 361831239274 generic_kernel_task_state_event { - cpu: 0 - comm: "task2" - tid: 8923372036854775807 - state: TASK_STATE_CREATED + comm: "task1" + tid: 101 + state: TASK_STATE_DESTROYED prio: 100 } } + """), + query=""" + select + ts, + dur, + cpu, + utid, + state, + ucpu + from thread_state + """, + out=Csv(""" + "ts","dur","cpu","utid","state","ucpu" + 360831239274,1000000000,"[NULL]",1,"Created","[NULL]" + 361831239274,-1,"[NULL]",1,"X","[NULL]" + """)) + + def test_thread_created_and_destroyed(self): + return DiffTestBlueprint( + trace=TextProto(r""" packet { - timestamp: 362831239274 + timestamp: 360831239274 generic_kernel_task_state_event { cpu: 0 comm: "task1" - tid: 9023372036854775807 - state: TASK_STATE_DEAD + tid: 101 + state: TASK_STATE_CREATED prio: 100 } } packet { - timestamp: 363831239274 + timestamp: 361831239274 generic_kernel_task_state_event { cpu: 0 - comm: "task2" - tid: 8923372036854775807 - state: TASK_STATE_DEAD + comm: "task1" + tid: 101 + state: TASK_STATE_DESTROYED prio: 100 } } @@ -681,18 +699,18 @@ def test_thread_created_and_dead_huge_tid(self): out=Csv(""" "utid","tid","name","start_ts","end_ts" 0,0,"swapper","[NULL]","[NULL]" - 1,9023372036854775807,"task1",360831239274,362831239274 - 2,8923372036854775807,"task2",361831239274,363831239274 + 1,101,"task1",360831239274,361831239274 """)) - def test_thread_state_created_and_destroyed(self): + def test_thread_created_and_destroyed_huge_tid(self): return DiffTestBlueprint( trace=TextProto(r""" packet { timestamp: 360831239274 generic_kernel_task_state_event { + cpu: 0 comm: "task1" - tid: 101 + tid: 9023372036854775807 state: TASK_STATE_CREATED prio: 100 } @@ -700,48 +718,29 @@ def test_thread_state_created_and_destroyed(self): packet { timestamp: 361831239274 generic_kernel_task_state_event { - comm: "task1" - tid: 101 - state: TASK_STATE_DESTROYED + cpu: 0 + comm: "task2" + tid: 8923372036854775807 + state: TASK_STATE_CREATED prio: 100 } } - """), - query=""" - select - ts, - dur, - cpu, - utid, - state, - ucpu - from thread_state - """, - out=Csv(""" - "ts","dur","cpu","utid","state","ucpu" - 360831239274,1000000000,"[NULL]",1,"Created","[NULL]" - 361831239274,-1,"[NULL]",1,"X","[NULL]" - """)) - - def test_thread_created_and_destroyed(self): - return DiffTestBlueprint( - trace=TextProto(r""" packet { - timestamp: 360831239274 + timestamp: 362831239274 generic_kernel_task_state_event { cpu: 0 comm: "task1" - tid: 101 - state: TASK_STATE_CREATED + tid: 9023372036854775807 + state: TASK_STATE_DESTROYED prio: 100 } } packet { - timestamp: 361831239274 + timestamp: 363831239274 generic_kernel_task_state_event { cpu: 0 - comm: "task1" - tid: 101 + comm: "task2" + tid: 8923372036854775807 state: TASK_STATE_DESTROYED prio: 100 } @@ -759,11 +758,12 @@ def test_thread_created_and_destroyed(self): out=Csv(""" "utid","tid","name","start_ts","end_ts" 0,0,"swapper","[NULL]","[NULL]" - 1,101,"task1",360831239274,"[NULL]" + 1,9023372036854775807,"task1",360831239274,362831239274 + 2,8923372036854775807,"task2",361831239274,363831239274 """)) def test_thread_only_destroyed_or_dead(self): - # The DESTROYED event should be ignored + # The DEAD event should be ignored return DiffTestBlueprint( trace=TextProto(r""" packet { @@ -797,11 +797,12 @@ def test_thread_only_destroyed_or_dead(self): out=Csv(""" "utid","tid","name","start_ts","end_ts" 0,0,"swapper","[NULL]","[NULL]" - 1,101,"task1","[NULL]",360831239274 + 1,101,"task1","[NULL]","[NULL]" + 2,102,"task2","[NULL]",361831239274 """)) def test_thread_state_only_destroyed_or_dead(self): - # The DESTROYED event should be ignored + # The DEAD event should be ignored return DiffTestBlueprint( trace=TextProto(r""" packet { @@ -822,16 +823,6 @@ def test_thread_state_only_destroyed_or_dead(self): prio: 100 } } - packet { - timestamp: 362831239274 - generic_kernel_task_state_event { - cpu: 0 - comm: "task1" - tid: 101 - state: TASK_STATE_RUNNING - prio: 100 - } - } """), query=""" select @@ -846,7 +837,7 @@ def test_thread_state_only_destroyed_or_dead(self): out=Csv(""" "ts","dur","cpu","utid","state","ucpu" 360831239274,-1,"[NULL]",1,"Z","[NULL]" - 362831239274,-1,0,2,"Running",0 + 361831239274,-1,"[NULL]",2,"X","[NULL]" """)) def test_thread_state_destroyed_after_dead(self): @@ -894,7 +885,57 @@ def test_thread_state_destroyed_after_dead(self): out=Csv(""" "ts","dur","cpu","utid","state","ucpu" 359831239274,1000000000,0,1,"Running",0 - 360831239274,-1,"[NULL]",1,"Z","[NULL]" + 360831239274,1000000000,"[NULL]",1,"Z","[NULL]" + 361831239274,-1,"[NULL]",1,"X","[NULL]" + """)) + + def test_thread_state_running_after_destroyed(self): + return DiffTestBlueprint( + trace=TextProto(r""" + packet { + timestamp: 360831239274 + generic_kernel_task_state_event { + comm: "task1" + tid: 1 + state: TASK_STATE_DEAD + prio: 100 + } + } + packet { + timestamp: 361831239274 + generic_kernel_task_state_event { + comm: "task1" + tid: 1 + state: TASK_STATE_DESTROYED + prio: 100 + } + } + packet { + timestamp: 362831239274 + generic_kernel_task_state_event { + cpu: 0 + comm: "task1" + tid: 1 + state: TASK_STATE_RUNNING + prio: 100 + } + } + """), + query=""" + select + ts, + dur, + cpu, + utid, + state, + ucpu + from thread_state + """, + out=Csv(""" + "ts","dur","cpu","utid","state","ucpu" + 360831239274,1000000000,"[NULL]",1,"Z","[NULL]" + 361831239274,-1,"[NULL]",1,"X","[NULL]" + 362831239274,-1,0,2,"Running",0 """)) def test_error_stats_created_after_running(self): @@ -937,34 +978,25 @@ def test_error_stats_created_after_running(self): """"Invalid order of generic task state events. Should never happen." """)) - def test_error_stats_dead_after_destroyed(self): + def test_error_stats_running_after_dead(self): return DiffTestBlueprint( trace=TextProto(r""" - packet { - timestamp: 359831239274 - generic_kernel_task_state_event { - cpu: 0 - comm: "task1" - tid: 1 - state: TASK_STATE_RUNNING - prio: 100 - } - } packet { timestamp: 360831239274 generic_kernel_task_state_event { comm: "task1" - tid: 1 - state: TASK_STATE_DESTROYED + tid: 101 + state: TASK_STATE_DEAD prio: 100 } } packet { - timestamp: 361831239274 + timestamp: 362831239274 generic_kernel_task_state_event { + cpu: 0 comm: "task1" - tid: 1 - state: TASK_STATE_DEAD + tid: 101 + state: TASK_STATE_RUNNING prio: 100 } } @@ -986,6 +1018,57 @@ def test_error_stats_dead_after_destroyed(self): """"Invalid order of generic task state events. Should never happen." """)) + def test_thread_state_gap_between_state_change(self): + return DiffTestBlueprint( + trace=TextProto(r""" + packet { + timestamp: 10013359544907 + generic_kernel_task_state_event { + state: TASK_STATE_RUNNING + tid: 10872082644598785 + cpu: 0 + prio: 10 + comm: "task1" + } + } + packet { + timestamp: 10013359549351 + generic_kernel_task_state_event { + state: TASK_STATE_RUNNING + tid: 4294967297 + cpu: 0 + prio: 0 + comm: "idle" + } + } + packet { + timestamp: 10013359582074 + generic_kernel_task_state_event { + state: TASK_STATE_INTERRUPTIBLE_SLEEP + tid: 10872082644598785 + cpu: 0 + prio: 10 + } + } + """), + query=""" + select + ts, + dur, + cpu, + utid, + state, + ucpu + from thread_state + """, + out=Csv(""" + "ts","dur","cpu","utid","state","ucpu" + 10013359544907,4444,0,1,"Running",0 + 10013359549351,32723,"[NULL]",1,"[NULL]","[NULL]" + 10013359549351,-1,0,2,"Running",0 + 10013359582074,-1,"[NULL]",1,"S","[NULL]" + """)) + def test_cpu_frequency_event(self): return DiffTestBlueprint( trace=TextProto(r""" diff --git a/ui/src/plugins/dev.perfetto.Sched/common.ts b/ui/src/plugins/dev.perfetto.Sched/common.ts index fb33cdbc2de..9251bab6855 100644 --- a/ui/src/plugins/dev.perfetto.Sched/common.ts +++ b/ui/src/plugins/dev.perfetto.Sched/common.ts @@ -30,6 +30,7 @@ const WHITE = makeColorScheme(WHITE_COLOR); const LIGHT_GRAY = makeColorScheme(new HSLColor([0, 0, 70])); const ORANGE = makeColorScheme(new HSLColor([36, 100, 50])); const INDIGO = makeColorScheme(new HSLColor([231, 48, 48])); +const OFF_WHITE_YELLOW = makeColorScheme(new HSLColor([44, 63, 91])); export function colorForThreadState(state: string): ColorScheme { if (state === 'Created') { @@ -47,6 +48,8 @@ export function colorForThreadState(state: string): ColorScheme { return GRAY; } else if (state.includes('Sleeping') || state.includes('Idle')) { return WHITE; + } else if (state.includes('Unknown')) { + return OFF_WHITE_YELLOW; } return INDIGO; } diff --git a/ui/src/plugins/dev.perfetto.Sched/thread_state_details_panel.ts b/ui/src/plugins/dev.perfetto.Sched/thread_state_details_panel.ts index f40905e65b4..a56abc6c6f4 100644 --- a/ui/src/plugins/dev.perfetto.Sched/thread_state_details_panel.ts +++ b/ui/src/plugins/dev.perfetto.Sched/thread_state_details_panel.ts @@ -212,7 +212,7 @@ export class ThreadStateDetailsPanel implements TrackEventDetailsPanel { id: SchedSqlId | undefined, ): m.Children { if (!state) { - return null; + return '[Unknown]'; } if (id === undefined || cpu === undefined) { return state; diff --git a/ui/src/plugins/dev.perfetto.Sched/thread_state_selection_aggregator.ts b/ui/src/plugins/dev.perfetto.Sched/thread_state_selection_aggregator.ts index abab5e5680d..97fb449703d 100644 --- a/ui/src/plugins/dev.perfetto.Sched/thread_state_selection_aggregator.ts +++ b/ui/src/plugins/dev.perfetto.Sched/thread_state_selection_aggregator.ts @@ -91,7 +91,7 @@ export class ThreadStateSelectionAggregator implements Aggregator { const states: BarChartData[] = []; for (let i = 0; it.valid(); ++i, it.next()) { - const name = it.state ?? 'Unknown'; + const name = it.state || 'Unknown'; states.push({ title: `${name}: ${Duration.humanise(it.totalDur)}`, value: Number(it.totalDur), diff --git a/ui/src/plugins/dev.perfetto.Sched/thread_state_track.ts b/ui/src/plugins/dev.perfetto.Sched/thread_state_track.ts index f1fe2c13cee..03487ba526d 100644 --- a/ui/src/plugins/dev.perfetto.Sched/thread_state_track.ts +++ b/ui/src/plugins/dev.perfetto.Sched/thread_state_track.ts @@ -76,9 +76,9 @@ export function createThreadStateTrack( sliceHeight: 12, titleSizePx: 10, }, - sliceName: (row) => row.state, + sliceName: (row) => row.state || '[Unknown]', colorizer: (row): ColorScheme => { - const colorForState = colorForThreadState(row.state); + const colorForState = colorForThreadState(row.state || '[Unknown]'); if (row.state.includes('Sleeping') || row.state.includes('Idle')) { // For sleeping/idle slices, return a transparent color scheme with // transparent text + a subtle gray variant displayed when hovering the From be3399db7a8e7201b079058042258ba5cbb2c7c5 Mon Sep 17 00:00:00 2001 From: Mayzner <108405710+aMayzner@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:02:47 +0100 Subject: [PATCH 096/370] exp: Cleanup prevNodes (#3308) Previously all of the nodes had a property of `prevNodes: QueryNode[]`, which was confusing, as most nodes are heavily typed as to what is the number of nodes they can have as parents. This commit makes it explicit by creating 3 query nodes types, Source node (no parent nodes), ModificationNode (one parent) and MultiSourceNode (valid only on 2+ parents) --- .../dev.perfetto.ExplorePage/explore_page.ts | 9 +- .../dev.perfetto.ExplorePage/json_handler.ts | 108 ++++++++--- .../json_handler_unittest.ts | 170 +++++------------- .../query_builder/core_nodes.ts | 1 - .../query_builder/dev_nodes.ts | 22 ++- .../query_builder/graph/graph.ts | 17 +- .../query_builder/graph/node_box.ts | 9 +- .../query_builder/nodes/aggregation_node.ts | 33 ++-- .../nodes/dev/add_columns_node.ts | 25 ++- .../nodes/dev/limit_and_offset_node.ts | 26 ++- .../query_builder/nodes/dev/sort_node.ts | 24 ++- .../nodes/interval_intersect_node.ts | 115 +++++------- .../nodes/modify_columns_node.ts | 32 ++-- .../query_builder/nodes/sources/sql_source.ts | 9 +- .../query_builder/source_node.ts | 10 +- .../dev.perfetto.ExplorePage/query_node.ts | 49 ++++- .../sql_json_handler.ts | 3 + 17 files changed, 347 insertions(+), 315 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts index 4bb4b57ce24..07330e6479a 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/explore_page.ts @@ -92,7 +92,7 @@ export class ExplorePage implements m.ClassComponent { const nodeState: QueryNodeState = { ...initialState, - prevNodes: [node], + prevNode: node, }; const newNode = descriptor.factory(nodeState, { @@ -161,7 +161,12 @@ export class ExplorePage implements m.ClassComponent { // If the node is a child of another node, remove it from the parent's // nextNodes array. - if (node.prevNodes) { + if ('prevNode' in node) { + const childIdx = node.prevNode.nextNodes.indexOf(node); + if (childIdx !== -1) { + node.prevNode.nextNodes.splice(childIdx, 1); + } + } else if ('prevNodes' in node) { for (const prevNode of node.prevNodes) { const childIdx = prevNode.nextNodes.indexOf(node); if (childIdx !== -1) { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts index df0a9e65cee..db6b9cd0244 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler.ts @@ -42,6 +42,15 @@ import { import {NodeBoxLayout} from './query_builder/graph/node_box'; import {Trace} from '../../public/trace'; import {SqlModules} from '../../plugins/dev.perfetto.SqlModules/sql_modules'; +import { + AddColumnsNode, + AddColumnsNodeState, +} from './query_builder/nodes/dev/add_columns_node'; +import { + LimitAndOffsetNode, + LimitAndOffsetNodeState, +} from './query_builder/nodes/dev/limit_and_offset_node'; +import {SortNode, SortNodeState} from './query_builder/nodes/dev/sort_node'; type SerializedNodeState = | TableSourceSerializedState @@ -49,7 +58,10 @@ type SerializedNodeState = | SqlSourceSerializedState | AggregationSerializedState | ModifyColumnsSerializedState - | IntervalIntersectSerializedState; + | IntervalIntersectSerializedState + | AddColumnsNodeState + | LimitAndOffsetNodeState + | SortNodeState; // Interfaces for the serialized JSON structure export interface SerializedNode { @@ -57,7 +69,8 @@ export interface SerializedNode { type: NodeType; state: SerializedNodeState; // This will hold the serializable state of the node nextNodes: string[]; - prevNodes: string[]; + prevNode?: string; + prevNodes?: string[]; } export interface SerializedGraph { @@ -74,15 +87,20 @@ function serializeNode(node: QueryNode): SerializedNode { const state = node.serializeState() as SerializedNodeState; - return { + const serialized: SerializedNode = { nodeId: node.nodeId, type: node.type, state: state, nextNodes: node.nextNodes.map((n: QueryNode) => n.nodeId), - prevNodes: node.prevNodes - ? node.prevNodes.map((n: QueryNode) => n.nodeId) - : [], }; + + if ('prevNode' in node) { + serialized.prevNode = node.prevNode.nodeId; + } else if ('prevNodes' in node) { + serialized.prevNodes = node.prevNodes.map((n: QueryNode) => n.nodeId); + } + + return serialized; } export function serializeState(state: ExplorePageState): string { @@ -106,7 +124,7 @@ export function serializeState(state: ExplorePageState): string { }; const replacer = (key: string, value: unknown) => { - if (key === 'prevNodes' || key === '_trace') { + if (key === 'prevNodes' || key === 'prevNode' || key === '_trace') { return undefined; } return typeof value === 'bigint' ? value.toString() : value; @@ -160,14 +178,24 @@ function createNodeInstance( AggregationNode.deserializeState(state as AggregationSerializedState), ); case NodeType.kModifyColumns: - return new ModifyColumnsNode({ - ...(state as ModifyColumnsSerializedState), - prevNodes: [], - }); + return new ModifyColumnsNode( + ModifyColumnsNode.deserializeState( + state as ModifyColumnsSerializedState, + ), + ); + case NodeType.kAddColumns: + return new AddColumnsNode( + AddColumnsNode.deserializeState(state as AddColumnsNodeState), + ); + case NodeType.kLimitAndOffset: + return new LimitAndOffsetNode( + LimitAndOffsetNode.deserializeState(state as LimitAndOffsetNodeState), + ); + case NodeType.kSort: + return new SortNode(SortNode.deserializeState(state as SortNodeState)); case NodeType.kIntervalIntersect: const nodeState: IntervalIntersectNodeState = { ...(state as IntervalIntersectSerializedState), - intervalNodes: [], prevNodes: [], allNodes: [], }; @@ -226,30 +254,54 @@ export function deserializeState( // Backwards compatibility: if prevNodes is not in the JSON, infer it. if ( - serializedNode.prevNodes !== undefined && - serializedNode.prevNodes.length > 0 + serializedNode.prevNode === undefined && + serializedNode.prevNodes === undefined ) { - node.prevNodes = serializedNode.prevNodes.map((id) => { - const prevNode = nodes.get(id); - if (prevNode == null) { - throw new Error(`Graph is corrupted. Node "${id}" not found.`); - } - return prevNode; - }); - } else { for (const nextNode of node.nextNodes) { - if (nextNode.prevNodes == null) { - nextNode.prevNodes = []; + if ('prevNode' in nextNode) { + (nextNode as {prevNode: QueryNode}).prevNode = node; + } else if ('prevNodes' in nextNode) { + nextNode.prevNodes.push(node); + } + } + } + + if (serializedNode.prevNode) { + if ('prevNode' in node) { + const prevNode = nodes.get(serializedNode.prevNode); + if (prevNode) { + (node as {prevNode: QueryNode}).prevNode = prevNode; + } + } + } + + if (serializedNode.prevNodes) { + if ('prevNodes' in node) { + for (const id of serializedNode.prevNodes) { + const prevNode = nodes.get(id); + if (prevNode) { + node.prevNodes.push(prevNode); + } + } + } else if ('prevNode' in node && serializedNode.prevNodes.length > 0) { + // Backwards compatibility + const prevNode = nodes.get(serializedNode.prevNodes[0]); + if (prevNode) { + (node as {prevNode: QueryNode}).prevNode = prevNode; } - nextNode.prevNodes.push(node); } } if (serializedNode.type === NodeType.kIntervalIntersect) { - (node as IntervalIntersectNode).state.intervalNodes = - IntervalIntersectNode.deserializeState( + const intervalNode = node as IntervalIntersectNode; + if (intervalNode.prevNodes.length > 0) { + const deserializedState = IntervalIntersectNode.deserializeState( nodes, serializedNode.state as IntervalIntersectSerializedState, - ).intervalNodes; + intervalNode.prevNodes[0], + ); + intervalNode.prevNodes.length = 0; + intervalNode.prevNodes.push(...deserializedState.prevNodes); + } } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts index 37ef2836867..bfede262a6e 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/json_handler_unittest.ts @@ -99,7 +99,6 @@ describe('JSON serialization/deserialization', () => { expect((deserializedNode as SlicesSourceNode).state.slice_name).toBe( 'test_slice', ); - expect(deserializedNode.prevNodes).toEqual([]); }); test('handles multiple nodes and connections', () => { @@ -108,17 +107,18 @@ describe('JSON serialization/deserialization', () => { trace, sqlModules, }); - const sliceNode = new SlicesSourceNode({ - slice_name: 'test_slice', + const modifyNode = new ModifyColumnsNode({ + prevNode: tableNode, + newColumns: [], + selectedColumns: [], }); - tableNode.nextNodes.push(sliceNode); - sliceNode.prevNodes.push(tableNode); + tableNode.nextNodes.push(modifyNode); const initialState: ExplorePageState = { rootNodes: [tableNode], nodeLayouts: new Map([ [tableNode.nodeId, {x: 10, y: 20}], - [sliceNode.nodeId, {x: 100, y: 200}], + [modifyNode.nodeId, {x: 100, y: 200}], ]), }; @@ -128,10 +128,8 @@ describe('JSON serialization/deserialization', () => { expect(deserializedState.rootNodes.length).toBe(1); const deserializedTableNode = deserializedState.rootNodes[0]; expect(deserializedTableNode.nextNodes.length).toBe(1); - const deserializedSliceNode = deserializedTableNode.nextNodes[0]; - expect(deserializedSliceNode.prevNodes).toBeDefined(); - expect(deserializedSliceNode.prevNodes!.length).toBe(1); - expect(deserializedSliceNode.prevNodes![0].nodeId).toBe( + const deserializedModifyNode = deserializedTableNode.nextNodes[0]; + expect((deserializedModifyNode as ModifyColumnsNode).prevNode?.nodeId).toBe( deserializedTableNode.nodeId, ); expect( @@ -148,7 +146,7 @@ describe('JSON serialization/deserialization', () => { const sliceTable = sqlModules.getTable('slice')!; const aggregationNode = new AggregationNode({ - prevNodes: [tableNode], + prevNode: tableNode, groupByColumns: [ { name: 'name', @@ -185,9 +183,7 @@ describe('JSON serialization/deserialization', () => { expect(deserializedTableNode.nextNodes.length).toBe(1); const deserializedAggregationNode = deserializedTableNode .nextNodes[0] as AggregationNode; - expect(deserializedAggregationNode.prevNodes).toBeDefined(); - expect(deserializedAggregationNode.prevNodes!.length).toBe(1); - expect(deserializedAggregationNode.prevNodes![0].nodeId).toBe( + expect(deserializedAggregationNode.prevNode?.nodeId).toBe( deserializedTableNode.nodeId, ); expect(deserializedAggregationNode.state.groupByColumns[0].name).toBe( @@ -234,13 +230,11 @@ describe('JSON serialization/deserialization', () => { }); const intervalIntersectNode = new IntervalIntersectNode({ - prevNodes: [tableNode1], - intervalNodes: [tableNode1, tableNode2], + prevNodes: [tableNode1, tableNode2], allNodes: [tableNode1, tableNode2], }); tableNode1.nextNodes.push(intervalIntersectNode); - intervalIntersectNode.prevNodes.length = 0; - intervalIntersectNode.prevNodes.push(tableNode1); + tableNode2.nextNodes.push(intervalIntersectNode); const initialState: ExplorePageState = { rootNodes: [tableNode1, tableNode2], @@ -252,23 +246,18 @@ describe('JSON serialization/deserialization', () => { expect(deserializedState.rootNodes.length).toBe(2); const deserializedTableNode1 = deserializedState.rootNodes[0]; + const deserializedTableNode2 = deserializedState.rootNodes[1]; expect(deserializedTableNode1.nextNodes.length).toBe(1); const deserializedIntervalIntersectNode = deserializedTableNode1 .nextNodes[0] as IntervalIntersectNode; expect(deserializedIntervalIntersectNode.prevNodes).toBeDefined(); - expect(deserializedIntervalIntersectNode.prevNodes!.length).toBe(1); - expect(deserializedIntervalIntersectNode.prevNodes![0].nodeId).toBe( + expect(deserializedIntervalIntersectNode.prevNodes?.length).toBe(2); + expect(deserializedIntervalIntersectNode.prevNodes?.[0].nodeId).toBe( deserializedTableNode1.nodeId, ); - expect(deserializedIntervalIntersectNode.state.intervalNodes.length).toBe( - 2, + expect(deserializedIntervalIntersectNode.prevNodes?.[1].nodeId).toBe( + deserializedTableNode2.nodeId, ); - expect( - deserializedIntervalIntersectNode.state.intervalNodes[0].nodeId, - ).toBe(tableNode1.nodeId); - expect( - deserializedIntervalIntersectNode.state.intervalNodes[1].nodeId, - ).toBe(tableNode2.nodeId); }); test('serializes and deserializes sql source node with reference', () => { @@ -278,12 +267,12 @@ describe('JSON serialization/deserialization', () => { sqlModules, }); - const sqlNode = new SqlSourceNode({ - sql: `SELECT * FROM \${tableNode.nodeId}`, - trace, + const modifyNode = new ModifyColumnsNode({ + prevNode: tableNode, + newColumns: [], + selectedColumns: [], }); - tableNode.nextNodes.push(sqlNode); - sqlNode.prevNodes.push(tableNode); + tableNode.nextNodes.push(modifyNode); const initialState: ExplorePageState = { rootNodes: [tableNode], @@ -296,16 +285,11 @@ describe('JSON serialization/deserialization', () => { expect(deserializedState.rootNodes.length).toBe(1); const deserializedTableNode = deserializedState.rootNodes[0]; expect(deserializedTableNode.nextNodes.length).toBe(1); - const deserializedSqlNode = deserializedTableNode - .nextNodes[0] as SqlSourceNode; - expect(deserializedSqlNode.prevNodes).toBeDefined(); - expect(deserializedSqlNode.prevNodes!.length).toBe(1); - expect(deserializedSqlNode.prevNodes![0].nodeId).toBe( + const deserializedModifyNode = deserializedTableNode + .nextNodes[0] as ModifyColumnsNode; + expect(deserializedModifyNode.prevNode?.nodeId).toBe( deserializedTableNode.nodeId, ); - expect(deserializedSqlNode.state.sql).toBe( - `SELECT * FROM \${tableNode.nodeId}`, - ); }); test('serializes and deserializes node with filters', () => { @@ -333,7 +317,6 @@ describe('JSON serialization/deserialization', () => { expect(deserializedState.rootNodes.length).toBe(1); const deserializedTableNode = deserializedState .rootNodes[0] as TableSourceNode; - expect(deserializedTableNode.prevNodes).toEqual([]); expect(deserializedTableNode.state.filters?.length).toBe(1); const filter = deserializedTableNode.state.filters?.[0]; expect(filter?.column).toBe('name'); @@ -371,9 +354,6 @@ describe('JSON serialization/deserialization', () => { const deserializedTableNode = deserializedState.rootNodes[0]; const deserializedSliceNode = deserializedState.rootNodes[1]; - expect(deserializedTableNode.prevNodes).toEqual([]); - expect(deserializedSliceNode.prevNodes).toEqual([]); - expect( deserializedState.nodeLayouts.get(deserializedTableNode.nodeId), ).toEqual({x: 10, y: 20}); @@ -407,7 +387,6 @@ describe('JSON serialization/deserialization', () => { expect(deserializedState.rootNodes.length).toBe(1); const deserializedTableNode = deserializedState .rootNodes[0] as TableSourceNode; - expect(deserializedTableNode.prevNodes).toEqual([]); expect(deserializedTableNode.state.filters?.length).toBe(1); const filter = deserializedTableNode.state.filters?.[0]; expect(filter?.column).toBe('id'); @@ -437,102 +416,37 @@ describe('JSON serialization/deserialization', () => { expect(() => deserializeState(invalidJson, trace, sqlModules)).toThrow(); }); - test('handles cyclical graphs', () => { - const nodeA = new TableSourceNode({ - sqlTable: sqlModules.getTable('slice'), - trace, - sqlModules, - }); - - const nodeB = new TableSourceNode({ - sqlTable: sqlModules.getTable('slice'), - trace, - sqlModules, - }); - - nodeA.nextNodes.push(nodeB); - nodeB.nextNodes.push(nodeA); // Cycle - nodeA.prevNodes.push(nodeB); - nodeB.prevNodes.push(nodeA); - - const initialState: ExplorePageState = { - rootNodes: [nodeA], - nodeLayouts: new Map(), - }; - - const json = serializeState(initialState); - const deserializedState = deserializeState(json, trace, sqlModules); - - expect(deserializedState.rootNodes.length).toBe(1); - const deserializedNodeA = deserializedState.rootNodes[0]; - expect(deserializedNodeA.nextNodes.length).toBe(1); - const deserializedNodeB = deserializedNodeA.nextNodes[0]; - expect(deserializedNodeB.nextNodes.length).toBe(1); - expect(deserializedNodeB.nextNodes[0].nodeId).toBe( - deserializedNodeA.nodeId, - ); - expect(deserializedNodeA.prevNodes).toBeDefined(); - expect(deserializedNodeA.prevNodes!.length).toBe(1); - expect(deserializedNodeA.prevNodes![0].nodeId).toBe( - deserializedNodeB.nodeId, - ); - expect(deserializedNodeB.prevNodes).toBeDefined(); - expect(deserializedNodeB.prevNodes!.length).toBe(1); - expect(deserializedNodeB.prevNodes![0].nodeId).toBe( - deserializedNodeA.nodeId, - ); - }); - test('deserializes graph with and without prevNodes', () => { const tableNode = new TableSourceNode({ sqlTable: sqlModules.getTable('slice'), trace, sqlModules, }); - const sliceNode = new SlicesSourceNode({ - slice_name: 'test_slice', + const modifyNode = new ModifyColumnsNode({ + prevNode: tableNode, + newColumns: [], + selectedColumns: [], }); - tableNode.nextNodes.push(sliceNode); - sliceNode.prevNodes.push(tableNode); + tableNode.nextNodes.push(modifyNode); const initialState: ExplorePageState = { rootNodes: [tableNode], nodeLayouts: new Map(), }; - // Test with prevNodes - const jsonWithPrevNodes = serializeState(initialState); - const deserializedStateWithPrevNodes = deserializeState( - jsonWithPrevNodes, + // Test with prevNode + const jsonWithPrevNode = serializeState(initialState); + const deserializedStateWithPrevNode = deserializeState( + jsonWithPrevNode, trace, sqlModules, ); - const deserializedTableNode1 = deserializedStateWithPrevNodes.rootNodes[0]; - const deserializedSliceNode1 = deserializedTableNode1.nextNodes[0]; - expect(deserializedSliceNode1.prevNodes).toBeDefined(); - expect(deserializedSliceNode1.prevNodes!.length).toBe(1); - expect(deserializedSliceNode1.prevNodes![0].nodeId).toBe( + const deserializedTableNode1 = deserializedStateWithPrevNode.rootNodes[0]; + const deserializedModifyNode1 = deserializedTableNode1 + .nextNodes[0] as ModifyColumnsNode; + expect(deserializedModifyNode1.prevNode?.nodeId).toBe( deserializedTableNode1.nodeId, ); - - // Test without prevNodes (for backward compatibility) - const jsonWithoutPrevNodes = JSON.parse(jsonWithPrevNodes); - for (const node of jsonWithoutPrevNodes.nodes) { - delete node.prevNodes; - } - const deserializedStateWithoutPrevNodes = deserializeState( - JSON.stringify(jsonWithoutPrevNodes), - trace, - sqlModules, - ); - const deserializedTableNode2 = - deserializedStateWithoutPrevNodes.rootNodes[0]; - const deserializedSliceNode2 = deserializedTableNode2.nextNodes[0]; - expect(deserializedSliceNode2.prevNodes).toBeDefined(); - expect(deserializedSliceNode2.prevNodes!.length).toBe(1); - expect(deserializedSliceNode2.prevNodes![0].nodeId).toBe( - deserializedTableNode2.nodeId, - ); }); test('serializes and deserializes custom title', () => { @@ -562,7 +476,7 @@ describe('JSON serialization/deserialization', () => { }); const modifyColumnsNode = new ModifyColumnsNode({ - prevNodes: [tableNode], + prevNode: tableNode, newColumns: [{expression: '1', name: 'new_col'}], selectedColumns: [], filters: [ @@ -606,7 +520,7 @@ describe('JSON serialization/deserialization', () => { }); const addColumnsNode = new AddColumnsNode({ - prevNodes: [tableNode], + prevNode: tableNode, sqlTable: sqlModules.getTable('slice')!, selectedColumns: ['name'], }); @@ -637,7 +551,7 @@ describe('JSON serialization/deserialization', () => { }); const limitAndOffsetNode = new LimitAndOffsetNode({ - prevNodes: [tableNode], + prevNode: tableNode, limit: 100, offset: 20, }); @@ -668,7 +582,7 @@ describe('JSON serialization/deserialization', () => { }); const sortNode = new SortNode({ - prevNodes: [tableNode], + prevNode: tableNode, sortColNames: ['name', 'ts'], }); tableNode.nextNodes.push(sortNode); diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts index 827982be84e..5ec44697380 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/core_nodes.ts @@ -101,7 +101,6 @@ export function registerCoreNodes() { ...state, prevNodes: state.prevNodes ?? [], allNodes: context.allNodes, - intervalNodes: [], }; return new IntervalIntersectNode(fullState); }, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts index c76fe2d5ebe..b154f74aee7 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/dev_nodes.ts @@ -13,11 +13,17 @@ // limitations under the License. import {nodeRegistry} from './node_registry'; -import {AddColumnsNode} from './nodes/dev/add_columns_node'; +import { + AddColumnsNode, + AddColumnsNodeState, +} from './nodes/dev/add_columns_node'; import {modalForTableSelection} from './nodes/sources/table_source'; import {TestNode} from './nodes/dev/test_node'; -import {LimitAndOffsetNode} from './nodes/dev/limit_and_offset_node'; -import {SortNode} from './nodes/dev/sort_node'; +import { + LimitAndOffsetNode, + LimitAndOffsetNodeState, +} from './nodes/dev/limit_and_offset_node'; +import {SortNode, SortNodeState} from './nodes/dev/sort_node'; export function registerDevNodes() { nodeRegistry.register('test_source', { @@ -28,12 +34,13 @@ export function registerDevNodes() { factory: (state) => new TestNode(state), devOnly: true, }); + nodeRegistry.register('add_columns_node', { name: 'Add Columns', description: 'Adds new columns.', icon: 'add_box', type: 'derived', - factory: (state) => new AddColumnsNode(state), + factory: (state) => new AddColumnsNode(state as AddColumnsNodeState), preCreate: async ({sqlModules}) => { const table = await modalForTableSelection(sqlModules); if (table === undefined) { @@ -45,20 +52,23 @@ export function registerDevNodes() { }, devOnly: true, }); + nodeRegistry.register('limit_and_offset_node', { name: 'Limit and Offset', description: 'Limits number of rows and offsets them.', icon: 'filter_list', type: 'derived', - factory: (state) => new LimitAndOffsetNode(state), + factory: (state) => + new LimitAndOffsetNode(state as LimitAndOffsetNodeState), devOnly: true, }); + nodeRegistry.register('sort_node', { name: 'Sort', description: 'Sorts by a column.', icon: 'sort', type: 'derived', - factory: (state) => new SortNode(state), + factory: (state) => new SortNode(state as SortNodeState), devOnly: true, }); } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts index ccbd562586d..accacf773bd 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/graph.ts @@ -628,19 +628,26 @@ function findNextAvailablePosition( const allLayouts = [...layouts, buttonsReservedArea]; + let predecessor: QueryNode | undefined; + if ('prevNode' in node) { + predecessor = node.prevNode; + } else if ('prevNodes' in node && node.prevNodes.length > 0) { + predecessor = node.prevNodes[0]; + } + // If the node is a nextNode (e.g., an aggregation or sub-query), it should // be added below the previous node. - if (node.prevNodes && node.prevNodes.length > 0) { - const prevLayout = nodeLayouts.get(node.prevNodes[0]); + if (predecessor) { + const prevLayout = nodeLayouts.get(predecessor); if (prevLayout) { let x = prevLayout.x; let y = prevLayout.y + (prevLayout.height ?? h) + PADDING * 2; // Try to place the new node below the previous node, shifted by the // number of siblings. - if (node.prevNodes[0].nextNodes.length > 1) { + if (predecessor.nextNodes.length > 1) { x += - (node.prevNodes[0].nextNodes.indexOf(node) - - (node.prevNodes[0].nextNodes.length - 1) / 2) * + (predecessor.nextNodes.indexOf(node) - + (predecessor.nextNodes.length - 1) / 2) * (w + PADDING); } while (true) { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts index 8b5bb01f53d..80159836ddd 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/graph/node_box.ts @@ -191,8 +191,13 @@ export const NodeBox: m.Component = { class: conditionalClasses, onclick: () => onNodeSelected(node), }, - node.prevNodes?.map((_, i) => { - const portCount = node.prevNodes ? node.prevNodes.length : 0; + ('prevNode' in node + ? [node.prevNode] + : 'prevNodes' in node + ? node.prevNodes + : [] + ).map((_, i, arr) => { + const portCount = arr.length; const left = `calc(${((i + 1) * 100) / (portCount + 1)}% - 5px)`; return m('.pf-node-box-port.pf-node-box-port-top', { style: {left}, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts index 8362dc186a3..7999a135866 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/aggregation_node.ts @@ -20,6 +20,7 @@ import { NodeType, createSelectColumnsProto, notifyNextNodes, + ModificationNode, } from '../../query_node'; import protos from '../../../../protos'; import { @@ -50,7 +51,7 @@ export interface AggregationSerializedState { } export interface AggregationNodeState extends QueryNodeState { - prevNodes?: QueryNode[]; + prevNode: QueryNode; groupByColumns: ColumnInfo[]; aggregations: Aggregation[]; } @@ -63,10 +64,10 @@ export interface Aggregation { isEditing?: boolean; } -export class AggregationNode implements QueryNode { +export class AggregationNode implements ModificationNode { readonly nodeId: string; readonly type = NodeType.kAggregation; - readonly prevNodes?: QueryNode[]; + readonly prevNode: QueryNode; nextNodes: QueryNode[]; readonly state: AggregationNodeState; meterialisedAs?: string; @@ -88,11 +89,11 @@ export class AggregationNode implements QueryNode { groupByColumns: state.groupByColumns ?? [], aggregations: state.aggregations ?? [], }; - this.prevNodes = state.prevNodes; + this.prevNode = state.prevNode; this.nextNodes = []; if (this.state.groupByColumns.length === 0) { this.state.groupByColumns = newColumnInfoList( - this.prevNodes?.[0]?.finalCols ?? [], + this.prevNode.finalCols ?? [], false, ); } @@ -109,7 +110,7 @@ export class AggregationNode implements QueryNode { updateGroupByColumns() { const newGroupByColumns = newColumnInfoList( - this.prevNodes?.[0]?.finalCols ?? [], + this.prevNode.finalCols ?? [], false, ); for (const oldCol of this.state.groupByColumns) { @@ -131,20 +132,13 @@ export class AggregationNode implements QueryNode { if (this.state.issues) { this.state.issues.queryError = undefined; } - if (!this.prevNodes || this.prevNodes.length === 0) { - if (!this.state.issues) this.state.issues = new NodeIssues(); - this.state.issues.queryError = new Error( - 'Aggregation node has no previous node', - ); - return false; - } - if (!this.prevNodes[0].validate()) { + if (!this.prevNode.validate()) { if (!this.state.issues) this.state.issues = new NodeIssues(); this.state.issues.queryError = new Error('Previous node is invalid'); return false; } const sourceColNames = new Set( - (this.prevNodes?.[0]?.finalCols ?? []).map((c) => c.name), + (this.prevNode.finalCols ?? []).map((c) => c.name), ); const missingCols: string[] = []; for (const col of this.state.groupByColumns) { @@ -222,7 +216,7 @@ export class AggregationNode implements QueryNode { clone(): QueryNode { const stateCopy: AggregationNodeState = { - prevNodes: this.state.prevNodes, + prevNode: this.state.prevNode, groupByColumns: newColumnInfoList(this.state.groupByColumns), aggregations: this.state.aggregations.map((a) => ({...a})), filters: this.state.filters ? [...this.state.filters] : undefined, @@ -239,9 +233,7 @@ export class AggregationNode implements QueryNode { getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { if (!this.validate()) return; - - if (!this.prevNodes || this.prevNodes.length === 0) return; - const prevSq = this.prevNodes[0].getStructuredQuery(); + const prevSq = this.prevNode.getStructuredQuery(); if (!prevSq) return undefined; const groupByProto = createGroupByProto( @@ -281,7 +273,7 @@ export class AggregationNode implements QueryNode { } resolveColumns() { - const sourceCols = this.prevNodes?.[0]?.finalCols ?? []; + const sourceCols = this.prevNode.finalCols ?? []; this.state.groupByColumns.forEach((c) => { const sourceCol = sourceCols.find((s) => s.name === c.name); if (sourceCol) { @@ -336,6 +328,7 @@ export class AggregationNode implements QueryNode { }); return { ...state, + prevNode: undefined as unknown as QueryNode, groupByColumns, aggregations, }; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts index 6430d31d80e..5cc622c5528 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/add_columns_node.ts @@ -17,6 +17,7 @@ import { QueryNodeState, nextNodeId, NodeType, + ModificationNode, } from '../../../query_node'; import {ColumnInfo, columnInfoFromName} from '../../column_info'; import protos from '../../../../../protos'; @@ -27,27 +28,28 @@ import {FilterDefinition} from '../../../../../components/widgets/data_grid/comm import {MultiselectInput} from '../../../../../widgets/multiselect_input'; export interface AddColumnsNodeState extends QueryNodeState { + prevNode: QueryNode; selectedColumns?: string[]; } -export class AddColumnsNode implements QueryNode { +export class AddColumnsNode implements ModificationNode { readonly nodeId: string; - readonly type = NodeType.kModifyColumns; - readonly prevNodes?: QueryNode[]; + readonly type = NodeType.kAddColumns; + readonly prevNode: QueryNode; nextNodes: QueryNode[]; readonly state: AddColumnsNodeState; constructor(state: AddColumnsNodeState) { this.nodeId = nextNodeId(); this.state = state; - this.prevNodes = state.prevNodes; + this.prevNode = state.prevNode; this.nextNodes = []; this.state.filters = this.state.filters ?? []; this.state.selectedColumns = this.state.selectedColumns ?? []; } get sourceCols(): ColumnInfo[] { - return this.prevNodes?.[0]?.finalCols ?? []; + return this.prevNode.finalCols ?? []; } get finalCols(): ColumnInfo[] { @@ -127,7 +129,7 @@ export class AddColumnsNode implements QueryNode { } validate(): boolean { - return this.prevNodes !== undefined && this.prevNodes.length > 0; + return this.prevNode !== undefined; } clone(): QueryNode { @@ -135,7 +137,7 @@ export class AddColumnsNode implements QueryNode { } getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { - return this.prevNodes?.[0]?.getStructuredQuery(); + return this.prevNode.getStructuredQuery(); } serializeState(): object { @@ -145,4 +147,13 @@ export class AddColumnsNode implements QueryNode { isMaterialised(): boolean { return false; } + + static deserializeState( + serializedState: AddColumnsNodeState, + ): AddColumnsNodeState { + return { + ...serializedState, + prevNode: undefined as unknown as QueryNode, + }; + } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts index 63e6103f359..166c15864eb 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/limit_and_offset_node.ts @@ -18,6 +18,7 @@ import { QueryNodeState, nextNodeId, NodeType, + ModificationNode, } from '../../../query_node'; import {ColumnInfo} from '../../column_info'; import protos from '../../../../../protos'; @@ -25,28 +26,28 @@ import {Card} from '../../../../../widgets/card'; import {TextInput} from '../../../../../widgets/text_input'; export interface LimitAndOffsetNodeState extends QueryNodeState { + prevNode: QueryNode; limit?: number; offset?: number; } - -export class LimitAndOffsetNode implements QueryNode { +export class LimitAndOffsetNode implements ModificationNode { readonly nodeId: string; - readonly type = NodeType.kModifyColumns; - readonly prevNodes?: QueryNode[]; + readonly type = NodeType.kLimitAndOffset; + readonly prevNode: QueryNode; nextNodes: QueryNode[]; readonly state: LimitAndOffsetNodeState; constructor(state: LimitAndOffsetNodeState) { this.nodeId = nextNodeId(); this.state = state; - this.prevNodes = state.prevNodes; + this.prevNode = state.prevNode; this.nextNodes = []; this.state.limit = this.state.limit ?? 10; this.state.offset = this.state.offset ?? 0; } get sourceCols(): ColumnInfo[] { - return this.prevNodes?.[0]?.finalCols ?? []; + return this.prevNode.finalCols ?? []; } get finalCols(): ColumnInfo[] { @@ -99,7 +100,7 @@ export class LimitAndOffsetNode implements QueryNode { } validate(): boolean { - return this.prevNodes !== undefined && this.prevNodes.length > 0; + return this.prevNode !== undefined; } clone(): QueryNode { @@ -108,7 +109,7 @@ export class LimitAndOffsetNode implements QueryNode { getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { // TODO(mayzner): Implement this. - return this.prevNodes?.[0]?.getStructuredQuery(); + return this.prevNode.getStructuredQuery(); } serializeState(): object { @@ -118,4 +119,13 @@ export class LimitAndOffsetNode implements QueryNode { isMaterialised(): boolean { return false; } + + static deserializeState( + state: LimitAndOffsetNodeState, + ): LimitAndOffsetNodeState { + return { + ...state, + prevNode: undefined as unknown as QueryNode, + }; + } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts index 935203eac9a..f6e57ef167c 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/dev/sort_node.ts @@ -18,6 +18,7 @@ import { QueryNodeState, nextNodeId, NodeType, + ModificationNode, } from '../../../query_node'; import {ColumnInfo} from '../../column_info'; import protos from '../../../../../protos'; @@ -25,13 +26,14 @@ import {Card} from '../../../../../widgets/card'; import {MultiselectInput} from '../../../../../widgets/multiselect_input'; export interface SortNodeState extends QueryNodeState { + prevNode: QueryNode; sortColNames?: string[]; } -export class SortNode implements QueryNode { +export class SortNode implements ModificationNode { readonly nodeId: string; - readonly type = NodeType.kModifyColumns; - readonly prevNodes?: QueryNode[]; + readonly type = NodeType.kSort; + readonly prevNode: QueryNode; nextNodes: QueryNode[]; readonly state: SortNodeState; sortCols: ColumnInfo[]; @@ -39,7 +41,7 @@ export class SortNode implements QueryNode { constructor(state: SortNodeState) { this.nodeId = nextNodeId(); this.state = state; - this.prevNodes = state.prevNodes; + this.prevNode = state.prevNode; this.nextNodes = []; this.state.sortColNames = this.state.sortColNames ?? []; this.sortCols = this.resolveSortCols(); @@ -56,7 +58,7 @@ export class SortNode implements QueryNode { } get sourceCols(): ColumnInfo[] { - return this.prevNodes?.[0]?.finalCols ?? []; + return this.prevNode?.finalCols ?? []; } get finalCols(): ColumnInfo[] { @@ -136,8 +138,7 @@ export class SortNode implements QueryNode { validate(): boolean { return ( - this.prevNodes !== undefined && - this.prevNodes.length > 0 && + this.prevNode !== undefined && this.sortCols !== undefined && this.sortCols.length > 0 ); @@ -149,7 +150,7 @@ export class SortNode implements QueryNode { getStructuredQuery(): protos.PerfettoSqlStructuredQuery | undefined { // TODO(mayzner): Implement this. - return this.prevNodes?.[0]?.getStructuredQuery(); + return this.prevNode?.getStructuredQuery(); } serializeState(): object { @@ -159,4 +160,11 @@ export class SortNode implements QueryNode { isMaterialised(): boolean { return false; } + + static deserializeState(state: SortNodeState): SortNodeState { + return { + ...state, + prevNode: undefined as unknown as QueryNode, + }; + } } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts index 6cff79d246e..44a314f51c5 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/interval_intersect_node.ts @@ -18,6 +18,7 @@ import { QueryNodeState, nextNodeId, NodeType, + MultiSourceNode, } from '../../query_node'; import protos from '../../../../protos'; import {ColumnInfo, newColumnInfoList} from '../column_info'; @@ -37,11 +38,10 @@ export interface IntervalIntersectSerializedState { export interface IntervalIntersectNodeState extends QueryNodeState { readonly prevNodes: QueryNode[]; readonly allNodes: QueryNode[]; - intervalNodes: QueryNode[]; onExecute?: () => void; } -export class IntervalIntersectNode implements QueryNode { +export class IntervalIntersectNode implements MultiSourceNode { readonly nodeId: string; readonly type = NodeType.kIntervalIntersect; readonly prevNodes: QueryNode[]; @@ -63,18 +63,10 @@ export class IntervalIntersectNode implements QueryNode { } validate(): boolean { - if (this.prevNodes.length !== 1) { + if (this.prevNodes.length < 2) { if (!this.state.issues) this.state.issues = new NodeIssues(); this.state.issues.queryError = new Error( - 'Interval intersect node requires one base source node.', - ); - return false; - } - - if (this.state.intervalNodes.length !== 1) { - if (!this.state.issues) this.state.issues = new NodeIssues(); - this.state.issues.queryError = new Error( - 'Interval intersect node requires one interval source to be selected.', + 'Interval intersect node requires one base source and at least one interval source.', ); return false; } @@ -84,12 +76,14 @@ export class IntervalIntersectNode implements QueryNode { this.state.issues.queryError = undefined; } - if (!this.prevNodes[0].validate()) { - if (!this.state.issues) this.state.issues = new NodeIssues(); - this.state.issues.queryError = - this.prevNodes[0].state.issues?.queryError ?? - new Error(`Previous node '${this.prevNodes[0].getTitle()}' is invalid`); - return false; + for (const prevNode of this.prevNodes) { + if (!prevNode.validate()) { + if (!this.state.issues) this.state.issues = new NodeIssues(); + this.state.issues.queryError = + prevNode.state.issues?.queryError ?? + new Error(`Previous node '${prevNode.getTitle()}' is invalid`); + return false; + } } const checkColumns = (node: QueryNode, required: string[]) => { @@ -107,19 +101,8 @@ export class IntervalIntersectNode implements QueryNode { return true; }; - if (!checkColumns(this.prevNodes[0], ['id', 'ts', 'dur'])) return false; - - for (const intervalNode of this.state.intervalNodes) { - if (!intervalNode.validate()) { - if (!this.state.issues) this.state.issues = new NodeIssues(); - this.state.issues.queryError = - intervalNode.state.issues?.queryError ?? - new Error(`Interval node '${intervalNode.getTitle()}' is invalid`); - return false; - } - if (!checkColumns(intervalNode, ['id', 'ts', 'dur'])) { - return false; - } + for (const prevNode of this.prevNodes) { + if (!checkColumns(prevNode, ['id', 'ts', 'dur'])) return false; } return true; @@ -138,9 +121,8 @@ export class IntervalIntersectNode implements QueryNode { clone(): QueryNode { const stateCopy: IntervalIntersectNodeState = { - prevNodes: this.state.prevNodes, + prevNodes: [...this.state.prevNodes], allNodes: this.state.allNodes, - intervalNodes: [...this.state.intervalNodes], filters: this.state.filters ? [...this.state.filters] : undefined, customTitle: this.state.customTitle, onchange: this.state.onchange, @@ -158,9 +140,9 @@ export class IntervalIntersectNode implements QueryNode { const baseSq = this.prevNodes[0].getStructuredQuery(); if (baseSq === undefined) return undefined; - const intervalSqs = this.state.intervalNodes.map((node) => - node.getStructuredQuery(), - ); + const intervalSqs = this.prevNodes + .slice(1) + .map((node) => node.getStructuredQuery()); if (intervalSqs.some((sq) => sq === undefined)) return undefined; const sq = new protos.PerfettoSqlStructuredQuery(); @@ -175,7 +157,7 @@ export class IntervalIntersectNode implements QueryNode { serializeState(): IntervalIntersectSerializedState { return { - intervalNodes: this.state.intervalNodes.map((n) => n.nodeId), + intervalNodes: this.prevNodes.slice(1).map((n) => n.nodeId), filters: this.state.filters, customTitle: this.state.customTitle, comment: this.state.comment, @@ -185,12 +167,13 @@ export class IntervalIntersectNode implements QueryNode { static deserializeState( nodes: Map, state: IntervalIntersectSerializedState, - ): {intervalNodes: QueryNode[]} { + baseNode: QueryNode, + ): {prevNodes: QueryNode[]} { const intervalNodes = state.intervalNodes .map((id) => nodes.get(id)) .filter((node): node is QueryNode => node !== undefined); return { - intervalNodes, + prevNodes: [baseNode, ...intervalNodes], }; } } @@ -207,10 +190,7 @@ class IntervalIntersectComponent const {node, onExecute} = attrs; node.validate(); const availableNodes = node.state.allNodes.filter( - (n) => - n !== node && - !node.state.intervalNodes.includes(n) && - !node.prevNodes.includes(n), + (n) => n !== node && !node.prevNodes.includes(n), ); const error = node.state.issues?.queryError; @@ -222,53 +202,46 @@ class IntervalIntersectComponent m( '.pf-exp-operations-container', m('h2', 'Interval Intersect'), - node.state.intervalNodes.map((intervalNode, index) => + node.prevNodes.slice(1).map((intervalNode, index) => m( '.pf-exp-interval-node', m('span', `Interval ${index + 1}: ${intervalNode.getTitle()}`), m(Button, { icon: 'delete', onclick: () => { - const intervalNode = node.state.intervalNodes[index]; const nextNodeIndex = intervalNode.nextNodes.indexOf(node); if (nextNodeIndex > -1) { intervalNode.nextNodes.splice(nextNodeIndex, 1); } - node.state.intervalNodes.splice(index, 1); + node.prevNodes.splice(index + 1, 1); node.state.onchange?.(); }, }), ), ), - node.state.intervalNodes.length === 0 && + m( + '.pf-exp-add-interval', m( - '.pf-exp-add-interval', - m( - Select, - { - onchange: (e: Event) => { - const selectedNodeId = (e.target as HTMLSelectElement) - .value; - const selectedNode = availableNodes.find( - (n) => n.nodeId === selectedNodeId, - ); - if (selectedNode) { - node.state.intervalNodes.push(selectedNode); - selectedNode.nextNodes.push(node); - node.state.onchange?.(); - } - }, + Select, + { + onchange: (e: Event) => { + const selectedNodeId = (e.target as HTMLSelectElement).value; + const selectedNode = availableNodes.find( + (n) => n.nodeId === selectedNodeId, + ); + if (selectedNode) { + node.prevNodes.push(selectedNode); + selectedNode.nextNodes.push(node); + node.state.onchange?.(); + } }, - m( - 'option', - {disabled: true, selected: true}, - 'Select a source', - ), - availableNodes.map((n) => - m('option', {value: n.nodeId}, n.getTitle()), - ), + }, + m('option', {disabled: true, selected: true}, 'Select a source'), + availableNodes.map((n) => + m('option', {value: n.nodeId}, n.getTitle()), ), ), + ), m(Button, { label: 'Run', onclick: onExecute, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts index 2492316e71b..20e7e3a2e3a 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/modify_columns_node.ts @@ -19,6 +19,7 @@ import { nextNodeId, NodeType, notifyNextNodes, + ModificationNode, } from '../../query_node'; import {Button, ButtonVariant} from '../../../../widgets/button'; import {Card, CardStack} from '../../../../widgets/card'; @@ -41,7 +42,7 @@ interface NewColumn { } export interface ModifyColumnsSerializedState { - prevNodeIds: string[]; + prevNodeId: string; newColumns: NewColumn[]; selectedColumns: ColumnInfo[]; filters?: FilterDefinition[]; @@ -50,23 +51,23 @@ export interface ModifyColumnsSerializedState { } export interface ModifyColumnsState extends QueryNodeState { - prevNodes: QueryNode[]; + prevNode: QueryNode; newColumns: NewColumn[]; selectedColumns: ColumnInfo[]; filters?: FilterDefinition[]; customTitle?: string; } -export class ModifyColumnsNode implements QueryNode { +export class ModifyColumnsNode implements ModificationNode { readonly nodeId: string; readonly type = NodeType.kModifyColumns; - prevNodes: QueryNode[] | undefined; + readonly prevNode: QueryNode; nextNodes: QueryNode[]; readonly state: ModifyColumnsState; constructor(state: ModifyColumnsState) { this.nodeId = nextNodeId(); - this.prevNodes = state.prevNodes; + this.prevNode = state.prevNode; this.nextNodes = []; this.state = { @@ -76,11 +77,7 @@ export class ModifyColumnsNode implements QueryNode { }; if (this.state.selectedColumns.length === 0) { - this.state.selectedColumns = newColumnInfoList( - this.prevNodes !== undefined && this.prevNodes.length > 0 - ? this.prevNodes[0].finalCols - : [], - ); + this.state.selectedColumns = newColumnInfoList(this.prevNode.finalCols); } const userOnChange = this.state.onchange; @@ -108,8 +105,7 @@ export class ModifyColumnsNode implements QueryNode { onPrevNodesUpdated() { // This node assumes it has only one previous node. - const sourceCols = - this.state.prevNodes.length > 0 ? this.state.prevNodes[0].finalCols : []; + const sourceCols = this.state.prevNode.finalCols; const newSelectedColumns = newColumnInfoList(sourceCols); @@ -128,13 +124,11 @@ export class ModifyColumnsNode implements QueryNode { } static deserializeState( - nodes: Map, serializedState: ModifyColumnsSerializedState, ): ModifyColumnsState { - const prevNodes = serializedState.prevNodeIds.map((id) => nodes.get(id)!); return { ...serializedState, - prevNodes, + prevNode: undefined as unknown as QueryNode, }; } @@ -461,9 +455,8 @@ export class ModifyColumnsNode implements QueryNode { } } - if (!this.prevNodes || this.prevNodes.length === 0) return; // This node assumes it has only one previous node. - const prevSq = this.prevNodes[0].getStructuredQuery(); + const prevSq = this.prevNode.getStructuredQuery(); if (!prevSq) return; prevSq.selectColumns = selectColumns; @@ -489,8 +482,11 @@ export class ModifyColumnsNode implements QueryNode { } serializeState(): ModifyColumnsSerializedState { + if (this.prevNode === undefined) { + throw new Error('Cannot serialize ModifyColumnsNode without a prevNode'); + } return { - prevNodeIds: this.prevNodes!.map((node) => node.nodeId), + prevNodeId: this.prevNode.nodeId, newColumns: this.state.newColumns, selectedColumns: this.state.selectedColumns, filters: this.state.filters, diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts index 2ee7597f5e0..91f6b8a88a6 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/nodes/sources/sql_source.ts @@ -19,6 +19,8 @@ import { QueryNodeState, NodeType, createFinalColumns, + MultiSourceNode, + nextNodeId, } from '../../../query_node'; import {columnInfoFromName} from '../../column_info'; import protos from '../../../../../protos'; @@ -29,7 +31,6 @@ import { queryHistoryStorage, } from '../../../../../components/widgets/query_history'; import {Trace} from '../../../../../public/trace'; -import {SourceNode} from '../../source_node'; import {ColumnInfo} from '../../column_info'; import {FilterDefinition} from '../../../../../components/widgets/data_grid/common'; @@ -46,7 +47,8 @@ export interface SqlSourceState extends QueryNodeState { trace: Trace; } -export class SqlSourceNode extends SourceNode { +export class SqlSourceNode implements MultiSourceNode { + readonly nodeId: string; readonly state: SqlSourceState; prevNodes: QueryNode[] = []; finalCols: ColumnInfo[]; @@ -54,10 +56,11 @@ export class SqlSourceNode extends SourceNode { meterialisedAs?: string; constructor(attrs: SqlSourceState) { - super(attrs); + this.nodeId = nextNodeId(); this.state = attrs; this.finalCols = createFinalColumns([]); this.nextNodes = []; + this.prevNodes = attrs.prevNodes ?? []; } get type() { diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts index 320a82b6413..3d8bbf5c0c7 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_builder/source_node.ts @@ -13,11 +13,17 @@ // limitations under the License. import m from 'mithril'; -import {QueryNode, QueryNodeState, NodeType, nextNodeId} from '../query_node'; +import { + QueryNode, + QueryNodeState, + NodeType, + nextNodeId, + SourceNodeInterface, +} from '../query_node'; import {ColumnInfo} from './column_info'; import protos from '../../../protos'; -export abstract class SourceNode implements QueryNode { +export abstract class SourceNode implements SourceNodeInterface { readonly nodeId: string; readonly state: QueryNodeState; abstract readonly finalCols: ColumnInfo[]; diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts index 9986408d561..03aa9e69161 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/query_node.ts @@ -35,17 +35,30 @@ export enum NodeType { // Single node operations kAggregation, kModifyColumns, + kAddColumns, + kLimitAndOffset, + kSort, // Multi node operations kIntervalIntersect, } export function singleNodeOperation(type: NodeType): boolean { - return type === NodeType.kAggregation || type === NodeType.kModifyColumns; + switch (type) { + case NodeType.kAggregation: + case NodeType.kModifyColumns: + case NodeType.kAddColumns: + case NodeType.kLimitAndOffset: + case NodeType.kSort: + return true; + default: + return false; + } } // All information required to create a new node. export interface QueryNodeState { + prevNode?: QueryNode; prevNodes?: QueryNode[]; customTitle?: string; comment?: string; @@ -65,11 +78,10 @@ export interface QueryNodeState { hasOperationChanged?: boolean; } -export interface QueryNode { +export interface BaseNode { readonly nodeId: string; meterialisedAs?: string; readonly type: NodeType; - prevNodes?: QueryNode[]; nextNodes: QueryNode[]; // Columns that are available after applying all operations. @@ -90,6 +102,23 @@ export interface QueryNode { onPrevNodesUpdated?(): void; } +export interface SourceNodeInterface extends BaseNode { + // No prevNode(s) +} + +export interface ModificationNode extends BaseNode { + prevNode: QueryNode; +} + +export interface MultiSourceNode extends BaseNode { + prevNodes: QueryNode[]; +} + +export type QueryNode = + | SourceNodeInterface + | ModificationNode + | MultiSourceNode; + export function notifyNextNodes(node: QueryNode) { for (const nextNode of node.nextNodes) { nextNode.onPrevNodesUpdated?.(); @@ -140,11 +169,19 @@ function getStructuredQueries( return; } revStructuredQueries.push(curSq); - if (curNode.prevNodes?.[0]) { - if (!curNode.prevNodes[0].validate()) { + + let prevNode: QueryNode | undefined; + if ('prevNode' in curNode) { + prevNode = curNode.prevNode; + } else if ('prevNodes' in curNode && curNode.prevNodes.length > 0) { + prevNode = curNode.prevNodes[0]; + } + + if (prevNode) { + if (!prevNode.validate()) { return; } - curNode = curNode.prevNodes[0]; + curNode = prevNode; } else { curNode = undefined; } diff --git a/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts b/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts index cfcfc3cf661..5f797e36888 100644 --- a/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts +++ b/ui/src/plugins/dev.perfetto.ExplorePage/sql_json_handler.ts @@ -243,6 +243,9 @@ export function createGraphFromSql(sql: string): string { for (const dep of parsedNode.dependencies) { const depNode = nodeMap.get(dep)!; depNode.nextNodes.push(node.nodeId); + if (!node.prevNodes) { + node.prevNodes = []; + } node.prevNodes.push(depNode.nodeId); } if (parsedNode.dependencies.length === 0) { From 8454331835af2e83c8e53ab290de1a597354cf9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C4=8Cerm=C3=A1k?= Date: Thu, 16 Oct 2025 13:12:30 +0100 Subject: [PATCH 097/370] Don't automatically enable auto-merge on Copybara pull requests (#3307) --- .../workflows/chromium-copybara-import.yml | 79 +++++-------------- 1 file changed, 20 insertions(+), 59 deletions(-) diff --git a/.github/workflows/chromium-copybara-import.yml b/.github/workflows/chromium-copybara-import.yml index 3e49376dfee..347cf453f37 100644 --- a/.github/workflows/chromium-copybara-import.yml +++ b/.github/workflows/chromium-copybara-import.yml @@ -22,14 +22,14 @@ on: permissions: pull-requests: write # Required to edit PR body and read PR data - contents: write # Required to enable auto-merge + contents: read # Required to read commit history jobs: - include-git-origin-rev-id-and-enable-auto-merge: + include-git-origin-rev-id: runs-on: ubuntu-latest if: github.head_ref == 'dev/copybara/chromium_tmp' steps: - - name: Include GitOrigin-RevId in Copybara PR body and enable auto-merge + - name: Include GitOrigin-RevId in Copybara PR body uses: actions/github-script@v6 with: script: | @@ -76,62 +76,23 @@ jobs: console.log("PR body already contains the GitOrigin-RevId."); } - // STEP 3: Enable auto-merge and set the commit message. - console.log("Attempting to enable auto-merge with commit message..."); - try { - const mutation = ` - mutation EnableAutoMerge($pullRequestId: ID!, $commitHeadline: String!, $commitBody: String!) { - enablePullRequestAutoMerge(input: { - pullRequestId: $pullRequestId, - commitHeadline: $commitHeadline, - commitBody: $commitBody, - mergeMethod: SQUASH - }) { - pullRequest { - id # We only need to know it succeeded, so we ask for the ID. - } - } - }`; - await github.graphql(mutation, { - pullRequestId: pr.node_id, - commitHeadline: pr.title, - commitBody: prBodyWithRevId - }); - } catch (error) { - core.setFailed(`Failed to enable auto-merge: ${error.message}`); - return; - } - console.log("Auto-merge enabled."); - - // STEP 4: Verify that the scheduled merge commit message includes the GitOrigin-RevId. - console.log("Verifying scheduled merge commit message..."); - try { - const query = ` - query GetAutoMergeMessage($pullRequestId: ID!) { - node(id: $pullRequestId) { - ... on PullRequest { - autoMergeRequest { - commitHeadline - commitBody - } - } - } - }`; - const result = await github.graphql(query, { pullRequestId: pr.node_id }); - const { commitHeadline, commitBody } = result.node.autoMergeRequest; - const fullScheduledMessage = `${commitHeadline}\n\n${commitBody}`; - if (fullScheduledMessage.includes(revId)) { - console.log(`Verification successful: The scheduled merge commit message contains "${revId}".`); - } else { - const errorLines = [ - `Verification FAILED: The scheduled merge commit message does not contain "${revId}".`, - 'The scheduled message was:', + // STEP 3: Verify that the merge commit will contain GitOrigin-RevId. + console.log("Verifying that the merge commit will contain GitOrigin-RevId..."); + const { data: updatedPr } = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pr.number, + }); + const defaultMergeCommitMessage = `${updatedPr.title}\n\n${updatedPr.body}`; + if (defaultMergeCommitMessage.includes(revId)) { + console.log(`Verification successful: The default merge commit message contains "${revId}".`); + } else { + const errorLines = [ + `Verification FAILED: The default merge commit message does not contain "${revId}".`, + 'The default merge commit message is:', '---', - fullScheduledMessage, + defaultMergeCommitMessage, '---' - ]; - core.setFailed(errorLines.join('\n')); - } - } catch (error) { - core.setFailed(`Failed to verify the scheduled merge commit message: ${error.message}`); + ]; + core.setFailed(errorLines.join('\n')); } From 340cc5ea3d6f3d04c3ddf3c141e203447c454e61 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Thu, 16 Oct 2025 14:29:29 +0100 Subject: [PATCH 098/370] ui: Allow triggering popups on right click (oncontextmenu) (#3306) - Add attribute `isContextMenu` to Popup-like widgets which shows the popup on right click instead of left click. - Also add attribute `positionAtCursor` which positions the popup at the cursor position on the trigger instead of on the trigger element itself. This is a more natural positioning when we have large trigger elements, as is more common with right click scenarios. --- python/tools/check_ratchet.py | 2 +- .../dev.perfetto.WidgetsPage/widgets_page.ts | 4 + ui/src/widgets/popup.ts | 107 ++++++++++++++++-- 3 files changed, 104 insertions(+), 9 deletions(-) diff --git a/python/tools/check_ratchet.py b/python/tools/check_ratchet.py index aabbbf11289..f920d234fb5 100755 --- a/python/tools/check_ratchet.py +++ b/python/tools/check_ratchet.py @@ -36,7 +36,7 @@ from dataclasses import dataclass -EXPECTED_ANY_COUNT = 41 +EXPECTED_ANY_COUNT = 40 EXPECTED_RUN_METRIC_COUNT = 4 ROOT_DIR = os.path.dirname( diff --git a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts index 2c86a5228f9..6341bcd4494 100644 --- a/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts +++ b/ui/src/plugins/dev.perfetto.WidgetsPage/widgets_page.ts @@ -1024,6 +1024,8 @@ export class WidgetsPage implements m.ClassComponent<{app: App}> { ), closeOnEscape: true, closeOnOutsideClick: true, + isContextMenu: false, + positionAtCursor: false, }, }), m(WidgetShowcase, { @@ -1201,6 +1203,8 @@ export class WidgetsPage implements m.ClassComponent<{app: App}> { PopupPosition.Bottom, Object.values(PopupPosition), ), + isContextMenu: false, + positionAtCursor: false, }, }), m(WidgetShowcase, { diff --git a/ui/src/widgets/popup.ts b/ui/src/widgets/popup.ts index 3113c93c05e..52a76351aae 100644 --- a/ui/src/widgets/popup.ts +++ b/ui/src/widgets/popup.ts @@ -103,6 +103,13 @@ export interface PopupAttrs { // content that should not be constrained by a maximum width. // Defaults to false. fitContent?: boolean; + // If true, the popup will appear when the trigger is on right clicked rather + // than when it's left clicked. + isContextMenu?: boolean; + // If true, position the popup at the cursor location rather than the trigger + // element. When omitted with isContextMenu=true, defaults to true. When omitted + // with isContextMenu=false, defaults to false. + positionAtCursor?: boolean; } // A popup is a portal whose position is dynamically updated so that it floats @@ -117,6 +124,8 @@ export class Popup implements m.ClassComponent { private onChange: OnChangeCallback = () => {}; private closeOnEscape?: boolean; private closeOnOutsideClick?: boolean; + private relativeMouseX?: number; // Relative to trigger element + private relativeMouseY?: number; // Relative to trigger element private static readonly TRIGGER_REF = 'trigger'; private static readonly POPUP_REF = 'popup'; @@ -132,6 +141,7 @@ export class Popup implements m.ClassComponent { onChange = () => {}, closeOnEscape = true, closeOnOutsideClick = true, + isContextMenu = false, } = attrs; // Detect if we're in controlled mode (parent provides isOpen prop) @@ -143,7 +153,7 @@ export class Popup implements m.ClassComponent { this.closeOnOutsideClick = closeOnOutsideClick; return [ - this.renderTrigger(trigger, isOpen, isControlled), + this.renderTrigger(trigger, isOpen, isControlled, isContextMenu), isOpen && this.renderPopup(attrs, children), ]; } @@ -153,6 +163,7 @@ export class Popup implements m.ClassComponent { trigger: m.Vnode, isOpen: boolean, isControlled: boolean, + isContextMenu: boolean, ): m.Children { const baseAttrs = { ...trigger.attrs, @@ -163,18 +174,54 @@ export class Popup implements m.ClassComponent { // In controlled mode, don't override the trigger's onclick. // Let the parent handle opening/closing via the isOpen prop. if (!isControlled) { - baseAttrs.onclick = (e: MouseEvent) => { - this.togglePopup(); - e.preventDefault(); - }; + if (isContextMenu) { + // For context menus, right-click opens at cursor, left-click closes + baseAttrs.oncontextmenu = (e: MouseEvent) => { + if (this.triggerElement) { + const rect = this.triggerElement.getBoundingClientRect(); + this.relativeMouseX = e.clientX - rect.left; + this.relativeMouseY = e.clientY - rect.top; + } + // Always open on context menu (re-open at new position if already open) + if (!this.isOpen) { + this.isOpen = true; + this.onChange(true); + } else { + // Already open - need to recreate popper at new position + if (this.popper) { + this.popper.destroy(); + this.popper = undefined; + } + // Force recreation on next update + m.redraw(); + } + e.preventDefault(); + }; + // Left click closes context menu if open + baseAttrs.onclick = (e: MouseEvent) => { + if (this.isOpen) { + this.closePopup(); + e.preventDefault(); + } + }; + } else { + baseAttrs.onclick = (e: MouseEvent) => { + if (this.triggerElement) { + const rect = this.triggerElement.getBoundingClientRect(); + this.relativeMouseX = e.clientX - rect.left; + this.relativeMouseY = e.clientY - rect.top; + } + this.togglePopup(); + e.preventDefault(); + }; + } } trigger.attrs = baseAttrs; return trigger; } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - private renderPopup(attrs: PopupAttrs, children: any): m.Children { + private renderPopup(attrs: PopupAttrs, children: m.Children): m.Children { const { className, showArrow = true, @@ -270,6 +317,33 @@ export class Popup implements m.ClassComponent { this.triggerElement = undefined; } + // Creates a virtual element positioned at relative coordinates within the trigger + private createRelativeVirtualElement( + trigger: Element, + relativeX: number, + relativeY: number, + ) { + return { + getBoundingClientRect: () => { + const triggerRect = trigger.getBoundingClientRect(); + const absoluteX = triggerRect.left + relativeX; + const absoluteY = triggerRect.top + relativeY; + + return { + width: 0, + height: 0, + top: absoluteY, + right: absoluteX, + bottom: absoluteY, + left: absoluteX, + x: absoluteX, + y: absoluteY, + toJSON: () => {}, + }; + }, + }; + } + private createOrUpdatePopper(attrs: PopupAttrs) { const { position = PopupPosition.Auto, @@ -277,8 +351,13 @@ export class Popup implements m.ClassComponent { matchWidth = false, offset = 0, edgeOffset = 0, + positionAtCursor: explicitPositionAtCursor, + isContextMenu = false, } = attrs; + // Smart default: context menus default to cursor positioning + const positionAtCursor = explicitPositionAtCursor ?? isContextMenu; + let matchWidthModifier: Modifier<'sameWidth', {}>[]; if (matchWidth) { matchWidthModifier = [ @@ -374,8 +453,20 @@ export class Popup implements m.ClassComponent { this.popper.setOptions(options); } else { if (this.popupElement && this.triggerElement) { + // Use virtual element at relative cursor position if available + const referenceElement = + positionAtCursor && + this.relativeMouseX !== undefined && + this.relativeMouseY !== undefined + ? this.createRelativeVirtualElement( + this.triggerElement, + this.relativeMouseX, + this.relativeMouseY, + ) + : this.triggerElement; + this.popper = createPopper( - this.triggerElement, + referenceElement, this.popupElement, options, ); From fa463198d4c529bb77961470badf2599bdbfd751 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Thu, 16 Oct 2025 15:08:50 +0100 Subject: [PATCH 099/370] ui: Roll canary (#3312) Rolls: https://github.com/google/perfetto/pull/3293 --- ui/release/channels.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/release/channels.json b/ui/release/channels.json index b0f2db77a2d..4f16e468e4d 100644 --- a/ui/release/channels.json +++ b/ui/release/channels.json @@ -6,7 +6,7 @@ }, { "name": "canary", - "rev": "c5facd8cc66984f0eb14e3cf561dbe9c162d3258" + "rev": "e50cb8056146b07628dad083ac3a1bacc6924000" }, { "name": "autopush", From 855c2d408b13430a2e0a05218b431acc58798610 Mon Sep 17 00:00:00 2001 From: zezeozue Date: Thu, 16 Oct 2025 10:24:15 -0400 Subject: [PATCH 100/370] ui: Import d3 library (#3314) In preparation to add d3 chart widgets/bigtrace ui --- ui/package.json | 2 + ui/pnpm-lock.yaml | 343 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 322 insertions(+), 23 deletions(-) diff --git a/ui/package.json b/ui/package.json index 6dd1a28d21a..d411fdcd38b 100644 --- a/ui/package.json +++ b/ui/package.json @@ -27,9 +27,11 @@ "@types/node": "^20.14.9", "@types/pako": "^2.0.3", "@types/pngjs": "^6.0.5", + "@types/d3": "^7.4.3", "@types/uuid": "^10.0.0", "@types/w3c-web-usb": "^1.0.10", "codemirror": "6.0.1", + "d3": "^7.9.0", "color-convert": "^2.0.1", "devtools-protocol": "0.0.1319565", "esbuild": "^0.21.5", diff --git a/ui/pnpm-lock.yaml b/ui/pnpm-lock.yaml index e26e4c43e45..3b27aec11d7 100644 --- a/ui/pnpm-lock.yaml +++ b/ui/pnpm-lock.yaml @@ -50,6 +50,9 @@ dependencies: '@types/color-convert': specifier: ^2.0.3 version: 2.0.3 + '@types/d3': + specifier: ^7.4.3 + version: 7.4.3 '@types/filesystem': specifier: ^0.0.36 version: 0.0.36 @@ -77,6 +80,9 @@ dependencies: color-convert: specifier: ^2.0.1 version: 2.0.1 + d3: + specifier: ^7.9.0 + version: 7.9.0 devtools-protocol: specifier: 0.0.1319565 version: 0.0.1319565 @@ -1570,7 +1576,7 @@ packages: progress: 2.0.3 proxy-agent: 6.5.0 semver: 7.7.2 - tar-fs: 3.1.1 + tar-fs: 3.0.9 unbzip2-stream: 1.4.3 yargs: 17.7.2 transitivePeerDependencies: @@ -1740,6 +1746,185 @@ packages: resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} dev: false + /@types/d3-array@3.2.2: + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + dev: false + + /@types/d3-axis@3.0.6: + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + dependencies: + '@types/d3-selection': 3.0.11 + dev: false + + /@types/d3-brush@3.0.6: + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + dependencies: + '@types/d3-selection': 3.0.11 + dev: false + + /@types/d3-chord@3.0.6: + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + dev: false + + /@types/d3-color@3.1.3: + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + dev: false + + /@types/d3-contour@3.0.6: + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.4 + dev: false + + /@types/d3-delaunay@6.0.4: + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + dev: false + + /@types/d3-dispatch@3.0.7: + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + dev: false + + /@types/d3-drag@3.0.7: + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + dependencies: + '@types/d3-selection': 3.0.11 + dev: false + + /@types/d3-dsv@3.0.7: + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + dev: false + + /@types/d3-ease@3.0.2: + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + dev: false + + /@types/d3-fetch@3.0.7: + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + dependencies: + '@types/d3-dsv': 3.0.7 + dev: false + + /@types/d3-force@3.0.10: + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + dev: false + + /@types/d3-format@3.0.4: + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + dev: false + + /@types/d3-geo@3.1.0: + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + dependencies: + '@types/geojson': 7946.0.4 + dev: false + + /@types/d3-hierarchy@3.1.7: + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + dev: false + + /@types/d3-interpolate@3.0.4: + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + dependencies: + '@types/d3-color': 3.1.3 + dev: false + + /@types/d3-path@3.1.1: + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + dev: false + + /@types/d3-polygon@3.0.2: + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + dev: false + + /@types/d3-quadtree@3.0.6: + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + dev: false + + /@types/d3-random@3.0.3: + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + dev: false + + /@types/d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + dev: false + + /@types/d3-scale@4.0.9: + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + dependencies: + '@types/d3-time': 3.0.4 + dev: false + + /@types/d3-selection@3.0.11: + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + dev: false + + /@types/d3-shape@3.1.7: + resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} + dependencies: + '@types/d3-path': 3.1.1 + dev: false + + /@types/d3-time-format@4.0.3: + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + dev: false + + /@types/d3-time@3.0.4: + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + dev: false + + /@types/d3-timer@3.0.2: + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + dev: false + + /@types/d3-transition@3.0.9: + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + dependencies: + '@types/d3-selection': 3.0.11 + dev: false + + /@types/d3-zoom@3.0.8: + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + dev: false + + /@types/d3@7.4.3: + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.7 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + dev: false + /@types/eslint@8.56.10: resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} dependencies: @@ -2263,18 +2448,17 @@ packages: /bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} - requiresBuild: true dev: true optional: true - /bare-events@2.7.0: - resolution: {integrity: sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==} + /bare-events@2.6.0: + resolution: {integrity: sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==} requiresBuild: true dev: true optional: true - /bare-fs@4.4.4: - resolution: {integrity: sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==} + /bare-fs@4.1.6: + resolution: {integrity: sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==} engines: {bare: '>=1.16.0'} requiresBuild: true peerDependencies: @@ -2286,21 +2470,17 @@ packages: bare-events: 2.5.4 bare-path: 3.0.0 bare-stream: 2.6.5(bare-events@2.5.4) - bare-url: 2.2.2 - fast-fifo: 1.3.2 dev: true optional: true /bare-os@3.6.1: resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} engines: {bare: '>=1.14.0'} - requiresBuild: true dev: true optional: true /bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - requiresBuild: true dependencies: bare-os: 3.6.1 dev: true @@ -2308,7 +2488,6 @@ packages: /bare-stream@2.6.5(bare-events@2.5.4): resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} - requiresBuild: true peerDependencies: bare-buffer: '*' bare-events: '*' @@ -2323,14 +2502,6 @@ packages: dev: true optional: true - /bare-url@2.2.2: - resolution: {integrity: sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==} - requiresBuild: true - dependencies: - bare-path: 3.0.0 - dev: true - optional: true - /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2734,11 +2905,41 @@ packages: internmap: 2.0.3 dev: false + /d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + dev: false + + /d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false + + /d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + dependencies: + d3-path: 3.1.0 + dev: false + /d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} dev: false + /d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: false + /d3-delaunay@6.0.4: resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} engines: {node: '>=12'} @@ -2751,6 +2952,14 @@ packages: engines: {node: '>=12'} dev: false + /d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + dev: false + /d3-dsv@3.0.1: resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} engines: {node: '>=12'} @@ -2761,6 +2970,18 @@ packages: rw: 1.3.3 dev: false + /d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + dev: false + + /d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + dependencies: + d3-dsv: 3.0.1 + dev: false + /d3-force@3.0.0: resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} engines: {node: '>=12'} @@ -2809,11 +3030,21 @@ packages: engines: {node: '>=12'} dev: false + /d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + dev: false + /d3-quadtree@3.0.1: resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} engines: {node: '>=12'} dev: false + /d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + dev: false + /d3-scale-chromatic@3.1.0: resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} engines: {node: '>=12'} @@ -2833,6 +3064,11 @@ packages: d3-time-format: 4.1.0 dev: false + /d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + dev: false + /d3-shape@3.2.0: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} @@ -2859,6 +3095,67 @@ packages: engines: {node: '>=12'} dev: false + /d3-transition@3.0.1(d3-selection@3.0.0): + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + dev: false + + /d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: false + + /d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.0 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + dev: false + /data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} @@ -5960,7 +6257,7 @@ packages: fast-fifo: 1.3.2 text-decoder: 1.2.3 optionalDependencies: - bare-events: 2.7.0 + bare-events: 2.6.0 dev: true /string-length@4.0.2: @@ -6067,13 +6364,13 @@ packages: tslib: 2.6.3 dev: true - /tar-fs@3.1.1: - resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} + /tar-fs@3.0.9: + resolution: {integrity: sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==} dependencies: pump: 3.0.2 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.4.4 + bare-fs: 4.1.6 bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer From 2ad14eaabee7cb0d21bce6370abf87f21e8b9508 Mon Sep 17 00:00:00 2001 From: Surbhi Kadam Date: Thu, 16 Oct 2025 10:28:51 -0400 Subject: [PATCH 101/370] Add effective_radii field to SurfaceFlinger layer proto (#3310) Bug 452472595 --- .../trace/android/surfaceflinger_layers.proto | 3 + protos/perfetto/trace/perfetto_trace.proto | 3 + .../perfetto/trace/perfetto_trace_pb2.py | 3692 ++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 6 +- 4 files changed, 1856 insertions(+), 1848 deletions(-) diff --git a/protos/perfetto/trace/android/surfaceflinger_layers.proto b/protos/perfetto/trace/android/surfaceflinger_layers.proto index 99dff8df2f6..6ef7e47bd46 100644 --- a/protos/perfetto/trace/android/surfaceflinger_layers.proto +++ b/protos/perfetto/trace/android/surfaceflinger_layers.proto @@ -256,6 +256,9 @@ message LayerProto { // Settings which specify how an outline should be drawn for a layer. optional BorderSettings border_settings = 66; + + // "True" corner radii of the layer computed by SurfaceFlinger. + optional float effective_radii = 67; } message PositionProto { diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 93d0e2aa536..4419de5cdd5 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -6511,6 +6511,9 @@ message LayerProto { // Settings which specify how an outline should be drawn for a layer. optional BorderSettings border_settings = 66; + + // "True" corner radii of the layer computed by SurfaceFlinger. + optional float effective_radii = 67; } message PositionProto { diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 652d22b0c09..80ca1591d46 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\x8f\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\xa8\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x12\x17\n\x0f\x65\x66\x66\x65\x63tive_radii\x18\x43 \x01(\x02\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -219,36 +219,36 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=217967 - _BUILTINCLOCK._serialized_end=218282 - _ANDROIDLOGID._serialized_start=218285 - _ANDROIDLOGID._serialized_end=218427 - _ANDROIDLOGPRIORITY._serialized_start=218430 - _ANDROIDLOGPRIORITY._serialized_end=218585 - _PROTOLOGLEVEL._serialized_start=218588 - _PROTOLOGLEVEL._serialized_end=218787 - _ATOMID._serialized_start=218791 - _ATOMID._serialized_end=264958 - _MEMINFOCOUNTERS._serialized_start=264961 - _MEMINFOCOUNTERS._serialized_end=265894 - _VMSTATCOUNTERS._serialized_start=265897 - _VMSTATCOUNTERS._serialized_end=271530 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271533 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271681 - _TRAFFICDIRECTION._serialized_start=271683 - _TRAFFICDIRECTION._serialized_end=271755 - _TRUSTEDOVERLAY._serialized_start=271757 - _TRUSTEDOVERLAY._serialized_end=271811 - _HWCCOMPOSITIONTYPE._serialized_start=271814 - _HWCCOMPOSITIONTYPE._serialized_end=272005 - _FTRACEPARSESTATUS._serialized_start=272008 - _FTRACEPARSESTATUS._serialized_end=272720 - _FTRACECLOCK._serialized_start=272723 - _FTRACECLOCK._serialized_end=272868 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272871 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273559 - _CHROMERAILMODE._serialized_start=273561 - _CHROMERAILMODE._serialized_end=273686 + _BUILTINCLOCK._serialized_start=217992 + _BUILTINCLOCK._serialized_end=218307 + _ANDROIDLOGID._serialized_start=218310 + _ANDROIDLOGID._serialized_end=218452 + _ANDROIDLOGPRIORITY._serialized_start=218455 + _ANDROIDLOGPRIORITY._serialized_end=218610 + _PROTOLOGLEVEL._serialized_start=218613 + _PROTOLOGLEVEL._serialized_end=218812 + _ATOMID._serialized_start=218816 + _ATOMID._serialized_end=264983 + _MEMINFOCOUNTERS._serialized_start=264986 + _MEMINFOCOUNTERS._serialized_end=265919 + _VMSTATCOUNTERS._serialized_start=265922 + _VMSTATCOUNTERS._serialized_end=271555 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271558 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271706 + _TRAFFICDIRECTION._serialized_start=271708 + _TRAFFICDIRECTION._serialized_end=271780 + _TRUSTEDOVERLAY._serialized_start=271782 + _TRUSTEDOVERLAY._serialized_end=271836 + _HWCCOMPOSITIONTYPE._serialized_start=271839 + _HWCCOMPOSITIONTYPE._serialized_end=272030 + _FTRACEPARSESTATUS._serialized_start=272033 + _FTRACEPARSESTATUS._serialized_end=272745 + _FTRACECLOCK._serialized_start=272748 + _FTRACECLOCK._serialized_end=272893 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272896 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273584 + _CHROMERAILMODE._serialized_start=273586 + _CHROMERAILMODE._serialized_end=273711 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 @@ -650,1819 +650,1819 @@ _DISPLAYPROTO._serialized_start=37941 _DISPLAYPROTO._serialized_end=38206 _LAYERPROTO._serialized_start=38209 - _LAYERPROTO._serialized_end=40912 - _LAYERPROTO_METADATAENTRY._serialized_start=40865 - _LAYERPROTO_METADATAENTRY._serialized_end=40912 - _POSITIONPROTO._serialized_start=40914 - _POSITIONPROTO._serialized_end=40951 - _FLOATRECTPROTO._serialized_start=40953 - _FLOATRECTPROTO._serialized_end=41027 - _CORNERRADIIPROTO._serialized_start=41029 - _CORNERRADIIPROTO._serialized_end=41095 - _ACTIVEBUFFERPROTO._serialized_start=41097 - _ACTIVEBUFFERPROTO._serialized_end=41194 - _BARRIERLAYERPROTO._serialized_start=41196 - _BARRIERLAYERPROTO._serialized_end=41249 - _TRANSACTIONTRACEFILE._serialized_start=41252 - _TRANSACTIONTRACEFILE._serialized_end=41487 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41413 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41487 - _TRANSACTIONTRACEENTRY._serialized_start=41490 - _TRANSACTIONTRACEENTRY._serialized_end=41892 - _DISPLAYINFO._serialized_start=41895 - _DISPLAYINFO._serialized_end=42229 - _LAYERCREATIONARGS._serialized_start=42232 - _LAYERCREATIONARGS._serialized_end=42393 - _TRANSFORM._serialized_start=42395 - _TRANSFORM._serialized_end=42486 - _TRANSACTIONBARRIER._serialized_start=42488 - _TRANSACTIONBARRIER._serialized_end=42545 - _TRANSACTIONSTATE._serialized_start=42548 - _TRANSACTIONSTATE._serialized_end=42905 - _LAYERSTATE._serialized_start=42908 - _LAYERSTATE._serialized_end=47600 - _LAYERSTATE_MATRIX22._serialized_start=44619 - _LAYERSTATE_MATRIX22._serialized_end=44685 - _LAYERSTATE_CORNERRADII._serialized_start=44687 - _LAYERSTATE_CORNERRADII._serialized_end=44748 - _LAYERSTATE_COLOR3._serialized_start=44750 - _LAYERSTATE_COLOR3._serialized_end=44791 - _LAYERSTATE_BUFFERDATA._serialized_start=44794 - _LAYERSTATE_BUFFERDATA._serialized_end=45582 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45010 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45121 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45124 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45582 - _LAYERSTATE_WINDOWINFO._serialized_start=45585 - _LAYERSTATE_WINDOWINFO._serialized_end=45999 - _LAYERSTATE_CHANGESLSB._serialized_start=46002 - _LAYERSTATE_CHANGESLSB._serialized_end=46762 - _LAYERSTATE_CHANGESMSB._serialized_start=46765 - _LAYERSTATE_CHANGESMSB._serialized_end=47385 - _LAYERSTATE_FLAGS._serialized_start=47388 - _LAYERSTATE_FLAGS._serialized_end=47550 - _LAYERSTATE_DROPINPUTMODE._serialized_start=47552 - _LAYERSTATE_DROPINPUTMODE._serialized_end=47600 - _DISPLAYSTATE._serialized_start=47603 - _DISPLAYSTATE._serialized_end=48006 - _DISPLAYSTATE_CHANGES._serialized_start=47859 - _DISPLAYSTATE_CHANGES._serialized_end=48006 - _WINSCOPEEXTENSIONS._serialized_start=48008 - _WINSCOPEEXTENSIONS._serialized_end=48034 - _CHROMEBENCHMARKMETADATA._serialized_start=48037 - _CHROMEBENCHMARKMETADATA._serialized_end=48279 - _CHROMEMETADATAPACKET._serialized_start=48282 - _CHROMEMETADATAPACKET._serialized_end=48561 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48521 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48561 - _BACKGROUNDTRACINGMETADATA._serialized_start=48564 - _BACKGROUNDTRACINGMETADATA._serialized_end=49609 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48780 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49609 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49084 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49190 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49193 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49471 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49338 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49471 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49474 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49609 - _CHROMETRACEDVALUE._serialized_start=49612 - _CHROMETRACEDVALUE._serialized_end=49951 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49918 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49951 - _CHROMESTRINGTABLEENTRY._serialized_start=49953 - _CHROMESTRINGTABLEENTRY._serialized_end=50007 - _CHROMETRACEEVENT._serialized_start=50010 - _CHROMETRACEEVENT._serialized_end=50651 - _CHROMETRACEEVENT_ARG._serialized_start=50383 - _CHROMETRACEEVENT_ARG._serialized_end=50651 - _CHROMEMETADATA._serialized_start=50654 - _CHROMEMETADATA._serialized_end=50782 - _CHROMELEGACYJSONTRACE._serialized_start=50785 - _CHROMELEGACYJSONTRACE._serialized_end=50933 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50888 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50933 - _CHROMEEVENTBUNDLE._serialized_start=50936 - _CHROMEEVENTBUNDLE._serialized_end=51231 - _CHROMETRIGGER._serialized_start=51233 - _CHROMETRIGGER._serialized_end=51314 - _V8STRING._serialized_start=51316 - _V8STRING._serialized_end=51402 - _INTERNEDV8STRING._serialized_start=51404 - _INTERNEDV8STRING._serialized_end=51511 - _INTERNEDV8JSSCRIPT._serialized_start=51514 - _INTERNEDV8JSSCRIPT._serialized_end=51839 - _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51709 - _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51839 - _INTERNEDV8WASMSCRIPT._serialized_start=51841 - _INTERNEDV8WASMSCRIPT._serialized_end=51928 - _INTERNEDV8JSFUNCTION._serialized_start=51931 - _INTERNEDV8JSFUNCTION._serialized_end=53040 - _INTERNEDV8JSFUNCTION_KIND._serialized_start=52158 - _INTERNEDV8JSFUNCTION_KIND._serialized_end=53040 - _INTERNEDV8ISOLATE._serialized_start=53043 - _INTERNEDV8ISOLATE._serialized_end=53370 - _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53251 - _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53370 - _V8JSCODE._serialized_start=53373 - _V8JSCODE._serialized_end=53735 - _V8JSCODE_TIER._serialized_start=53599 - _V8JSCODE_TIER._serialized_end=53719 - _V8INTERNALCODE._serialized_start=53738 - _V8INTERNALCODE._serialized_end=54219 - _V8INTERNALCODE_TYPE._serialized_start=53961 - _V8INTERNALCODE_TYPE._serialized_end=54219 - _V8WASMCODE._serialized_start=54222 - _V8WASMCODE._serialized_end=54545 - _V8WASMCODE_TIER._serialized_start=54484 - _V8WASMCODE_TIER._serialized_end=54545 - _V8REGEXPCODE._serialized_start=54548 - _V8REGEXPCODE._serialized_end=54724 - _V8CODEMOVE._serialized_start=54727 - _V8CODEMOVE._serialized_end=54952 - _V8CODEDEFAULTS._serialized_start=54954 - _V8CODEDEFAULTS._serialized_end=54983 - _CLOCKSNAPSHOT._serialized_start=54986 - _CLOCKSNAPSHOT._serialized_end=55388 - _CLOCKSNAPSHOT_CLOCK._serialized_start=55118 - _CLOCKSNAPSHOT_CLOCK._serialized_end=55388 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55217 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55388 - _CSWITCHETWEVENT._serialized_start=55391 - _CSWITCHETWEVENT._serialized_end=57009 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55967 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56712 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56714 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56765 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56768 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56903 - _READYTHREADETWEVENT._serialized_start=57012 - _READYTHREADETWEVENT._serialized_end=57532 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57271 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57359 - _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57361 - _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57483 - _MEMINFOETWEVENT._serialized_start=57535 - _MEMINFOETWEVENT._serialized_end=57935 - _FILEIOCREATEETWEVENT._serialized_start=57938 - _FILEIOCREATEETWEVENT._serialized_end=58102 - _FILEIODIRENUMETWEVENT._serialized_start=58105 - _FILEIODIRENUMETWEVENT._serialized_end=58273 - _FILEIOINFOETWEVENT._serialized_start=58276 - _FILEIOINFOETWEVENT._serialized_end=58406 - _FILEIOREADWRITEETWEVENT._serialized_start=58409 - _FILEIOREADWRITEETWEVENT._serialized_end=58555 - _FILEIOSIMPLEOPETWEVENT._serialized_start=58557 - _FILEIOSIMPLEOPETWEVENT._serialized_end=58651 - _FILEIOOPENDETWEVENT._serialized_start=58653 - _FILEIOOPENDETWEVENT._serialized_end=58730 - _ETWTRACEEVENT._serialized_start=58733 - _ETWTRACEEVENT._serialized_end=59378 - _ETWTRACEEVENTBUNDLE._serialized_start=59380 - _ETWTRACEEVENTBUNDLE._serialized_end=59461 - _EVDEVEVENT._serialized_start=59464 - _EVDEVEVENT._serialized_end=59650 - _EVDEVEVENT_INPUTEVENT._serialized_start=59560 - _EVDEVEVENT_INPUTEVENT._serialized_end=59641 - _FILEDESCRIPTORSET._serialized_start=59652 - _FILEDESCRIPTORSET._serialized_end=59723 - _FILEDESCRIPTORPROTO._serialized_start=59726 - _FILEDESCRIPTORPROTO._serialized_end=60045 - _DESCRIPTORPROTO._serialized_start=60048 - _DESCRIPTORPROTO._serialized_end=60514 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60459 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60502 - _UNINTERPRETEDOPTION._serialized_start=60517 - _UNINTERPRETEDOPTION._serialized_end=60803 - _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60752 - _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60803 - _FIELDOPTIONS._serialized_start=60805 - _FIELDOPTIONS._serialized_end=60904 - _FIELDDESCRIPTORPROTO._serialized_start=60907 - _FIELDDESCRIPTORPROTO._serialized_end=61594 - _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61209 - _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61519 - _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61521 - _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61588 - _ONEOFDESCRIPTORPROTO._serialized_start=61596 - _ONEOFDESCRIPTORPROTO._serialized_end=61680 - _ENUMDESCRIPTORPROTO._serialized_start=61683 - _ENUMDESCRIPTORPROTO._serialized_end=61811 - _ENUMVALUEDESCRIPTORPROTO._serialized_start=61813 - _ENUMVALUEDESCRIPTORPROTO._serialized_end=61875 - _ONEOFOPTIONS._serialized_start=61877 - _ONEOFOPTIONS._serialized_end=61910 - _EXTENSIONDESCRIPTOR._serialized_start=61912 - _EXTENSIONDESCRIPTOR._serialized_end=61992 - _INODEFILEMAP._serialized_start=61995 - _INODEFILEMAP._serialized_end=62259 - _INODEFILEMAP_ENTRY._serialized_start=62113 - _INODEFILEMAP_ENTRY._serialized_end=62259 - _INODEFILEMAP_ENTRY_TYPE._serialized_start=62215 - _INODEFILEMAP_ENTRY_TYPE._serialized_end=62259 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62261 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62338 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62341 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62483 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62485 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62563 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62566 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62709 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62711 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62785 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62787 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62895 - _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62898 - _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63087 - _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63090 - _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63239 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63241 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63297 - _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63299 - _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63417 - _BINDERLOCKFTRACEEVENT._serialized_start=63419 - _BINDERLOCKFTRACEEVENT._serialized_end=63455 - _BINDERLOCKEDFTRACEEVENT._serialized_start=63457 - _BINDERLOCKEDFTRACEEVENT._serialized_end=63495 - _BINDERUNLOCKFTRACEEVENT._serialized_start=63497 - _BINDERUNLOCKFTRACEEVENT._serialized_end=63535 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63537 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63662 - _BINDERCOMMANDFTRACEEVENT._serialized_start=63664 - _BINDERCOMMANDFTRACEEVENT._serialized_end=63703 - _BINDERRETURNFTRACEEVENT._serialized_start=63705 - _BINDERRETURNFTRACEEVENT._serialized_end=63743 - _BLOCKRQISSUEFTRACEEVENT._serialized_start=63746 - _BLOCKRQISSUEFTRACEEVENT._serialized_end=63875 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63877 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=63983 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=63985 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64088 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64090 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64196 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64198 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64305 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64307 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64409 - _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64411 - _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64536 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64538 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64610 - _BLOCKGETRQFTRACEEVENT._serialized_start=64612 - _BLOCKGETRQFTRACEEVENT._serialized_end=64711 - _BLOCKPLUGFTRACEEVENT._serialized_start=64713 - _BLOCKPLUGFTRACEEVENT._serialized_end=64749 - _BLOCKRQABORTFTRACEEVENT._serialized_start=64751 - _BLOCKRQABORTFTRACEEVENT._serialized_end=64867 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64870 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65004 - _BLOCKRQINSERTFTRACEEVENT._serialized_start=65007 - _BLOCKRQINSERTFTRACEEVENT._serialized_end=65137 - _BLOCKRQREMAPFTRACEEVENT._serialized_start=65140 - _BLOCKRQREMAPFTRACEEVENT._serialized_end=65281 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65283 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65401 - _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65403 - _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65504 - _BLOCKSPLITFTRACEEVENT._serialized_start=65506 - _BLOCKSPLITFTRACEEVENT._serialized_end=65606 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65608 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65680 - _BLOCKUNPLUGFTRACEEVENT._serialized_start=65682 - _BLOCKUNPLUGFTRACEEVENT._serialized_end=65735 - _BLOCKIOSTARTFTRACEEVENT._serialized_start=65738 - _BLOCKIOSTARTFTRACEEVENT._serialized_end=65883 - _BLOCKIODONEFTRACEEVENT._serialized_start=65886 - _BLOCKIODONEFTRACEEVENT._serialized_end=66030 - _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66033 - _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66175 - _CGROUPMKDIRFTRACEEVENT._serialized_start=66177 - _CGROUPMKDIRFTRACEEVENT._serialized_end=66271 - _CGROUPREMOUNTFTRACEEVENT._serialized_start=66273 - _CGROUPREMOUNTFTRACEEVENT._serialized_end=66344 - _CGROUPRMDIRFTRACEEVENT._serialized_start=66346 - _CGROUPRMDIRFTRACEEVENT._serialized_end=66440 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66443 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66588 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66590 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66665 - _CGROUPRELEASEFTRACEEVENT._serialized_start=66667 - _CGROUPRELEASEFTRACEEVENT._serialized_end=66763 - _CGROUPRENAMEFTRACEEVENT._serialized_start=66765 - _CGROUPRENAMEFTRACEEVENT._serialized_end=66860 - _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66862 - _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66935 - _CLKENABLEFTRACEEVENT._serialized_start=66937 - _CLKENABLEFTRACEEVENT._serialized_end=66973 - _CLKDISABLEFTRACEEVENT._serialized_start=66975 - _CLKDISABLEFTRACEEVENT._serialized_end=67012 - _CLKSETRATEFTRACEEVENT._serialized_start=67014 - _CLKSETRATEFTRACEEVENT._serialized_end=67065 - _CMAALLOCSTARTFTRACEEVENT._serialized_start=67067 - _CMAALLOCSTARTFTRACEEVENT._serialized_end=67137 - _CMAALLOCINFOFTRACEEVENT._serialized_start=67140 - _CMAALLOCINFOFTRACEEVENT._serialized_end=67336 - _CMAALLOCFINISHFTRACEEVENT._serialized_start=67338 - _CMAALLOCFINISHFTRACEEVENT._serialized_end=67453 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67455 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67576 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67579 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67723 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67726 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67863 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67866 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68005 - _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68008 - _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68143 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68145 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68232 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68234 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68349 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68351 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68469 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68471 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68523 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68525 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68639 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68641 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68718 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68720 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68807 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68809 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68912 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68914 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69030 - _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69032 - _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69109 - _CPUHPEXITFTRACEEVENT._serialized_start=69111 - _CPUHPEXITFTRACEEVENT._serialized_end=69187 - _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69189 - _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69272 - _CPUHPENTERFTRACEEVENT._serialized_start=69274 - _CPUHPENTERFTRACEEVENT._serialized_end=69352 - _CPUHPLATENCYFTRACEEVENT._serialized_start=69354 - _CPUHPLATENCYFTRACEEVENT._serialized_end=69434 - _CPUHPPAUSEFTRACEEVENT._serialized_start=69436 - _CPUHPPAUSEFTRACEEVENT._serialized_end=69523 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69526 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69696 - _DCVSHFREQFTRACEEVENT._serialized_start=69698 - _DCVSHFREQFTRACEEVENT._serialized_end=69747 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69749 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69868 - _DMAFENCEINITFTRACEEVENT._serialized_start=69870 - _DMAFENCEINITFTRACEEVENT._serialized_end=69961 - _DMAFENCEEMITFTRACEEVENT._serialized_start=69963 - _DMAFENCEEMITFTRACEEVENT._serialized_end=70054 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70056 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70151 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70153 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70249 - _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70251 - _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70345 - _DMAHEAPSTATFTRACEEVENT._serialized_start=70347 - _DMAHEAPSTATFTRACEEVENT._serialized_end=70424 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70427 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70556 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70558 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70623 - _DPUDSIRXFTRACEEVENT._serialized_start=70625 - _DPUDSIRXFTRACEEVENT._serialized_end=70675 - _DPUDSITXFTRACEEVENT._serialized_start=70677 - _DPUDSITXFTRACEEVENT._serialized_end=70760 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70762 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70850 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70852 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70934 - _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70936 - _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71023 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71025 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71102 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71105 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71267 - _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71270 - _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71462 - _DWC3CTRLREQFTRACEEVENT._serialized_start=71464 - _DWC3CTRLREQFTRACEEVENT._serialized_end=71590 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71593 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71752 - _DWC3EPQUEUEFTRACEEVENT._serialized_start=71755 - _DWC3EPQUEUEFTRACEEVENT._serialized_end=71912 - _DWC3EVENTFTRACEEVENT._serialized_start=71914 - _DWC3EVENTFTRACEEVENT._serialized_end=71982 - _DWC3FREEREQUESTFTRACEEVENT._serialized_start=71985 - _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72146 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72148 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72271 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72274 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72479 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72482 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72686 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72688 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72765 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72768 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72932 - _DWC3PREPARETRBFTRACEEVENT._serialized_start=72935 - _DWC3PREPARETRBFTRACEEVENT._serialized_end=73126 - _DWC3READLFTRACEEVENT._serialized_start=73128 - _DWC3READLFTRACEEVENT._serialized_end=73208 - _DWC3WRITELFTRACEEVENT._serialized_start=73210 - _DWC3WRITELFTRACEEVENT._serialized_end=73291 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73293 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73389 - _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73391 - _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73486 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73488 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73578 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73580 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73648 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73650 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73748 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73751 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73944 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73946 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74029 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74031 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74112 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74114 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74199 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74202 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74404 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74407 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74575 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74578 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74806 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74809 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75016 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75018 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75121 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75123 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75217 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75219 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75325 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75327 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75398 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75400 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75493 - _EXT4DROPINODEFTRACEEVENT._serialized_start=75495 - _EXT4DROPINODEFTRACEEVENT._serialized_end=75561 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75563 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75676 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75678 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75764 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75767 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75895 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75897 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76011 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76013 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76089 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76092 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76225 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76227 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76311 - _EXT4ESSHRINKFTRACEEVENT._serialized_start=76313 - _EXT4ESSHRINKFTRACEEVENT._serialized_end=76426 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76428 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76510 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76512 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76598 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76600 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76684 - _EXT4EVICTINODEFTRACEEVENT._serialized_start=76686 - _EXT4EVICTINODEFTRACEEVENT._serialized_end=76754 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76757 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76906 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76909 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77108 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77111 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77270 - _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77272 - _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77352 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77354 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77438 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77440 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77542 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77545 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77689 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77691 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77789 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77791 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77891 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77894 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78087 - _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78089 - _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78154 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78157 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78343 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78345 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78442 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78444 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78557 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78559 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78657 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78660 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78797 - _EXT4FORGETFTRACEEVENT._serialized_start=78799 - _EXT4FORGETFTRACEEVENT._serialized_end=78898 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78900 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79012 - _EXT4FREEINODEFTRACEEVENT._serialized_start=79014 - _EXT4FREEINODEFTRACEEVENT._serialized_end=79122 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79124 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79249 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79251 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79344 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79346 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79448 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79451 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79595 - _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79597 - _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79680 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79682 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79786 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79789 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79918 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79920 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=79998 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80000 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80114 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80116 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80219 - _EXT4LOADINODEFTRACEEVENT._serialized_start=80221 - _EXT4LOADINODEFTRACEEVENT._serialized_end=80273 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80275 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80335 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80337 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80406 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80408 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80465 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80467 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80529 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80531 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80600 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80602 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80711 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80713 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80822 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80824 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80905 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80907 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=80996 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=80999 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81389 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81391 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81512 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81514 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81632 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81635 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81861 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81863 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=81984 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=81986 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82081 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82083 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82165 - _EXT4READPAGEFTRACEEVENT._serialized_start=82167 - _EXT4READPAGEFTRACEEVENT._serialized_end=82233 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82235 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82304 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82307 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82507 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82510 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82687 - _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82689 - _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82758 - _EXT4SYNCFSFTRACEEVENT._serialized_start=82760 - _EXT4SYNCFSFTRACEEVENT._serialized_end=82810 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82812 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82921 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82923 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83031 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83033 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83105 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83107 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83178 - _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83180 - _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83264 - _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83266 - _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83332 - _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83334 - _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83428 - _EXT4WRITEENDFTRACEEVENT._serialized_start=83430 - _EXT4WRITEENDFTRACEEVENT._serialized_end=83523 - _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83525 - _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83592 - _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83595 - _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83819 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83822 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=83984 - _EXT4ZERORANGEFTRACEEVENT._serialized_start=83986 - _EXT4ZERORANGEFTRACEEVENT._serialized_end=84081 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84083 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84183 - _F2FSEVICTINODEFTRACEEVENT._serialized_start=84186 - _F2FSEVICTINODEFTRACEEVENT._serialized_end=84328 - _F2FSFALLOCATEFTRACEEVENT._serialized_start=84331 - _F2FSFALLOCATEFTRACEEVENT._serialized_end=84469 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84471 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84590 - _F2FSGETVICTIMFTRACEEVENT._serialized_start=84593 - _F2FSGETVICTIMFTRACEEVENT._serialized_end=84799 - _F2FSIGETFTRACEEVENT._serialized_start=84802 - _F2FSIGETFTRACEEVENT._serialized_end=84938 - _F2FSIGETEXITFTRACEEVENT._serialized_start=84940 - _F2FSIGETEXITFTRACEEVENT._serialized_end=85004 - _F2FSNEWINODEFTRACEEVENT._serialized_start=85006 - _F2FSNEWINODEFTRACEEVENT._serialized_end=85070 - _F2FSREADPAGEFTRACEEVENT._serialized_start=85073 - _F2FSREADPAGEFTRACEEVENT._serialized_end=85216 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85218 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85297 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85300 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85430 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85432 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85534 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85537 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85682 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85684 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85806 - _F2FSSYNCFSFTRACEEVENT._serialized_start=85808 - _F2FSSYNCFSFTRACEEVENT._serialized_end=85873 - _F2FSTRUNCATEFTRACEEVENT._serialized_start=85876 - _F2FSTRUNCATEFTRACEEVENT._serialized_end=86016 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86018 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86124 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86126 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86200 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86202 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86308 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86310 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86421 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86423 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86502 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86504 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86590 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86592 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86684 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86686 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86759 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86761 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86865 - _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86867 - _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86965 - _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86967 - _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87033 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87036 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87167 - _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87169 - _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87263 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87265 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87358 - _F2FSWRITEENDFTRACEEVENT._serialized_start=87360 - _F2FSWRITEENDFTRACEEVENT._serialized_end=87453 - _F2FSIOSTATFTRACEEVENT._serialized_start=87456 - _F2FSIOSTATFTRACEEVENT._serialized_end=87881 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87884 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88467 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88469 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88559 - _F2FSGCBEGINFTRACEEVENT._serialized_start=88562 - _F2FSGCBEGINFTRACEEVENT._serialized_end=88832 - _F2FSGCENDFTRACEEVENT._serialized_start=88835 - _F2FSGCENDFTRACEEVENT._serialized_end=89063 - _FASTRPCDMASTATFTRACEEVENT._serialized_start=89065 - _FASTRPCDMASTATFTRACEEVENT._serialized_end=89143 - _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89145 - _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89213 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89215 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89314 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89316 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89385 - _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89387 - _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89509 - _FENCEINITFTRACEEVENT._serialized_start=89511 - _FENCEINITFTRACEEVENT._serialized_end=89599 - _FENCEDESTROYFTRACEEVENT._serialized_start=89601 - _FENCEDESTROYFTRACEEVENT._serialized_end=89692 - _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89694 - _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89790 - _FENCESIGNALEDFTRACEEVENT._serialized_start=89792 - _FENCESIGNALEDFTRACEEVENT._serialized_end=89884 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89886 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=89994 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=89996 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90109 - _DOSYSOPENFTRACEEVENT._serialized_start=90111 - _DOSYSOPENFTRACEEVENT._serialized_end=90180 - _OPENEXECFTRACEEVENT._serialized_start=90182 - _OPENEXECFTRACEEVENT._serialized_end=90221 - _PRINTFTRACEEVENT._serialized_start=90223 - _PRINTFTRACEEVENT._serialized_end=90266 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90268 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90324 - _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90326 - _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90433 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90435 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90523 - _GENERICFTRACEEVENT._serialized_start=90526 - _GENERICFTRACEEVENT._serialized_end=90720 - _GENERICFTRACEEVENT_FIELD._serialized_start=90626 - _GENERICFTRACEEVENT_FIELD._serialized_end=90720 - _KPROBEEVENT._serialized_start=90723 - _KPROBEEVENT._serialized_end=90913 - _KPROBEEVENT_KPROBETYPE._serialized_start=90807 - _KPROBEEVENT_KPROBETYPE._serialized_end=90913 - _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90915 - _GOOGLEICCEVENTFTRACEEVENT._serialized_end=90976 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=90978 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91039 - _GPUMEMTOTALFTRACEEVENT._serialized_start=91041 - _GPUMEMTOTALFTRACEEVENT._serialized_end=91108 - _DRMSCHEDJOBFTRACEEVENT._serialized_start=91110 - _DRMSCHEDJOBFTRACEEVENT._serialized_end=91232 - _DRMRUNJOBFTRACEEVENT._serialized_start=91234 - _DRMRUNJOBFTRACEEVENT._serialized_end=91354 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91356 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91402 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91404 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91506 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91508 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91580 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91583 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91743 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91746 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91904 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91906 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92015 - _HYPENTERFTRACEEVENT._serialized_start=92017 - _HYPENTERFTRACEEVENT._serialized_end=92038 - _HYPEXITFTRACEEVENT._serialized_start=92040 - _HYPEXITFTRACEEVENT._serialized_end=92060 - _HOSTHCALLFTRACEEVENT._serialized_start=92062 - _HOSTHCALLFTRACEEVENT._serialized_end=92113 - _HOSTSMCFTRACEEVENT._serialized_start=92115 - _HOSTSMCFTRACEEVENT._serialized_end=92166 - _HOSTMEMABORTFTRACEEVENT._serialized_start=92168 - _HOSTMEMABORTFTRACEEVENT._serialized_end=92220 - _HOSTFFACALLFTRACEEVENT._serialized_start=92223 - _HOSTFFACALLFTRACEEVENT._serialized_end=92358 - _IOMMUIDMAPFTRACEEVENT._serialized_start=92360 - _IOMMUIDMAPFTRACEEVENT._serialized_end=92423 - _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92425 - _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92480 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92482 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92543 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92545 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92606 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92608 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92638 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92640 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92713 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92715 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92780 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92782 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92844 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92846 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92877 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92879 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92933 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92935 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=92986 - _I2CREADFTRACEEVENT._serialized_start=92988 - _I2CREADFTRACEEVENT._serialized_end=93086 - _I2CWRITEFTRACEEVENT._serialized_start=93088 - _I2CWRITEFTRACEEVENT._serialized_end=93200 - _I2CRESULTFTRACEEVENT._serialized_start=93202 - _I2CRESULTFTRACEEVENT._serialized_end=93274 - _I2CREPLYFTRACEEVENT._serialized_start=93276 - _I2CREPLYFTRACEEVENT._serialized_end=93388 - _SMBUSREADFTRACEEVENT._serialized_start=93390 - _SMBUSREADFTRACEEVENT._serialized_end=93496 - _SMBUSWRITEFTRACEEVENT._serialized_start=93498 - _SMBUSWRITEFTRACEEVENT._serialized_end=93618 - _SMBUSRESULTFTRACEEVENT._serialized_start=93621 - _SMBUSRESULTFTRACEEVENT._serialized_end=93762 - _SMBUSREPLYFTRACEEVENT._serialized_start=93764 - _SMBUSREPLYFTRACEEVENT._serialized_end=93884 - _IONSTATFTRACEEVENT._serialized_start=93886 - _IONSTATFTRACEEVENT._serialized_end=93963 - _IPIENTRYFTRACEEVENT._serialized_start=93965 - _IPIENTRYFTRACEEVENT._serialized_end=94002 - _IPIEXITFTRACEEVENT._serialized_start=94004 - _IPIEXITFTRACEEVENT._serialized_end=94040 - _IPIRAISEFTRACEEVENT._serialized_start=94042 - _IPIRAISEFTRACEEVENT._serialized_end=94100 - _SOFTIRQENTRYFTRACEEVENT._serialized_start=94102 - _SOFTIRQENTRYFTRACEEVENT._serialized_end=94140 - _SOFTIRQEXITFTRACEEVENT._serialized_start=94142 - _SOFTIRQEXITFTRACEEVENT._serialized_end=94179 - _SOFTIRQRAISEFTRACEEVENT._serialized_start=94181 - _SOFTIRQRAISEFTRACEEVENT._serialized_end=94219 - _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94221 - _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94293 - _IRQHANDLEREXITFTRACEEVENT._serialized_start=94295 - _IRQHANDLEREXITFTRACEEVENT._serialized_end=94348 - _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94350 - _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94394 - _LOCALTIMEREXITFTRACEEVENT._serialized_start=94396 - _LOCALTIMEREXITFTRACEEVENT._serialized_end=94439 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94441 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94504 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94506 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94619 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94622 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94871 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94873 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94968 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94971 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95312 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95314 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95379 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95381 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95447 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95449 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95516 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95518 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95581 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95583 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95647 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95649 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95714 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95716 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95767 - _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95769 - _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95852 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95854 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95956 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95958 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96062 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96064 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96176 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96179 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96307 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96310 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96442 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96444 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96558 - _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96560 - _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96603 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96605 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96700 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96702 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96799 - _IONPREFETCHINGFTRACEEVENT._serialized_start=96801 - _IONPREFETCHINGFTRACEEVENT._serialized_end=96841 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96843 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96934 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96936 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97029 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97031 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97129 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97131 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97231 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97233 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97315 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97317 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97401 - _KFREEFTRACEEVENT._serialized_start=97403 - _KFREEFTRACEEVENT._serialized_end=97453 - _KMALLOCFTRACEEVENT._serialized_start=97455 - _KMALLOCFTRACEEVENT._serialized_end=97566 - _KMALLOCNODEFTRACEEVENT._serialized_start=97569 - _KMALLOCNODEFTRACEEVENT._serialized_end=97698 - _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97700 - _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97818 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97821 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97957 - _KMEMCACHEFREEFTRACEEVENT._serialized_start=97959 - _KMEMCACHEFREEFTRACEEVENT._serialized_end=98017 - _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98019 - _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98061 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98063 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98107 - _MIGRATERETRYFTRACEEVENT._serialized_start=98109 - _MIGRATERETRYFTRACEEVENT._serialized_end=98149 - _MMPAGEALLOCFTRACEEVENT._serialized_start=98151 - _MMPAGEALLOCFTRACEEVENT._serialized_end=98257 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98260 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98446 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98448 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98545 - _MMPAGEFREEFTRACEEVENT._serialized_start=98547 - _MMPAGEFREEFTRACEEVENT._serialized_end=98612 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98614 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98685 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98687 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98778 - _RSSSTATFTRACEEVENT._serialized_start=98780 - _RSSSTATFTRACEEVENT._serialized_end=98859 - _IONHEAPSHRINKFTRACEEVENT._serialized_start=98861 - _IONHEAPSHRINKFTRACEEVENT._serialized_end=98944 - _IONHEAPGROWFTRACEEVENT._serialized_start=98946 - _IONHEAPGROWFTRACEEVENT._serialized_end=99027 - _IONBUFFERCREATEFTRACEEVENT._serialized_start=99029 - _IONBUFFERCREATEFTRACEEVENT._serialized_end=99084 - _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99086 - _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99142 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99145 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99298 - _DMABUFRSSSTATFTRACEEVENT._serialized_start=99300 - _DMABUFRSSSTATFTRACEEVENT._serialized_end=99373 - _KVMACCESSFAULTFTRACEEVENT._serialized_start=99375 - _KVMACCESSFAULTFTRACEEVENT._serialized_end=99415 - _KVMACKIRQFTRACEEVENT._serialized_start=99417 - _KVMACKIRQFTRACEEVENT._serialized_end=99469 - _KVMAGEHVAFTRACEEVENT._serialized_start=99471 - _KVMAGEHVAFTRACEEVENT._serialized_end=99521 - _KVMAGEPAGEFTRACEEVENT._serialized_start=99523 - _KVMAGEPAGEFTRACEEVENT._serialized_end=99607 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99609 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99659 - _KVMARMSETDREG32FTRACEEVENT._serialized_start=99661 - _KVMARMSETDREG32FTRACEEVENT._serialized_end=99718 - _KVMARMSETREGSETFTRACEEVENT._serialized_start=99720 - _KVMARMSETREGSETFTRACEEVENT._serialized_end=99775 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99777 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99841 - _KVMENTRYFTRACEEVENT._serialized_start=99843 - _KVMENTRYFTRACEEVENT._serialized_end=99881 - _KVMEXITFTRACEEVENT._serialized_start=99883 - _KVMEXITFTRACEEVENT._serialized_end=99949 - _KVMFPUFTRACEEVENT._serialized_start=99951 - _KVMFPUFTRACEEVENT._serialized_end=99984 - _KVMGETTIMERMAPFTRACEEVENT._serialized_start=99986 - _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100097 - _KVMGUESTFAULTFTRACEEVENT._serialized_start=100099 - _KVMGUESTFAULTFTRACEEVENT._serialized_end=100183 - _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100185 - _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100226 - _KVMHVCARM64FTRACEEVENT._serialized_start=100228 - _KVMHVCARM64FTRACEEVENT._serialized_end=100294 - _KVMIRQLINEFTRACEEVENT._serialized_start=100296 - _KVMIRQLINEFTRACEEVENT._serialized_end=100383 - _KVMMMIOFTRACEEVENT._serialized_start=100385 - _KVMMMIOFTRACEEVENT._serialized_end=100458 - _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100460 - _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100533 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100535 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100599 - _KVMSETIRQFTRACEEVENT._serialized_start=100601 - _KVMSETIRQFTRACEEVENT._serialized_end=100674 - _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100676 - _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100715 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100717 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100776 - _KVMSYSACCESSFTRACEEVENT._serialized_start=100779 - _KVMSYSACCESSFTRACEEVENT._serialized_end=100918 - _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100920 - _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100959 - _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100961 - _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101029 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101031 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101084 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101086 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101165 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101167 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101243 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101245 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101320 - _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101322 - _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101392 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101394 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101451 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101453 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101498 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101500 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101569 - _KVMWFXARM64FTRACEEVENT._serialized_start=101571 - _KVMWFXARM64FTRACEEVENT._serialized_end=101628 - _TRAPREGFTRACEEVENT._serialized_start=101630 - _TRAPREGFTRACEEVENT._serialized_end=101714 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101716 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101794 - _LOWMEMORYKILLFTRACEEVENT._serialized_start=101796 - _LOWMEMORYKILLFTRACEEVENT._serialized_end=101912 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101914 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102027 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102029 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102118 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102120 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102237 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102239 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102362 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102364 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102485 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102487 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102609 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102611 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102736 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102738 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102861 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102863 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102955 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102957 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103047 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103049 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103157 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103159 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103258 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103260 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103360 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103362 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103458 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103460 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103562 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103564 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103662 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103664 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103761 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103763 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103862 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103864 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103951 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103953 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104036 - _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104038 - _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104120 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104122 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104222 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104224 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104319 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104321 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104407 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104409 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104503 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104505 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104598 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104600 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104690 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104692 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104783 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104785 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104880 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104882 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104969 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104971 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105063 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105065 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105154 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105156 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105245 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105247 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105334 - _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105336 - _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105400 - _MDPCOMMITFTRACEEVENT._serialized_start=105402 - _MDPCOMMITFTRACEEVENT._serialized_end=105492 - _MDPPERFSETOTFTRACEEVENT._serialized_start=105494 - _MDPPERFSETOTFTRACEEVENT._serialized_end=105585 - _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105588 - _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105856 - _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105858 - _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105941 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105943 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106043 - _MDPCOMPAREBWFTRACEEVENT._serialized_start=106046 - _MDPCOMPAREBWFTRACEEVENT._serialized_end=106210 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106212 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106324 - _MDPSSPPSETFTRACEEVENT._serialized_start=106327 - _MDPSSPPSETFTRACEEVENT._serialized_end=106592 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106594 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106659 - _MDPMISRCRCFTRACEEVENT._serialized_start=106661 - _MDPMISRCRCFTRACEEVENT._serialized_end=106734 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106736 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106861 - _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106863 - _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106941 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106943 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=106988 - _MDPMIXERUPDATEFTRACEEVENT._serialized_start=106990 - _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107036 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107039 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107199 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107201 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107273 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107275 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107344 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107347 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107553 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107555 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107636 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107638 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107686 - _MMEVENTRECORDFTRACEEVENT._serialized_start=107688 - _MMEVENTRECORDFTRACEEVENT._serialized_end=107777 - _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107779 - _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107851 - _NETDEVXMITFTRACEEVENT._serialized_start=107853 - _NETDEVXMITFTRACEEVENT._serialized_end=107932 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107935 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108314 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108316 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108360 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108362 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108442 - _MARKVICTIMFTRACEEVENT._serialized_start=108444 - _MARKVICTIMFTRACEEVENT._serialized_end=108480 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108482 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108544 - _DSIRXFTRACEEVENT._serialized_start=108546 - _DSIRXFTRACEEVENT._serialized_end=108593 - _DSITXFTRACEEVENT._serialized_start=108595 - _DSITXFTRACEEVENT._serialized_end=108657 - _PANELWRITEGENERICFTRACEEVENT._serialized_start=108659 - _PANELWRITEGENERICFTRACEEVENT._serialized_end=108786 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108789 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109177 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109179 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109227 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109229 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109313 - _CPUFREQUENCYFTRACEEVENT._serialized_start=109315 - _CPUFREQUENCYFTRACEEVENT._serialized_end=109371 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109373 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109456 - _CPUIDLEFTRACEEVENT._serialized_start=109458 - _CPUIDLEFTRACEEVENT._serialized_end=109509 - _CLOCKENABLEFTRACEEVENT._serialized_start=109511 - _CLOCKENABLEFTRACEEVENT._serialized_end=109580 - _CLOCKDISABLEFTRACEEVENT._serialized_start=109582 - _CLOCKDISABLEFTRACEEVENT._serialized_end=109652 - _CLOCKSETRATEFTRACEEVENT._serialized_start=109654 - _CLOCKSETRATEFTRACEEVENT._serialized_end=109724 - _SUSPENDRESUMEFTRACEEVENT._serialized_start=109726 - _SUSPENDRESUMEFTRACEEVENT._serialized_end=109796 - _GPUFREQUENCYFTRACEEVENT._serialized_start=109798 - _GPUFREQUENCYFTRACEEVENT._serialized_end=109854 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109856 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109918 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109920 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=109984 - _GPUWORKPERIODFTRACEEVENT._serialized_start=109987 - _GPUWORKPERIODFTRACEEVENT._serialized_end=110120 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110122 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110235 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110237 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110316 - _CONSOLEFTRACEEVENT._serialized_start=110318 - _CONSOLEFTRACEEVENT._serialized_end=110351 - _SYSENTERFTRACEEVENT._serialized_start=110353 - _SYSENTERFTRACEEVENT._serialized_end=110400 - _SYSEXITFTRACEEVENT._serialized_start=110402 - _SYSEXITFTRACEEVENT._serialized_end=110447 - _REGULATORDISABLEFTRACEEVENT._serialized_start=110449 - _REGULATORDISABLEFTRACEEVENT._serialized_end=110492 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110494 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110545 - _REGULATORENABLEFTRACEEVENT._serialized_start=110547 - _REGULATORENABLEFTRACEEVENT._serialized_end=110589 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110591 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110641 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110643 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110690 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110692 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110764 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110766 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110833 - _RPMSTATUSFTRACEEVENT._serialized_start=110835 - _RPMSTATUSFTRACEEVENT._serialized_end=110887 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110889 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111014 - _SCHEDSWITCHFTRACEEVENT._serialized_start=111017 - _SCHEDSWITCHFTRACEEVENT._serialized_end=111173 - _SCHEDWAKEUPFTRACEEVENT._serialized_start=111175 - _SCHEDWAKEUPFTRACEEVENT._serialized_end=111277 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111279 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111356 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111358 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111439 - _SCHEDWAKINGFTRACEEVENT._serialized_start=111441 - _SCHEDWAKINGFTRACEEVENT._serialized_end=111543 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111545 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111650 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111652 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111729 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111731 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111815 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111817 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111926 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111928 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=111998 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112000 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112056 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112058 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112128 - _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112130 - _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112218 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112221 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112549 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112552 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112689 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112691 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112815 - _SCMCALLSTARTFTRACEEVENT._serialized_start=112817 - _SCMCALLSTARTFTRACEEVENT._serialized_end=112883 - _SCMCALLENDFTRACEEVENT._serialized_start=112885 - _SCMCALLENDFTRACEEVENT._serialized_end=112908 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112910 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113031 - _SDESDEEVTLOGFTRACEEVENT._serialized_start=113033 - _SDESDEEVTLOGFTRACEEVENT._serialized_end=113107 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113110 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113290 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113293 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113576 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113578 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113694 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113696 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113796 - _SIGNALDELIVERFTRACEEVENT._serialized_start=113798 - _SIGNALDELIVERFTRACEEVENT._serialized_end=113869 - _SIGNALGENERATEFTRACEEVENT._serialized_start=113871 - _SIGNALGENERATEFTRACEEVENT._serialized_end=113983 - _KFREESKBFTRACEEVENT._serialized_start=113985 - _KFREESKBFTRACEEVENT._serialized_end=114059 - _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114062 - _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114237 - _SYNCPTFTRACEEVENT._serialized_start=114239 - _SYNCPTFTRACEEVENT._serialized_end=114291 - _SYNCTIMELINEFTRACEEVENT._serialized_start=114293 - _SYNCTIMELINEFTRACEEVENT._serialized_end=114347 - _SYNCWAITFTRACEEVENT._serialized_start=114349 - _SYNCWAITFTRACEEVENT._serialized_end=114415 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114417 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114505 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114507 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114555 - _ZEROFTRACEEVENT._serialized_start=114557 - _ZEROFTRACEEVENT._serialized_end=114630 - _TASKNEWTASKFTRACEEVENT._serialized_start=114632 - _TASKNEWTASKFTRACEEVENT._serialized_end=114727 - _TASKRENAMEFTRACEEVENT._serialized_start=114729 - _TASKRENAMEFTRACEEVENT._serialized_end=114822 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114825 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114962 - _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114964 - _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115062 - _CDEVUPDATEFTRACEEVENT._serialized_start=115064 - _CDEVUPDATEFTRACEEVENT._serialized_end=115117 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115120 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115348 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115351 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115513 - _HRTIMERSTARTFTRACEEVENT._serialized_start=115515 - _HRTIMERSTARTFTRACEEVENT._serialized_end=115627 - _HRTIMERCANCELFTRACEEVENT._serialized_start=115629 - _HRTIMERCANCELFTRACEEVENT._serialized_end=115672 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115674 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115753 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115755 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115802 - _TIMERSTARTFTRACEEVENT._serialized_start=115805 - _TIMERSTARTFTRACEEVENT._serialized_end=115949 - _TIMERCANCELFTRACEEVENT._serialized_start=115951 - _TIMERCANCELFTRACEEVENT._serialized_end=115990 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=115992 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116084 - _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116086 - _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116129 - _TRUSTYSMCFTRACEEVENT._serialized_start=116131 - _TRUSTYSMCFTRACEEVENT._serialized_end=116201 - _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116203 - _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116242 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116244 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116320 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116322 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116367 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116369 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116441 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116443 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116548 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116550 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116594 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116596 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116657 - _TRUSTYIRQFTRACEEVENT._serialized_start=116659 - _TRUSTYIRQFTRACEEVENT._serialized_end=116694 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116696 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116779 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116781 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116853 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116855 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116929 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116932 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117062 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117064 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117141 - _TRUSTYIPCREADFTRACEEVENT._serialized_start=117143 - _TRUSTYIPCREADFTRACEEVENT._serialized_end=117201 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117203 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117317 - _TRUSTYIPCRXFTRACEEVENT._serialized_start=117319 - _TRUSTYIPCRXFTRACEEVENT._serialized_end=117391 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117393 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117464 - _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117467 - _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117653 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117655 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117716 - _V4L2QBUFFTRACEEVENT._serialized_start=117719 - _V4L2QBUFFTRACEEVENT._serialized_end=118130 - _V4L2DQBUFFTRACEEVENT._serialized_start=118133 - _V4L2DQBUFFTRACEEVENT._serialized_end=118545 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118548 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118918 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118921 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119290 - _VB2V4L2QBUFFTRACEEVENT._serialized_start=119293 - _VB2V4L2QBUFFTRACEEVENT._serialized_end=119659 - _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119662 - _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120029 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120032 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120197 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120200 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120368 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120370 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120430 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120432 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120496 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120499 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120695 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120698 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120898 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120900 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=120996 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=120998 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121057 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121059 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121131 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121133 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121178 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121181 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121414 - _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121417 - _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121562 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121564 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121612 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121614 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121678 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121680 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121746 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121748 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121860 - _FTRACEEVENT._serialized_start=121864 - _FTRACEEVENT._serialized_end=166767 - _FTRACECPUSTATS._serialized_start=166770 - _FTRACECPUSTATS._serialized_end=166963 - _FTRACEKPROBESTATS._serialized_start=166965 - _FTRACEKPROBESTATS._serialized_end=167014 - _FTRACESTATS._serialized_start=167017 - _FTRACESTATS._serialized_end=167600 - _FTRACESTATS_PHASE._serialized_start=167538 - _FTRACESTATS_PHASE._serialized_end=167600 - _FTRACEEVENTBUNDLE._serialized_start=167603 - _FTRACEEVENTBUNDLE._serialized_end=168683 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168141 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168507 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168509 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168593 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168595 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168683 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168685 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168747 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168750 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169168 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168911 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169168 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169170 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169227 - _GENERICKERNELPROCESSTREE._serialized_start=169230 - _GENERICKERNELPROCESSTREE._serialized_end=169522 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169395 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169467 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169469 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169522 - _GPUCOUNTEREVENT._serialized_start=169525 - _GPUCOUNTEREVENT._serialized_end=169776 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169690 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169776 - _GPULOG._serialized_start=169779 - _GPULOG._serialized_end=170039 - _GPULOG_SEVERITY._serialized_start=169876 - _GPULOG_SEVERITY._serialized_end=170039 - _GPURENDERSTAGEEVENT._serialized_start=170042 - _GPURENDERSTAGEEVENT._serialized_end=170961 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170551 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170591 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170594 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170955 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170862 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170905 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170907 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170955 - _INTERNEDGRAPHICSCONTEXT._serialized_start=170964 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171134 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171076 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171134 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171137 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171375 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171316 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171375 - _VULKANAPIEVENT._serialized_start=171378 - _VULKANAPIEVENT._serialized_end=171821 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171564 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171678 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171681 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171812 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171823 - _VULKANMEMORYEVENTANNOTATION._serialized_end=171945 - _VULKANMEMORYEVENT._serialized_start=171948 - _VULKANMEMORYEVENT._serialized_end=172820 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172433 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172566 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172568 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172685 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172688 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172820 - _INTERNEDSTRING._serialized_start=172822 - _INTERNEDSTRING._serialized_end=172864 - _LINE._serialized_start=172866 - _LINE._serialized_end=172942 - _ADDRESSSYMBOLS._serialized_start=172944 - _ADDRESSSYMBOLS._serialized_end=173015 - _MODULESYMBOLS._serialized_start=173017 - _MODULESYMBOLS._serialized_end=173122 - _MAPPING._serialized_start=173125 - _MAPPING._serialized_end=173281 - _FRAME._serialized_start=173283 - _FRAME._serialized_end=173365 - _CALLSTACK._serialized_start=173367 - _CALLSTACK._serialized_end=173410 - _HISTOGRAMNAME._serialized_start=173412 - _HISTOGRAMNAME._serialized_end=173454 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173456 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173546 - _DEBUGANNOTATION._serialized_start=173549 - _DEBUGANNOTATION._serialized_end=174489 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174061 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174441 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174391 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174441 - _DEBUGANNOTATIONNAME._serialized_start=174491 - _DEBUGANNOTATIONNAME._serialized_end=174539 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174541 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174598 - _LOGMESSAGE._serialized_start=174601 - _LOGMESSAGE._serialized_end=174860 - _LOGMESSAGE_PRIORITY._serialized_start=174715 - _LOGMESSAGE_PRIORITY._serialized_end=174860 - _LOGMESSAGEBODY._serialized_start=174862 - _LOGMESSAGEBODY._serialized_end=174905 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174907 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=174984 - _SOURCELOCATION._serialized_start=174986 - _SOURCELOCATION._serialized_end=175078 - _CHROMEACTIVEPROCESSES._serialized_start=175080 - _CHROMEACTIVEPROCESSES._serialized_end=175116 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175119 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175485 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175245 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175485 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175488 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176575 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176379 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176569 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176578 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180288 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176769 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178068 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177308 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177469 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177472 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177619 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177622 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177866 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177869 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178068 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178071 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180288 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179965 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180149 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180152 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180282 - _BEGINFRAMEARGS._serialized_start=180291 - _BEGINFRAMEARGS._serialized_end=180845 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180667 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180829 - _BEGINIMPLFRAMEARGS._serialized_start=180848 - _BEGINIMPLFRAMEARGS._serialized_end=181424 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181165 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181358 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181360 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181416 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181426 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181549 - _BEGINFRAMESOURCESTATE._serialized_start=181552 - _BEGINFRAMESOURCESTATE._serialized_end=181697 - _COMPOSITORTIMINGHISTORY._serialized_start=181700 - _COMPOSITORTIMINGHISTORY._serialized_end=182080 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182082 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182144 - _CHROMEFRAMEREPORTER._serialized_start=182147 - _CHROMEFRAMEREPORTER._serialized_end=183267 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182862 - _CHROMEFRAMEREPORTER_STATE._serialized_end=182971 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182973 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183099 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183101 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183224 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183226 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183263 - _CHROMEKEYEDSERVICE._serialized_start=183269 - _CHROMEKEYEDSERVICE._serialized_end=183303 - _CHROMELATENCYINFO._serialized_start=183306 - _CHROMELATENCYINFO._serialized_end=185088 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183635 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183748 - _CHROMELATENCYINFO_STEP._serialized_start=183751 - _CHROMELATENCYINFO_STEP._serialized_end=184153 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184156 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184913 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184916 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185088 - _CHROMELEGACYIPC._serialized_start=185091 - _CHROMELEGACYIPC._serialized_end=186065 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185203 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186065 - _CHROMEMESSAGEPUMP._serialized_start=186067 - _CHROMEMESSAGEPUMP._serialized_end=186151 - _CHROMEMOJOEVENTINFO._serialized_start=186154 - _CHROMEMOJOEVENTINFO._serialized_end=186358 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186360 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186486 - _CHROMEUSEREVENT._serialized_start=186488 - _CHROMEUSEREVENT._serialized_end=186542 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186544 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186624 - _SCREENSHOT._serialized_start=186626 - _SCREENSHOT._serialized_end=186657 - _TASKEXECUTION._serialized_start=186659 - _TASKEXECUTION._serialized_end=186699 - _TRACKEVENT._serialized_start=186702 - _TRACKEVENT._serialized_end=189869 - _TRACKEVENT_LEGACYEVENT._serialized_start=188891 - _TRACKEVENT_LEGACYEVENT._serialized_end=189573 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189382 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189462 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189464 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189561 - _TRACKEVENT_TYPE._serialized_start=189575 - _TRACKEVENT_TYPE._serialized_end=189681 - _TRACKEVENTDEFAULTS._serialized_start=189871 - _TRACKEVENTDEFAULTS._serialized_end=189988 - _EVENTCATEGORY._serialized_start=189990 - _EVENTCATEGORY._serialized_end=190032 - _EVENTNAME._serialized_start=190034 - _EVENTNAME._serialized_end=190072 - _INTERNEDDATA._serialized_start=190075 - _INTERNEDDATA._serialized_end=192190 - _MEMORYTRACKERSNAPSHOT._serialized_start=192193 - _MEMORYTRACKERSNAPSHOT._serialized_end=193201 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192408 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193126 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192622 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193033 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192806 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193033 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=192987 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193033 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193035 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193126 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193128 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193201 - _PERFETTOMETATRACE._serialized_start=193204 - _PERFETTOMETATRACE._serialized_end=193749 - _PERFETTOMETATRACE_ARG._serialized_start=193561 - _PERFETTOMETATRACE_ARG._serialized_end=193688 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193690 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193734 - _TRACINGSERVICEEVENT._serialized_start=193752 - _TRACINGSERVICEEVENT._serialized_end=194402 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194230 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194388 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194327 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194388 - _ANDROIDENERGYCONSUMER._serialized_start=194404 - _ANDROIDENERGYCONSUMER._serialized_end=194500 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194502 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194601 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194604 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194924 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194871 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194924 - _ENTITYSTATERESIDENCY._serialized_start=194927 - _ENTITYSTATERESIDENCY._serialized_end=195370 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195108 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195210 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195213 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195370 - _BATTERYCOUNTERS._serialized_start=195373 - _BATTERYCOUNTERS._serialized_end=195550 - _POWERRAILS._serialized_start=195553 - _POWERRAILS._serialized_end=195880 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195719 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195813 - _POWERRAILS_ENERGYDATA._serialized_start=195815 - _POWERRAILS_ENERGYDATA._serialized_end=195880 - _OBFUSCATEDMEMBER._serialized_start=195882 - _OBFUSCATEDMEMBER._serialized_end=195952 - _OBFUSCATEDCLASS._serialized_start=195955 - _OBFUSCATEDCLASS._serialized_end=196150 - _DEOBFUSCATIONMAPPING._serialized_start=196153 - _DEOBFUSCATIONMAPPING._serialized_end=196281 - _HEAPGRAPHROOT._serialized_start=196284 - _HEAPGRAPHROOT._serialized_end=196722 - _HEAPGRAPHROOT_TYPE._serialized_start=196382 - _HEAPGRAPHROOT_TYPE._serialized_end=196722 - _HEAPGRAPHTYPE._serialized_start=196725 - _HEAPGRAPHTYPE._serialized_end=197209 - _HEAPGRAPHTYPE_KIND._serialized_start=196947 - _HEAPGRAPHTYPE_KIND._serialized_end=197209 - _HEAPGRAPHOBJECT._serialized_start=197212 - _HEAPGRAPHOBJECT._serialized_end=197668 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197554 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197654 - _HEAPGRAPH._serialized_start=197671 - _HEAPGRAPH._serialized_end=197991 - _PROFILEPACKET._serialized_start=197994 - _PROFILEPACKET._serialized_end=199462 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198302 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198488 - _PROFILEPACKET_HISTOGRAM._serialized_start=198491 - _PROFILEPACKET_HISTOGRAM._serialized_end=198634 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198570 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198634 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198637 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198859 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198862 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199462 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199357 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199462 - _STREAMINGALLOCATION._serialized_start=199465 - _STREAMINGALLOCATION._serialized_end=199622 - _STREAMINGFREE._serialized_start=199624 - _STREAMINGFREE._serialized_end=199698 - _STREAMINGPROFILEPACKET._serialized_start=199700 - _STREAMINGPROFILEPACKET._serialized_end=199801 - _PROFILING._serialized_start=199804 - _PROFILING._serialized_end=200460 - _PROFILING_CPUMODE._serialized_start=199817 - _PROFILING_CPUMODE._serialized_end=199941 - _PROFILING_STACKUNWINDERROR._serialized_start=199944 - _PROFILING_STACKUNWINDERROR._serialized_end=200460 - _PERFSAMPLE._serialized_start=200463 - _PERFSAMPLE._serialized_end=201342 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200887 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201107 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=200998 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201076 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201110 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201283 - _PERFSAMPLEDEFAULTS._serialized_start=201345 - _PERFSAMPLEDEFAULTS._serialized_end=201531 - _SMAPSENTRY._serialized_start=201534 - _SMAPSENTRY._serialized_end=201921 - _SMAPSPACKET._serialized_start=201923 - _SMAPSPACKET._serialized_end=201995 - _PROCESSSTATS._serialized_start=201998 - _PROCESSSTATS._serialized_end=202825 - _PROCESSSTATS_THREAD._serialized_start=202106 - _PROCESSSTATS_THREAD._serialized_end=202145 - _PROCESSSTATS_FDINFO._serialized_start=202147 - _PROCESSSTATS_FDINFO._serialized_end=202181 - _PROCESSSTATS_PROCESS._serialized_start=202184 - _PROCESSSTATS_PROCESS._serialized_end=202825 - _PROCESSTREE._serialized_start=202828 - _PROCESSTREE._serialized_end=203220 - _PROCESSTREE_THREAD._serialized_start=202988 - _PROCESSTREE_THREAD._serialized_end=203052 - _PROCESSTREE_PROCESS._serialized_start=203055 - _PROCESSTREE_PROCESS._serialized_end=203220 - _REMOTECLOCKSYNC._serialized_start=203223 - _REMOTECLOCKSYNC._serialized_end=203434 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203312 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203434 - _ATOM._serialized_start=203436 - _ATOM._serialized_end=203442 - _STATSDATOM._serialized_start=203444 - _STATSDATOM._serialized_end=203518 - _SYSSTATS._serialized_start=203521 - _SYSSTATS._serialized_end=205545 - _SYSSTATS_MEMINFOVALUE._serialized_start=204309 - _SYSSTATS_MEMINFOVALUE._serialized_end=204385 - _SYSSTATS_VMSTATVALUE._serialized_start=204387 - _SYSSTATS_VMSTATVALUE._serialized_end=204461 - _SYSSTATS_CPUTIMES._serialized_start=204464 - _SYSSTATS_CPUTIMES._serialized_end=204644 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204646 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204690 - _SYSSTATS_DEVFREQVALUE._serialized_start=204692 - _SYSSTATS_DEVFREQVALUE._serialized_end=204734 - _SYSSTATS_BUDDYINFO._serialized_start=204736 - _SYSSTATS_BUDDYINFO._serialized_end=204796 - _SYSSTATS_DISKSTAT._serialized_start=204799 - _SYSSTATS_DISKSTAT._serialized_end=205014 - _SYSSTATS_PSISAMPLE._serialized_start=205017 - _SYSSTATS_PSISAMPLE._serialized_end=205325 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205116 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205325 - _SYSSTATS_THERMALZONE._serialized_start=205327 - _SYSSTATS_THERMALZONE._serialized_end=205382 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205384 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205439 - _SYSSTATS_CPUIDLESTATE._serialized_start=205441 - _SYSSTATS_CPUIDLESTATE._serialized_end=205545 - _CPUINFO._serialized_start=205548 - _CPUINFO._serialized_end=205880 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205603 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205713 - _CPUINFO_CPU._serialized_start=205716 - _CPUINFO_CPU._serialized_end=205880 - _TESTEVENT._serialized_start=205883 - _TESTEVENT._serialized_end=206262 - _TESTEVENT_TESTPAYLOAD._serialized_start=206020 - _TESTEVENT_TESTPAYLOAD._serialized_end=206262 - _TRACEPACKETDEFAULTS._serialized_start=206265 - _TRACEPACKETDEFAULTS._serialized_end=206507 - _TRACEUUID._serialized_start=206509 - _TRACEUUID._serialized_end=206546 - _PROCESSDESCRIPTOR._serialized_start=206549 - _PROCESSDESCRIPTOR._serialized_end=207036 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206811 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207036 - _TRACKEVENTRANGEOFINTEREST._serialized_start=207038 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207083 - _THREADDESCRIPTOR._serialized_start=207086 - _THREADDESCRIPTOR._serialized_end=207842 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207371 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207842 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207845 - _CHROMEPROCESSDESCRIPTOR._serialized_end=208000 - _CHROMETHREADDESCRIPTOR._serialized_start=208002 - _CHROMETHREADDESCRIPTOR._serialized_end=208100 - _COUNTERDESCRIPTOR._serialized_start=208103 - _COUNTERDESCRIPTOR._serialized_end=208558 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208362 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208473 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208475 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208558 - _TRACKDESCRIPTOR._serialized_start=208561 - _TRACKDESCRIPTOR._serialized_end=209613 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209285 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209371 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209374 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209560 - _TRANSLATIONTABLE._serialized_start=209616 - _TRANSLATIONTABLE._serialized_end=210109 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210112 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210286 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210237 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210286 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210289 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210480 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210425 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210480 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210483 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210838 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210730 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210783 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210785 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210838 - _SLICENAMETRANSLATIONTABLE._serialized_start=210841 - _SLICENAMETRANSLATIONTABLE._serialized_end=211035 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210975 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211035 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211038 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211246 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=210975 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211035 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211249 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211413 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210237 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210286 - _TRIGGER._serialized_start=211415 - _TRIGGER._serialized_end=211522 - _UISTATE._serialized_start=211525 - _UISTATE._serialized_end=211722 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211658 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211722 - _TRACEPACKET._serialized_start=211725 - _TRACEPACKET._serialized_end=217909 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217722 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217826 - _TRACE._serialized_start=217911 - _TRACE._serialized_end=217964 + _LAYERPROTO._serialized_end=40937 + _LAYERPROTO_METADATAENTRY._serialized_start=40890 + _LAYERPROTO_METADATAENTRY._serialized_end=40937 + _POSITIONPROTO._serialized_start=40939 + _POSITIONPROTO._serialized_end=40976 + _FLOATRECTPROTO._serialized_start=40978 + _FLOATRECTPROTO._serialized_end=41052 + _CORNERRADIIPROTO._serialized_start=41054 + _CORNERRADIIPROTO._serialized_end=41120 + _ACTIVEBUFFERPROTO._serialized_start=41122 + _ACTIVEBUFFERPROTO._serialized_end=41219 + _BARRIERLAYERPROTO._serialized_start=41221 + _BARRIERLAYERPROTO._serialized_end=41274 + _TRANSACTIONTRACEFILE._serialized_start=41277 + _TRANSACTIONTRACEFILE._serialized_end=41512 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41438 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41512 + _TRANSACTIONTRACEENTRY._serialized_start=41515 + _TRANSACTIONTRACEENTRY._serialized_end=41917 + _DISPLAYINFO._serialized_start=41920 + _DISPLAYINFO._serialized_end=42254 + _LAYERCREATIONARGS._serialized_start=42257 + _LAYERCREATIONARGS._serialized_end=42418 + _TRANSFORM._serialized_start=42420 + _TRANSFORM._serialized_end=42511 + _TRANSACTIONBARRIER._serialized_start=42513 + _TRANSACTIONBARRIER._serialized_end=42570 + _TRANSACTIONSTATE._serialized_start=42573 + _TRANSACTIONSTATE._serialized_end=42930 + _LAYERSTATE._serialized_start=42933 + _LAYERSTATE._serialized_end=47625 + _LAYERSTATE_MATRIX22._serialized_start=44644 + _LAYERSTATE_MATRIX22._serialized_end=44710 + _LAYERSTATE_CORNERRADII._serialized_start=44712 + _LAYERSTATE_CORNERRADII._serialized_end=44773 + _LAYERSTATE_COLOR3._serialized_start=44775 + _LAYERSTATE_COLOR3._serialized_end=44816 + _LAYERSTATE_BUFFERDATA._serialized_start=44819 + _LAYERSTATE_BUFFERDATA._serialized_end=45607 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45035 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45146 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45149 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45607 + _LAYERSTATE_WINDOWINFO._serialized_start=45610 + _LAYERSTATE_WINDOWINFO._serialized_end=46024 + _LAYERSTATE_CHANGESLSB._serialized_start=46027 + _LAYERSTATE_CHANGESLSB._serialized_end=46787 + _LAYERSTATE_CHANGESMSB._serialized_start=46790 + _LAYERSTATE_CHANGESMSB._serialized_end=47410 + _LAYERSTATE_FLAGS._serialized_start=47413 + _LAYERSTATE_FLAGS._serialized_end=47575 + _LAYERSTATE_DROPINPUTMODE._serialized_start=47577 + _LAYERSTATE_DROPINPUTMODE._serialized_end=47625 + _DISPLAYSTATE._serialized_start=47628 + _DISPLAYSTATE._serialized_end=48031 + _DISPLAYSTATE_CHANGES._serialized_start=47884 + _DISPLAYSTATE_CHANGES._serialized_end=48031 + _WINSCOPEEXTENSIONS._serialized_start=48033 + _WINSCOPEEXTENSIONS._serialized_end=48059 + _CHROMEBENCHMARKMETADATA._serialized_start=48062 + _CHROMEBENCHMARKMETADATA._serialized_end=48304 + _CHROMEMETADATAPACKET._serialized_start=48307 + _CHROMEMETADATAPACKET._serialized_end=48586 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48546 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48586 + _BACKGROUNDTRACINGMETADATA._serialized_start=48589 + _BACKGROUNDTRACINGMETADATA._serialized_end=49634 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48805 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49634 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49109 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49215 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49218 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49496 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49363 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49496 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49499 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49634 + _CHROMETRACEDVALUE._serialized_start=49637 + _CHROMETRACEDVALUE._serialized_end=49976 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49943 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49976 + _CHROMESTRINGTABLEENTRY._serialized_start=49978 + _CHROMESTRINGTABLEENTRY._serialized_end=50032 + _CHROMETRACEEVENT._serialized_start=50035 + _CHROMETRACEEVENT._serialized_end=50676 + _CHROMETRACEEVENT_ARG._serialized_start=50408 + _CHROMETRACEEVENT_ARG._serialized_end=50676 + _CHROMEMETADATA._serialized_start=50679 + _CHROMEMETADATA._serialized_end=50807 + _CHROMELEGACYJSONTRACE._serialized_start=50810 + _CHROMELEGACYJSONTRACE._serialized_end=50958 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50913 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50958 + _CHROMEEVENTBUNDLE._serialized_start=50961 + _CHROMEEVENTBUNDLE._serialized_end=51256 + _CHROMETRIGGER._serialized_start=51258 + _CHROMETRIGGER._serialized_end=51339 + _V8STRING._serialized_start=51341 + _V8STRING._serialized_end=51427 + _INTERNEDV8STRING._serialized_start=51429 + _INTERNEDV8STRING._serialized_end=51536 + _INTERNEDV8JSSCRIPT._serialized_start=51539 + _INTERNEDV8JSSCRIPT._serialized_end=51864 + _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51734 + _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51864 + _INTERNEDV8WASMSCRIPT._serialized_start=51866 + _INTERNEDV8WASMSCRIPT._serialized_end=51953 + _INTERNEDV8JSFUNCTION._serialized_start=51956 + _INTERNEDV8JSFUNCTION._serialized_end=53065 + _INTERNEDV8JSFUNCTION_KIND._serialized_start=52183 + _INTERNEDV8JSFUNCTION_KIND._serialized_end=53065 + _INTERNEDV8ISOLATE._serialized_start=53068 + _INTERNEDV8ISOLATE._serialized_end=53395 + _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53276 + _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53395 + _V8JSCODE._serialized_start=53398 + _V8JSCODE._serialized_end=53760 + _V8JSCODE_TIER._serialized_start=53624 + _V8JSCODE_TIER._serialized_end=53744 + _V8INTERNALCODE._serialized_start=53763 + _V8INTERNALCODE._serialized_end=54244 + _V8INTERNALCODE_TYPE._serialized_start=53986 + _V8INTERNALCODE_TYPE._serialized_end=54244 + _V8WASMCODE._serialized_start=54247 + _V8WASMCODE._serialized_end=54570 + _V8WASMCODE_TIER._serialized_start=54509 + _V8WASMCODE_TIER._serialized_end=54570 + _V8REGEXPCODE._serialized_start=54573 + _V8REGEXPCODE._serialized_end=54749 + _V8CODEMOVE._serialized_start=54752 + _V8CODEMOVE._serialized_end=54977 + _V8CODEDEFAULTS._serialized_start=54979 + _V8CODEDEFAULTS._serialized_end=55008 + _CLOCKSNAPSHOT._serialized_start=55011 + _CLOCKSNAPSHOT._serialized_end=55413 + _CLOCKSNAPSHOT_CLOCK._serialized_start=55143 + _CLOCKSNAPSHOT_CLOCK._serialized_end=55413 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55242 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55413 + _CSWITCHETWEVENT._serialized_start=55416 + _CSWITCHETWEVENT._serialized_end=57034 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55992 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56737 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56739 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56790 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56793 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56928 + _READYTHREADETWEVENT._serialized_start=57037 + _READYTHREADETWEVENT._serialized_end=57557 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57296 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57384 + _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57386 + _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57508 + _MEMINFOETWEVENT._serialized_start=57560 + _MEMINFOETWEVENT._serialized_end=57960 + _FILEIOCREATEETWEVENT._serialized_start=57963 + _FILEIOCREATEETWEVENT._serialized_end=58127 + _FILEIODIRENUMETWEVENT._serialized_start=58130 + _FILEIODIRENUMETWEVENT._serialized_end=58298 + _FILEIOINFOETWEVENT._serialized_start=58301 + _FILEIOINFOETWEVENT._serialized_end=58431 + _FILEIOREADWRITEETWEVENT._serialized_start=58434 + _FILEIOREADWRITEETWEVENT._serialized_end=58580 + _FILEIOSIMPLEOPETWEVENT._serialized_start=58582 + _FILEIOSIMPLEOPETWEVENT._serialized_end=58676 + _FILEIOOPENDETWEVENT._serialized_start=58678 + _FILEIOOPENDETWEVENT._serialized_end=58755 + _ETWTRACEEVENT._serialized_start=58758 + _ETWTRACEEVENT._serialized_end=59403 + _ETWTRACEEVENTBUNDLE._serialized_start=59405 + _ETWTRACEEVENTBUNDLE._serialized_end=59486 + _EVDEVEVENT._serialized_start=59489 + _EVDEVEVENT._serialized_end=59675 + _EVDEVEVENT_INPUTEVENT._serialized_start=59585 + _EVDEVEVENT_INPUTEVENT._serialized_end=59666 + _FILEDESCRIPTORSET._serialized_start=59677 + _FILEDESCRIPTORSET._serialized_end=59748 + _FILEDESCRIPTORPROTO._serialized_start=59751 + _FILEDESCRIPTORPROTO._serialized_end=60070 + _DESCRIPTORPROTO._serialized_start=60073 + _DESCRIPTORPROTO._serialized_end=60539 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60484 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60527 + _UNINTERPRETEDOPTION._serialized_start=60542 + _UNINTERPRETEDOPTION._serialized_end=60828 + _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60777 + _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60828 + _FIELDOPTIONS._serialized_start=60830 + _FIELDOPTIONS._serialized_end=60929 + _FIELDDESCRIPTORPROTO._serialized_start=60932 + _FIELDDESCRIPTORPROTO._serialized_end=61619 + _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61234 + _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61544 + _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61546 + _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61613 + _ONEOFDESCRIPTORPROTO._serialized_start=61621 + _ONEOFDESCRIPTORPROTO._serialized_end=61705 + _ENUMDESCRIPTORPROTO._serialized_start=61708 + _ENUMDESCRIPTORPROTO._serialized_end=61836 + _ENUMVALUEDESCRIPTORPROTO._serialized_start=61838 + _ENUMVALUEDESCRIPTORPROTO._serialized_end=61900 + _ONEOFOPTIONS._serialized_start=61902 + _ONEOFOPTIONS._serialized_end=61935 + _EXTENSIONDESCRIPTOR._serialized_start=61937 + _EXTENSIONDESCRIPTOR._serialized_end=62017 + _INODEFILEMAP._serialized_start=62020 + _INODEFILEMAP._serialized_end=62284 + _INODEFILEMAP_ENTRY._serialized_start=62138 + _INODEFILEMAP_ENTRY._serialized_end=62284 + _INODEFILEMAP_ENTRY_TYPE._serialized_start=62240 + _INODEFILEMAP_ENTRY_TYPE._serialized_end=62284 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62286 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62363 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62366 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62508 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62510 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62588 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62591 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62734 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62736 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62810 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62812 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62920 + _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62923 + _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63112 + _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63115 + _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63264 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63266 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63322 + _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63324 + _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63442 + _BINDERLOCKFTRACEEVENT._serialized_start=63444 + _BINDERLOCKFTRACEEVENT._serialized_end=63480 + _BINDERLOCKEDFTRACEEVENT._serialized_start=63482 + _BINDERLOCKEDFTRACEEVENT._serialized_end=63520 + _BINDERUNLOCKFTRACEEVENT._serialized_start=63522 + _BINDERUNLOCKFTRACEEVENT._serialized_end=63560 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63562 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63687 + _BINDERCOMMANDFTRACEEVENT._serialized_start=63689 + _BINDERCOMMANDFTRACEEVENT._serialized_end=63728 + _BINDERRETURNFTRACEEVENT._serialized_start=63730 + _BINDERRETURNFTRACEEVENT._serialized_end=63768 + _BLOCKRQISSUEFTRACEEVENT._serialized_start=63771 + _BLOCKRQISSUEFTRACEEVENT._serialized_end=63900 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63902 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=64008 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=64010 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64113 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64115 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64221 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64223 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64330 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64332 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64434 + _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64436 + _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64561 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64563 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64635 + _BLOCKGETRQFTRACEEVENT._serialized_start=64637 + _BLOCKGETRQFTRACEEVENT._serialized_end=64736 + _BLOCKPLUGFTRACEEVENT._serialized_start=64738 + _BLOCKPLUGFTRACEEVENT._serialized_end=64774 + _BLOCKRQABORTFTRACEEVENT._serialized_start=64776 + _BLOCKRQABORTFTRACEEVENT._serialized_end=64892 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64895 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65029 + _BLOCKRQINSERTFTRACEEVENT._serialized_start=65032 + _BLOCKRQINSERTFTRACEEVENT._serialized_end=65162 + _BLOCKRQREMAPFTRACEEVENT._serialized_start=65165 + _BLOCKRQREMAPFTRACEEVENT._serialized_end=65306 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65308 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65426 + _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65428 + _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65529 + _BLOCKSPLITFTRACEEVENT._serialized_start=65531 + _BLOCKSPLITFTRACEEVENT._serialized_end=65631 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65633 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65705 + _BLOCKUNPLUGFTRACEEVENT._serialized_start=65707 + _BLOCKUNPLUGFTRACEEVENT._serialized_end=65760 + _BLOCKIOSTARTFTRACEEVENT._serialized_start=65763 + _BLOCKIOSTARTFTRACEEVENT._serialized_end=65908 + _BLOCKIODONEFTRACEEVENT._serialized_start=65911 + _BLOCKIODONEFTRACEEVENT._serialized_end=66055 + _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66058 + _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66200 + _CGROUPMKDIRFTRACEEVENT._serialized_start=66202 + _CGROUPMKDIRFTRACEEVENT._serialized_end=66296 + _CGROUPREMOUNTFTRACEEVENT._serialized_start=66298 + _CGROUPREMOUNTFTRACEEVENT._serialized_end=66369 + _CGROUPRMDIRFTRACEEVENT._serialized_start=66371 + _CGROUPRMDIRFTRACEEVENT._serialized_end=66465 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66468 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66613 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66615 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66690 + _CGROUPRELEASEFTRACEEVENT._serialized_start=66692 + _CGROUPRELEASEFTRACEEVENT._serialized_end=66788 + _CGROUPRENAMEFTRACEEVENT._serialized_start=66790 + _CGROUPRENAMEFTRACEEVENT._serialized_end=66885 + _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66887 + _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66960 + _CLKENABLEFTRACEEVENT._serialized_start=66962 + _CLKENABLEFTRACEEVENT._serialized_end=66998 + _CLKDISABLEFTRACEEVENT._serialized_start=67000 + _CLKDISABLEFTRACEEVENT._serialized_end=67037 + _CLKSETRATEFTRACEEVENT._serialized_start=67039 + _CLKSETRATEFTRACEEVENT._serialized_end=67090 + _CMAALLOCSTARTFTRACEEVENT._serialized_start=67092 + _CMAALLOCSTARTFTRACEEVENT._serialized_end=67162 + _CMAALLOCINFOFTRACEEVENT._serialized_start=67165 + _CMAALLOCINFOFTRACEEVENT._serialized_end=67361 + _CMAALLOCFINISHFTRACEEVENT._serialized_start=67363 + _CMAALLOCFINISHFTRACEEVENT._serialized_end=67478 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67480 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67601 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67604 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67748 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67751 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67888 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67891 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68030 + _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68033 + _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68168 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68170 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68257 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68259 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68374 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68376 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68494 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68496 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68548 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68550 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68664 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68666 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68743 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68745 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68832 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68834 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68937 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68939 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69055 + _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69057 + _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69134 + _CPUHPEXITFTRACEEVENT._serialized_start=69136 + _CPUHPEXITFTRACEEVENT._serialized_end=69212 + _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69214 + _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69297 + _CPUHPENTERFTRACEEVENT._serialized_start=69299 + _CPUHPENTERFTRACEEVENT._serialized_end=69377 + _CPUHPLATENCYFTRACEEVENT._serialized_start=69379 + _CPUHPLATENCYFTRACEEVENT._serialized_end=69459 + _CPUHPPAUSEFTRACEEVENT._serialized_start=69461 + _CPUHPPAUSEFTRACEEVENT._serialized_end=69548 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69551 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69721 + _DCVSHFREQFTRACEEVENT._serialized_start=69723 + _DCVSHFREQFTRACEEVENT._serialized_end=69772 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69774 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69893 + _DMAFENCEINITFTRACEEVENT._serialized_start=69895 + _DMAFENCEINITFTRACEEVENT._serialized_end=69986 + _DMAFENCEEMITFTRACEEVENT._serialized_start=69988 + _DMAFENCEEMITFTRACEEVENT._serialized_end=70079 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70081 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70176 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70178 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70274 + _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70276 + _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70370 + _DMAHEAPSTATFTRACEEVENT._serialized_start=70372 + _DMAHEAPSTATFTRACEEVENT._serialized_end=70449 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70452 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70581 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70583 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70648 + _DPUDSIRXFTRACEEVENT._serialized_start=70650 + _DPUDSIRXFTRACEEVENT._serialized_end=70700 + _DPUDSITXFTRACEEVENT._serialized_start=70702 + _DPUDSITXFTRACEEVENT._serialized_end=70785 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70787 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70875 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70877 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70959 + _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70961 + _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71048 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71050 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71127 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71130 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71292 + _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71295 + _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71487 + _DWC3CTRLREQFTRACEEVENT._serialized_start=71489 + _DWC3CTRLREQFTRACEEVENT._serialized_end=71615 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71618 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71777 + _DWC3EPQUEUEFTRACEEVENT._serialized_start=71780 + _DWC3EPQUEUEFTRACEEVENT._serialized_end=71937 + _DWC3EVENTFTRACEEVENT._serialized_start=71939 + _DWC3EVENTFTRACEEVENT._serialized_end=72007 + _DWC3FREEREQUESTFTRACEEVENT._serialized_start=72010 + _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72171 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72173 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72296 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72299 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72504 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72507 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72711 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72713 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72790 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72793 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72957 + _DWC3PREPARETRBFTRACEEVENT._serialized_start=72960 + _DWC3PREPARETRBFTRACEEVENT._serialized_end=73151 + _DWC3READLFTRACEEVENT._serialized_start=73153 + _DWC3READLFTRACEEVENT._serialized_end=73233 + _DWC3WRITELFTRACEEVENT._serialized_start=73235 + _DWC3WRITELFTRACEEVENT._serialized_end=73316 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73318 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73414 + _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73416 + _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73511 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73513 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73603 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73605 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73673 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73675 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73773 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73776 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73969 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73971 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74054 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74056 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74137 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74139 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74224 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74227 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74429 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74432 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74600 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74603 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74831 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74834 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75041 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75043 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75146 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75148 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75242 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75244 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75350 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75352 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75423 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75425 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75518 + _EXT4DROPINODEFTRACEEVENT._serialized_start=75520 + _EXT4DROPINODEFTRACEEVENT._serialized_end=75586 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75588 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75701 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75703 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75789 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75792 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75920 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75922 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76036 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76038 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76114 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76117 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76250 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76252 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76336 + _EXT4ESSHRINKFTRACEEVENT._serialized_start=76338 + _EXT4ESSHRINKFTRACEEVENT._serialized_end=76451 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76453 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76535 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76537 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76623 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76625 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76709 + _EXT4EVICTINODEFTRACEEVENT._serialized_start=76711 + _EXT4EVICTINODEFTRACEEVENT._serialized_end=76779 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76782 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76931 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76934 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77133 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77136 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77295 + _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77297 + _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77377 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77379 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77463 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77465 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77567 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77570 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77714 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77716 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77814 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77816 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77916 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77919 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78112 + _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78114 + _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78179 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78182 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78368 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78370 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78467 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78469 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78582 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78584 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78682 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78685 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78822 + _EXT4FORGETFTRACEEVENT._serialized_start=78824 + _EXT4FORGETFTRACEEVENT._serialized_end=78923 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78925 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79037 + _EXT4FREEINODEFTRACEEVENT._serialized_start=79039 + _EXT4FREEINODEFTRACEEVENT._serialized_end=79147 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79149 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79274 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79276 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79369 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79371 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79473 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79476 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79620 + _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79622 + _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79705 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79707 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79811 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79814 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79943 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79945 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=80023 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80025 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80139 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80141 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80244 + _EXT4LOADINODEFTRACEEVENT._serialized_start=80246 + _EXT4LOADINODEFTRACEEVENT._serialized_end=80298 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80300 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80360 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80362 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80431 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80433 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80490 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80492 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80554 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80556 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80625 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80627 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80736 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80738 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80847 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80849 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80930 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80932 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=81021 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=81024 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81414 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81416 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81537 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81539 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81657 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81660 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81886 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81888 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=82009 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=82011 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82106 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82108 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82190 + _EXT4READPAGEFTRACEEVENT._serialized_start=82192 + _EXT4READPAGEFTRACEEVENT._serialized_end=82258 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82260 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82329 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82332 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82532 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82535 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82712 + _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82714 + _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82783 + _EXT4SYNCFSFTRACEEVENT._serialized_start=82785 + _EXT4SYNCFSFTRACEEVENT._serialized_end=82835 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82837 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82946 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82948 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83056 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83058 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83130 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83132 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83203 + _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83205 + _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83289 + _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83291 + _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83357 + _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83359 + _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83453 + _EXT4WRITEENDFTRACEEVENT._serialized_start=83455 + _EXT4WRITEENDFTRACEEVENT._serialized_end=83548 + _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83550 + _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83617 + _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83620 + _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83844 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83847 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=84009 + _EXT4ZERORANGEFTRACEEVENT._serialized_start=84011 + _EXT4ZERORANGEFTRACEEVENT._serialized_end=84106 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84108 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84208 + _F2FSEVICTINODEFTRACEEVENT._serialized_start=84211 + _F2FSEVICTINODEFTRACEEVENT._serialized_end=84353 + _F2FSFALLOCATEFTRACEEVENT._serialized_start=84356 + _F2FSFALLOCATEFTRACEEVENT._serialized_end=84494 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84496 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84615 + _F2FSGETVICTIMFTRACEEVENT._serialized_start=84618 + _F2FSGETVICTIMFTRACEEVENT._serialized_end=84824 + _F2FSIGETFTRACEEVENT._serialized_start=84827 + _F2FSIGETFTRACEEVENT._serialized_end=84963 + _F2FSIGETEXITFTRACEEVENT._serialized_start=84965 + _F2FSIGETEXITFTRACEEVENT._serialized_end=85029 + _F2FSNEWINODEFTRACEEVENT._serialized_start=85031 + _F2FSNEWINODEFTRACEEVENT._serialized_end=85095 + _F2FSREADPAGEFTRACEEVENT._serialized_start=85098 + _F2FSREADPAGEFTRACEEVENT._serialized_end=85241 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85243 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85322 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85325 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85455 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85457 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85559 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85562 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85707 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85709 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85831 + _F2FSSYNCFSFTRACEEVENT._serialized_start=85833 + _F2FSSYNCFSFTRACEEVENT._serialized_end=85898 + _F2FSTRUNCATEFTRACEEVENT._serialized_start=85901 + _F2FSTRUNCATEFTRACEEVENT._serialized_end=86041 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86043 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86149 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86151 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86225 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86227 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86333 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86335 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86446 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86448 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86527 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86529 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86615 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86617 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86709 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86711 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86784 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86786 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86890 + _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86892 + _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86990 + _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86992 + _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87058 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87061 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87192 + _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87194 + _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87288 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87290 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87383 + _F2FSWRITEENDFTRACEEVENT._serialized_start=87385 + _F2FSWRITEENDFTRACEEVENT._serialized_end=87478 + _F2FSIOSTATFTRACEEVENT._serialized_start=87481 + _F2FSIOSTATFTRACEEVENT._serialized_end=87906 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87909 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88492 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88494 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88584 + _F2FSGCBEGINFTRACEEVENT._serialized_start=88587 + _F2FSGCBEGINFTRACEEVENT._serialized_end=88857 + _F2FSGCENDFTRACEEVENT._serialized_start=88860 + _F2FSGCENDFTRACEEVENT._serialized_end=89088 + _FASTRPCDMASTATFTRACEEVENT._serialized_start=89090 + _FASTRPCDMASTATFTRACEEVENT._serialized_end=89168 + _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89170 + _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89238 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89240 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89339 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89341 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89410 + _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89412 + _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89534 + _FENCEINITFTRACEEVENT._serialized_start=89536 + _FENCEINITFTRACEEVENT._serialized_end=89624 + _FENCEDESTROYFTRACEEVENT._serialized_start=89626 + _FENCEDESTROYFTRACEEVENT._serialized_end=89717 + _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89719 + _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89815 + _FENCESIGNALEDFTRACEEVENT._serialized_start=89817 + _FENCESIGNALEDFTRACEEVENT._serialized_end=89909 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89911 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=90019 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=90021 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90134 + _DOSYSOPENFTRACEEVENT._serialized_start=90136 + _DOSYSOPENFTRACEEVENT._serialized_end=90205 + _OPENEXECFTRACEEVENT._serialized_start=90207 + _OPENEXECFTRACEEVENT._serialized_end=90246 + _PRINTFTRACEEVENT._serialized_start=90248 + _PRINTFTRACEEVENT._serialized_end=90291 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90293 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90349 + _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90351 + _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90458 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90460 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90548 + _GENERICFTRACEEVENT._serialized_start=90551 + _GENERICFTRACEEVENT._serialized_end=90745 + _GENERICFTRACEEVENT_FIELD._serialized_start=90651 + _GENERICFTRACEEVENT_FIELD._serialized_end=90745 + _KPROBEEVENT._serialized_start=90748 + _KPROBEEVENT._serialized_end=90938 + _KPROBEEVENT_KPROBETYPE._serialized_start=90832 + _KPROBEEVENT_KPROBETYPE._serialized_end=90938 + _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90940 + _GOOGLEICCEVENTFTRACEEVENT._serialized_end=91001 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=91003 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91064 + _GPUMEMTOTALFTRACEEVENT._serialized_start=91066 + _GPUMEMTOTALFTRACEEVENT._serialized_end=91133 + _DRMSCHEDJOBFTRACEEVENT._serialized_start=91135 + _DRMSCHEDJOBFTRACEEVENT._serialized_end=91257 + _DRMRUNJOBFTRACEEVENT._serialized_start=91259 + _DRMRUNJOBFTRACEEVENT._serialized_end=91379 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91381 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91427 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91429 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91531 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91533 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91605 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91608 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91768 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91771 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91929 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91931 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92040 + _HYPENTERFTRACEEVENT._serialized_start=92042 + _HYPENTERFTRACEEVENT._serialized_end=92063 + _HYPEXITFTRACEEVENT._serialized_start=92065 + _HYPEXITFTRACEEVENT._serialized_end=92085 + _HOSTHCALLFTRACEEVENT._serialized_start=92087 + _HOSTHCALLFTRACEEVENT._serialized_end=92138 + _HOSTSMCFTRACEEVENT._serialized_start=92140 + _HOSTSMCFTRACEEVENT._serialized_end=92191 + _HOSTMEMABORTFTRACEEVENT._serialized_start=92193 + _HOSTMEMABORTFTRACEEVENT._serialized_end=92245 + _HOSTFFACALLFTRACEEVENT._serialized_start=92248 + _HOSTFFACALLFTRACEEVENT._serialized_end=92383 + _IOMMUIDMAPFTRACEEVENT._serialized_start=92385 + _IOMMUIDMAPFTRACEEVENT._serialized_end=92448 + _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92450 + _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92505 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92507 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92568 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92570 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92631 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92633 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92663 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92665 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92738 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92740 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92805 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92807 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92869 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92871 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92902 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92904 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92958 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92960 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=93011 + _I2CREADFTRACEEVENT._serialized_start=93013 + _I2CREADFTRACEEVENT._serialized_end=93111 + _I2CWRITEFTRACEEVENT._serialized_start=93113 + _I2CWRITEFTRACEEVENT._serialized_end=93225 + _I2CRESULTFTRACEEVENT._serialized_start=93227 + _I2CRESULTFTRACEEVENT._serialized_end=93299 + _I2CREPLYFTRACEEVENT._serialized_start=93301 + _I2CREPLYFTRACEEVENT._serialized_end=93413 + _SMBUSREADFTRACEEVENT._serialized_start=93415 + _SMBUSREADFTRACEEVENT._serialized_end=93521 + _SMBUSWRITEFTRACEEVENT._serialized_start=93523 + _SMBUSWRITEFTRACEEVENT._serialized_end=93643 + _SMBUSRESULTFTRACEEVENT._serialized_start=93646 + _SMBUSRESULTFTRACEEVENT._serialized_end=93787 + _SMBUSREPLYFTRACEEVENT._serialized_start=93789 + _SMBUSREPLYFTRACEEVENT._serialized_end=93909 + _IONSTATFTRACEEVENT._serialized_start=93911 + _IONSTATFTRACEEVENT._serialized_end=93988 + _IPIENTRYFTRACEEVENT._serialized_start=93990 + _IPIENTRYFTRACEEVENT._serialized_end=94027 + _IPIEXITFTRACEEVENT._serialized_start=94029 + _IPIEXITFTRACEEVENT._serialized_end=94065 + _IPIRAISEFTRACEEVENT._serialized_start=94067 + _IPIRAISEFTRACEEVENT._serialized_end=94125 + _SOFTIRQENTRYFTRACEEVENT._serialized_start=94127 + _SOFTIRQENTRYFTRACEEVENT._serialized_end=94165 + _SOFTIRQEXITFTRACEEVENT._serialized_start=94167 + _SOFTIRQEXITFTRACEEVENT._serialized_end=94204 + _SOFTIRQRAISEFTRACEEVENT._serialized_start=94206 + _SOFTIRQRAISEFTRACEEVENT._serialized_end=94244 + _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94246 + _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94318 + _IRQHANDLEREXITFTRACEEVENT._serialized_start=94320 + _IRQHANDLEREXITFTRACEEVENT._serialized_end=94373 + _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94375 + _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94419 + _LOCALTIMEREXITFTRACEEVENT._serialized_start=94421 + _LOCALTIMEREXITFTRACEEVENT._serialized_end=94464 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94466 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94529 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94531 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94644 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94647 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94896 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94898 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94993 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94996 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95337 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95339 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95404 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95406 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95472 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95474 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95541 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95543 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95606 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95608 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95672 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95674 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95739 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95741 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95792 + _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95794 + _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95877 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95879 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95981 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95983 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96087 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96089 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96201 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96204 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96332 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96335 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96467 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96469 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96583 + _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96585 + _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96628 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96630 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96725 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96727 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96824 + _IONPREFETCHINGFTRACEEVENT._serialized_start=96826 + _IONPREFETCHINGFTRACEEVENT._serialized_end=96866 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96868 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96959 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96961 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97054 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97056 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97154 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97156 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97256 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97258 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97340 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97342 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97426 + _KFREEFTRACEEVENT._serialized_start=97428 + _KFREEFTRACEEVENT._serialized_end=97478 + _KMALLOCFTRACEEVENT._serialized_start=97480 + _KMALLOCFTRACEEVENT._serialized_end=97591 + _KMALLOCNODEFTRACEEVENT._serialized_start=97594 + _KMALLOCNODEFTRACEEVENT._serialized_end=97723 + _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97725 + _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97843 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97846 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97982 + _KMEMCACHEFREEFTRACEEVENT._serialized_start=97984 + _KMEMCACHEFREEFTRACEEVENT._serialized_end=98042 + _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98044 + _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98086 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98088 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98132 + _MIGRATERETRYFTRACEEVENT._serialized_start=98134 + _MIGRATERETRYFTRACEEVENT._serialized_end=98174 + _MMPAGEALLOCFTRACEEVENT._serialized_start=98176 + _MMPAGEALLOCFTRACEEVENT._serialized_end=98282 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98285 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98471 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98473 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98570 + _MMPAGEFREEFTRACEEVENT._serialized_start=98572 + _MMPAGEFREEFTRACEEVENT._serialized_end=98637 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98639 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98710 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98712 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98803 + _RSSSTATFTRACEEVENT._serialized_start=98805 + _RSSSTATFTRACEEVENT._serialized_end=98884 + _IONHEAPSHRINKFTRACEEVENT._serialized_start=98886 + _IONHEAPSHRINKFTRACEEVENT._serialized_end=98969 + _IONHEAPGROWFTRACEEVENT._serialized_start=98971 + _IONHEAPGROWFTRACEEVENT._serialized_end=99052 + _IONBUFFERCREATEFTRACEEVENT._serialized_start=99054 + _IONBUFFERCREATEFTRACEEVENT._serialized_end=99109 + _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99111 + _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99167 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99170 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99323 + _DMABUFRSSSTATFTRACEEVENT._serialized_start=99325 + _DMABUFRSSSTATFTRACEEVENT._serialized_end=99398 + _KVMACCESSFAULTFTRACEEVENT._serialized_start=99400 + _KVMACCESSFAULTFTRACEEVENT._serialized_end=99440 + _KVMACKIRQFTRACEEVENT._serialized_start=99442 + _KVMACKIRQFTRACEEVENT._serialized_end=99494 + _KVMAGEHVAFTRACEEVENT._serialized_start=99496 + _KVMAGEHVAFTRACEEVENT._serialized_end=99546 + _KVMAGEPAGEFTRACEEVENT._serialized_start=99548 + _KVMAGEPAGEFTRACEEVENT._serialized_end=99632 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99634 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99684 + _KVMARMSETDREG32FTRACEEVENT._serialized_start=99686 + _KVMARMSETDREG32FTRACEEVENT._serialized_end=99743 + _KVMARMSETREGSETFTRACEEVENT._serialized_start=99745 + _KVMARMSETREGSETFTRACEEVENT._serialized_end=99800 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99802 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99866 + _KVMENTRYFTRACEEVENT._serialized_start=99868 + _KVMENTRYFTRACEEVENT._serialized_end=99906 + _KVMEXITFTRACEEVENT._serialized_start=99908 + _KVMEXITFTRACEEVENT._serialized_end=99974 + _KVMFPUFTRACEEVENT._serialized_start=99976 + _KVMFPUFTRACEEVENT._serialized_end=100009 + _KVMGETTIMERMAPFTRACEEVENT._serialized_start=100011 + _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100122 + _KVMGUESTFAULTFTRACEEVENT._serialized_start=100124 + _KVMGUESTFAULTFTRACEEVENT._serialized_end=100208 + _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100210 + _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100251 + _KVMHVCARM64FTRACEEVENT._serialized_start=100253 + _KVMHVCARM64FTRACEEVENT._serialized_end=100319 + _KVMIRQLINEFTRACEEVENT._serialized_start=100321 + _KVMIRQLINEFTRACEEVENT._serialized_end=100408 + _KVMMMIOFTRACEEVENT._serialized_start=100410 + _KVMMMIOFTRACEEVENT._serialized_end=100483 + _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100485 + _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100558 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100560 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100624 + _KVMSETIRQFTRACEEVENT._serialized_start=100626 + _KVMSETIRQFTRACEEVENT._serialized_end=100699 + _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100701 + _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100740 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100742 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100801 + _KVMSYSACCESSFTRACEEVENT._serialized_start=100804 + _KVMSYSACCESSFTRACEEVENT._serialized_end=100943 + _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100945 + _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100984 + _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100986 + _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101054 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101056 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101109 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101111 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101190 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101192 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101268 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101270 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101345 + _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101347 + _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101417 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101419 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101476 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101478 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101523 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101525 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101594 + _KVMWFXARM64FTRACEEVENT._serialized_start=101596 + _KVMWFXARM64FTRACEEVENT._serialized_end=101653 + _TRAPREGFTRACEEVENT._serialized_start=101655 + _TRAPREGFTRACEEVENT._serialized_end=101739 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101741 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101819 + _LOWMEMORYKILLFTRACEEVENT._serialized_start=101821 + _LOWMEMORYKILLFTRACEEVENT._serialized_end=101937 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101939 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102052 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102054 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102143 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102145 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102262 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102264 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102387 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102389 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102510 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102512 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102634 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102636 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102761 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102763 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102886 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102888 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102980 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102982 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103072 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103074 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103182 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103184 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103283 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103285 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103385 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103387 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103483 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103485 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103587 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103589 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103687 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103689 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103786 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103788 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103887 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103889 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103976 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103978 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104061 + _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104063 + _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104145 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104147 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104247 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104249 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104344 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104346 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104432 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104434 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104528 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104530 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104623 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104625 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104715 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104717 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104808 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104810 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104905 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104907 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104994 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104996 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105088 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105090 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105179 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105181 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105270 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105272 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105359 + _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105361 + _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105425 + _MDPCOMMITFTRACEEVENT._serialized_start=105427 + _MDPCOMMITFTRACEEVENT._serialized_end=105517 + _MDPPERFSETOTFTRACEEVENT._serialized_start=105519 + _MDPPERFSETOTFTRACEEVENT._serialized_end=105610 + _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105613 + _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105881 + _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105883 + _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105966 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105968 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106068 + _MDPCOMPAREBWFTRACEEVENT._serialized_start=106071 + _MDPCOMPAREBWFTRACEEVENT._serialized_end=106235 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106237 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106349 + _MDPSSPPSETFTRACEEVENT._serialized_start=106352 + _MDPSSPPSETFTRACEEVENT._serialized_end=106617 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106619 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106684 + _MDPMISRCRCFTRACEEVENT._serialized_start=106686 + _MDPMISRCRCFTRACEEVENT._serialized_end=106759 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106761 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106886 + _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106888 + _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106966 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106968 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=107013 + _MDPMIXERUPDATEFTRACEEVENT._serialized_start=107015 + _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107061 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107064 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107224 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107226 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107298 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107300 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107369 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107372 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107578 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107580 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107661 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107663 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107711 + _MMEVENTRECORDFTRACEEVENT._serialized_start=107713 + _MMEVENTRECORDFTRACEEVENT._serialized_end=107802 + _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107804 + _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107876 + _NETDEVXMITFTRACEEVENT._serialized_start=107878 + _NETDEVXMITFTRACEEVENT._serialized_end=107957 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107960 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108339 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108341 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108385 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108387 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108467 + _MARKVICTIMFTRACEEVENT._serialized_start=108469 + _MARKVICTIMFTRACEEVENT._serialized_end=108505 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108507 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108569 + _DSIRXFTRACEEVENT._serialized_start=108571 + _DSIRXFTRACEEVENT._serialized_end=108618 + _DSITXFTRACEEVENT._serialized_start=108620 + _DSITXFTRACEEVENT._serialized_end=108682 + _PANELWRITEGENERICFTRACEEVENT._serialized_start=108684 + _PANELWRITEGENERICFTRACEEVENT._serialized_end=108811 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108814 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109202 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109204 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109252 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109254 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109338 + _CPUFREQUENCYFTRACEEVENT._serialized_start=109340 + _CPUFREQUENCYFTRACEEVENT._serialized_end=109396 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109398 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109481 + _CPUIDLEFTRACEEVENT._serialized_start=109483 + _CPUIDLEFTRACEEVENT._serialized_end=109534 + _CLOCKENABLEFTRACEEVENT._serialized_start=109536 + _CLOCKENABLEFTRACEEVENT._serialized_end=109605 + _CLOCKDISABLEFTRACEEVENT._serialized_start=109607 + _CLOCKDISABLEFTRACEEVENT._serialized_end=109677 + _CLOCKSETRATEFTRACEEVENT._serialized_start=109679 + _CLOCKSETRATEFTRACEEVENT._serialized_end=109749 + _SUSPENDRESUMEFTRACEEVENT._serialized_start=109751 + _SUSPENDRESUMEFTRACEEVENT._serialized_end=109821 + _GPUFREQUENCYFTRACEEVENT._serialized_start=109823 + _GPUFREQUENCYFTRACEEVENT._serialized_end=109879 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109881 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109943 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109945 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=110009 + _GPUWORKPERIODFTRACEEVENT._serialized_start=110012 + _GPUWORKPERIODFTRACEEVENT._serialized_end=110145 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110147 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110260 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110262 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110341 + _CONSOLEFTRACEEVENT._serialized_start=110343 + _CONSOLEFTRACEEVENT._serialized_end=110376 + _SYSENTERFTRACEEVENT._serialized_start=110378 + _SYSENTERFTRACEEVENT._serialized_end=110425 + _SYSEXITFTRACEEVENT._serialized_start=110427 + _SYSEXITFTRACEEVENT._serialized_end=110472 + _REGULATORDISABLEFTRACEEVENT._serialized_start=110474 + _REGULATORDISABLEFTRACEEVENT._serialized_end=110517 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110519 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110570 + _REGULATORENABLEFTRACEEVENT._serialized_start=110572 + _REGULATORENABLEFTRACEEVENT._serialized_end=110614 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110616 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110666 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110668 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110715 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110717 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110789 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110791 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110858 + _RPMSTATUSFTRACEEVENT._serialized_start=110860 + _RPMSTATUSFTRACEEVENT._serialized_end=110912 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110914 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111039 + _SCHEDSWITCHFTRACEEVENT._serialized_start=111042 + _SCHEDSWITCHFTRACEEVENT._serialized_end=111198 + _SCHEDWAKEUPFTRACEEVENT._serialized_start=111200 + _SCHEDWAKEUPFTRACEEVENT._serialized_end=111302 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111304 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111381 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111383 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111464 + _SCHEDWAKINGFTRACEEVENT._serialized_start=111466 + _SCHEDWAKINGFTRACEEVENT._serialized_end=111568 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111570 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111675 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111677 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111754 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111756 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111840 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111842 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111951 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111953 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=112023 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112025 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112081 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112083 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112153 + _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112155 + _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112243 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112246 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112574 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112577 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112714 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112716 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112840 + _SCMCALLSTARTFTRACEEVENT._serialized_start=112842 + _SCMCALLSTARTFTRACEEVENT._serialized_end=112908 + _SCMCALLENDFTRACEEVENT._serialized_start=112910 + _SCMCALLENDFTRACEEVENT._serialized_end=112933 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112935 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113056 + _SDESDEEVTLOGFTRACEEVENT._serialized_start=113058 + _SDESDEEVTLOGFTRACEEVENT._serialized_end=113132 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113135 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113315 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113318 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113601 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113603 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113719 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113721 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113821 + _SIGNALDELIVERFTRACEEVENT._serialized_start=113823 + _SIGNALDELIVERFTRACEEVENT._serialized_end=113894 + _SIGNALGENERATEFTRACEEVENT._serialized_start=113896 + _SIGNALGENERATEFTRACEEVENT._serialized_end=114008 + _KFREESKBFTRACEEVENT._serialized_start=114010 + _KFREESKBFTRACEEVENT._serialized_end=114084 + _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114087 + _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114262 + _SYNCPTFTRACEEVENT._serialized_start=114264 + _SYNCPTFTRACEEVENT._serialized_end=114316 + _SYNCTIMELINEFTRACEEVENT._serialized_start=114318 + _SYNCTIMELINEFTRACEEVENT._serialized_end=114372 + _SYNCWAITFTRACEEVENT._serialized_start=114374 + _SYNCWAITFTRACEEVENT._serialized_end=114440 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114442 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114530 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114532 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114580 + _ZEROFTRACEEVENT._serialized_start=114582 + _ZEROFTRACEEVENT._serialized_end=114655 + _TASKNEWTASKFTRACEEVENT._serialized_start=114657 + _TASKNEWTASKFTRACEEVENT._serialized_end=114752 + _TASKRENAMEFTRACEEVENT._serialized_start=114754 + _TASKRENAMEFTRACEEVENT._serialized_end=114847 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114850 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114987 + _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114989 + _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115087 + _CDEVUPDATEFTRACEEVENT._serialized_start=115089 + _CDEVUPDATEFTRACEEVENT._serialized_end=115142 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115145 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115373 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115376 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115538 + _HRTIMERSTARTFTRACEEVENT._serialized_start=115540 + _HRTIMERSTARTFTRACEEVENT._serialized_end=115652 + _HRTIMERCANCELFTRACEEVENT._serialized_start=115654 + _HRTIMERCANCELFTRACEEVENT._serialized_end=115697 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115699 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115778 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115780 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115827 + _TIMERSTARTFTRACEEVENT._serialized_start=115830 + _TIMERSTARTFTRACEEVENT._serialized_end=115974 + _TIMERCANCELFTRACEEVENT._serialized_start=115976 + _TIMERCANCELFTRACEEVENT._serialized_end=116015 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=116017 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116109 + _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116111 + _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116154 + _TRUSTYSMCFTRACEEVENT._serialized_start=116156 + _TRUSTYSMCFTRACEEVENT._serialized_end=116226 + _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116228 + _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116267 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116269 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116345 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116347 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116392 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116394 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116466 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116468 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116573 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116575 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116619 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116621 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116682 + _TRUSTYIRQFTRACEEVENT._serialized_start=116684 + _TRUSTYIRQFTRACEEVENT._serialized_end=116719 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116721 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116804 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116806 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116878 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116880 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116954 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116957 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117087 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117089 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117166 + _TRUSTYIPCREADFTRACEEVENT._serialized_start=117168 + _TRUSTYIPCREADFTRACEEVENT._serialized_end=117226 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117228 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117342 + _TRUSTYIPCRXFTRACEEVENT._serialized_start=117344 + _TRUSTYIPCRXFTRACEEVENT._serialized_end=117416 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117418 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117489 + _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117492 + _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117678 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117680 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117741 + _V4L2QBUFFTRACEEVENT._serialized_start=117744 + _V4L2QBUFFTRACEEVENT._serialized_end=118155 + _V4L2DQBUFFTRACEEVENT._serialized_start=118158 + _V4L2DQBUFFTRACEEVENT._serialized_end=118570 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118573 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118943 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118946 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119315 + _VB2V4L2QBUFFTRACEEVENT._serialized_start=119318 + _VB2V4L2QBUFFTRACEEVENT._serialized_end=119684 + _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119687 + _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120054 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120057 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120222 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120225 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120393 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120395 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120455 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120457 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120521 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120524 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120720 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120723 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120923 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120925 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=121021 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=121023 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121082 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121084 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121156 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121158 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121203 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121206 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121439 + _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121442 + _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121587 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121589 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121637 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121639 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121703 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121705 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121771 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121773 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121885 + _FTRACEEVENT._serialized_start=121889 + _FTRACEEVENT._serialized_end=166792 + _FTRACECPUSTATS._serialized_start=166795 + _FTRACECPUSTATS._serialized_end=166988 + _FTRACEKPROBESTATS._serialized_start=166990 + _FTRACEKPROBESTATS._serialized_end=167039 + _FTRACESTATS._serialized_start=167042 + _FTRACESTATS._serialized_end=167625 + _FTRACESTATS_PHASE._serialized_start=167563 + _FTRACESTATS_PHASE._serialized_end=167625 + _FTRACEEVENTBUNDLE._serialized_start=167628 + _FTRACEEVENTBUNDLE._serialized_end=168708 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168166 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168532 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168534 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168618 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168620 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168708 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168710 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168772 + _GENERICKERNELTASKSTATEEVENT._serialized_start=168775 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169193 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168936 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169193 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169195 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169252 + _GENERICKERNELPROCESSTREE._serialized_start=169255 + _GENERICKERNELPROCESSTREE._serialized_end=169547 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169420 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169492 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169494 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169547 + _GPUCOUNTEREVENT._serialized_start=169550 + _GPUCOUNTEREVENT._serialized_end=169801 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169715 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169801 + _GPULOG._serialized_start=169804 + _GPULOG._serialized_end=170064 + _GPULOG_SEVERITY._serialized_start=169901 + _GPULOG_SEVERITY._serialized_end=170064 + _GPURENDERSTAGEEVENT._serialized_start=170067 + _GPURENDERSTAGEEVENT._serialized_end=170986 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170576 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170616 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170619 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170980 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170887 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170930 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170932 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170980 + _INTERNEDGRAPHICSCONTEXT._serialized_start=170989 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171159 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171101 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171159 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171162 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171400 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171341 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171400 + _VULKANAPIEVENT._serialized_start=171403 + _VULKANAPIEVENT._serialized_end=171846 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171589 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171703 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171706 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171837 + _VULKANMEMORYEVENTANNOTATION._serialized_start=171848 + _VULKANMEMORYEVENTANNOTATION._serialized_end=171970 + _VULKANMEMORYEVENT._serialized_start=171973 + _VULKANMEMORYEVENT._serialized_end=172845 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172458 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172591 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172593 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172710 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172713 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172845 + _INTERNEDSTRING._serialized_start=172847 + _INTERNEDSTRING._serialized_end=172889 + _LINE._serialized_start=172891 + _LINE._serialized_end=172967 + _ADDRESSSYMBOLS._serialized_start=172969 + _ADDRESSSYMBOLS._serialized_end=173040 + _MODULESYMBOLS._serialized_start=173042 + _MODULESYMBOLS._serialized_end=173147 + _MAPPING._serialized_start=173150 + _MAPPING._serialized_end=173306 + _FRAME._serialized_start=173308 + _FRAME._serialized_end=173390 + _CALLSTACK._serialized_start=173392 + _CALLSTACK._serialized_end=173435 + _HISTOGRAMNAME._serialized_start=173437 + _HISTOGRAMNAME._serialized_end=173479 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173481 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173571 + _DEBUGANNOTATION._serialized_start=173574 + _DEBUGANNOTATION._serialized_end=174514 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174086 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174466 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174416 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174466 + _DEBUGANNOTATIONNAME._serialized_start=174516 + _DEBUGANNOTATIONNAME._serialized_end=174564 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174566 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174623 + _LOGMESSAGE._serialized_start=174626 + _LOGMESSAGE._serialized_end=174885 + _LOGMESSAGE_PRIORITY._serialized_start=174740 + _LOGMESSAGE_PRIORITY._serialized_end=174885 + _LOGMESSAGEBODY._serialized_start=174887 + _LOGMESSAGEBODY._serialized_end=174930 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174932 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=175009 + _SOURCELOCATION._serialized_start=175011 + _SOURCELOCATION._serialized_end=175103 + _CHROMEACTIVEPROCESSES._serialized_start=175105 + _CHROMEACTIVEPROCESSES._serialized_end=175141 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175144 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175510 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175270 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175510 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175513 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176600 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176404 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176594 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176603 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180313 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176794 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178093 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177333 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177494 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177497 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177644 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177647 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177891 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177894 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178093 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178096 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180313 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179990 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180174 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180177 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180307 + _BEGINFRAMEARGS._serialized_start=180316 + _BEGINFRAMEARGS._serialized_end=180870 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180692 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180854 + _BEGINIMPLFRAMEARGS._serialized_start=180873 + _BEGINIMPLFRAMEARGS._serialized_end=181449 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181190 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181383 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181385 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181441 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181451 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181574 + _BEGINFRAMESOURCESTATE._serialized_start=181577 + _BEGINFRAMESOURCESTATE._serialized_end=181722 + _COMPOSITORTIMINGHISTORY._serialized_start=181725 + _COMPOSITORTIMINGHISTORY._serialized_end=182105 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182107 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182169 + _CHROMEFRAMEREPORTER._serialized_start=182172 + _CHROMEFRAMEREPORTER._serialized_end=183292 + _CHROMEFRAMEREPORTER_STATE._serialized_start=182887 + _CHROMEFRAMEREPORTER_STATE._serialized_end=182996 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182998 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183124 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183126 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183249 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183251 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183288 + _CHROMEKEYEDSERVICE._serialized_start=183294 + _CHROMEKEYEDSERVICE._serialized_end=183328 + _CHROMELATENCYINFO._serialized_start=183331 + _CHROMELATENCYINFO._serialized_end=185113 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183660 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183773 + _CHROMELATENCYINFO_STEP._serialized_start=183776 + _CHROMELATENCYINFO_STEP._serialized_end=184178 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184181 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184938 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184941 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185113 + _CHROMELEGACYIPC._serialized_start=185116 + _CHROMELEGACYIPC._serialized_end=186090 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185228 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186090 + _CHROMEMESSAGEPUMP._serialized_start=186092 + _CHROMEMESSAGEPUMP._serialized_end=186176 + _CHROMEMOJOEVENTINFO._serialized_start=186179 + _CHROMEMOJOEVENTINFO._serialized_end=186383 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186385 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186511 + _CHROMEUSEREVENT._serialized_start=186513 + _CHROMEUSEREVENT._serialized_end=186567 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186569 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186649 + _SCREENSHOT._serialized_start=186651 + _SCREENSHOT._serialized_end=186682 + _TASKEXECUTION._serialized_start=186684 + _TASKEXECUTION._serialized_end=186724 + _TRACKEVENT._serialized_start=186727 + _TRACKEVENT._serialized_end=189894 + _TRACKEVENT_LEGACYEVENT._serialized_start=188916 + _TRACKEVENT_LEGACYEVENT._serialized_end=189598 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189407 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189487 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189489 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189586 + _TRACKEVENT_TYPE._serialized_start=189600 + _TRACKEVENT_TYPE._serialized_end=189706 + _TRACKEVENTDEFAULTS._serialized_start=189896 + _TRACKEVENTDEFAULTS._serialized_end=190013 + _EVENTCATEGORY._serialized_start=190015 + _EVENTCATEGORY._serialized_end=190057 + _EVENTNAME._serialized_start=190059 + _EVENTNAME._serialized_end=190097 + _INTERNEDDATA._serialized_start=190100 + _INTERNEDDATA._serialized_end=192215 + _MEMORYTRACKERSNAPSHOT._serialized_start=192218 + _MEMORYTRACKERSNAPSHOT._serialized_end=193226 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192433 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193151 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192647 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193058 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192831 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193058 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=193012 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193058 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193060 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193151 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193153 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193226 + _PERFETTOMETATRACE._serialized_start=193229 + _PERFETTOMETATRACE._serialized_end=193774 + _PERFETTOMETATRACE_ARG._serialized_start=193586 + _PERFETTOMETATRACE_ARG._serialized_end=193713 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193715 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193759 + _TRACINGSERVICEEVENT._serialized_start=193777 + _TRACINGSERVICEEVENT._serialized_end=194427 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194255 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194413 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194352 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194413 + _ANDROIDENERGYCONSUMER._serialized_start=194429 + _ANDROIDENERGYCONSUMER._serialized_end=194525 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194527 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194626 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194629 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194949 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194896 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194949 + _ENTITYSTATERESIDENCY._serialized_start=194952 + _ENTITYSTATERESIDENCY._serialized_end=195395 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195133 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195235 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195238 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195395 + _BATTERYCOUNTERS._serialized_start=195398 + _BATTERYCOUNTERS._serialized_end=195575 + _POWERRAILS._serialized_start=195578 + _POWERRAILS._serialized_end=195905 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=195744 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=195838 + _POWERRAILS_ENERGYDATA._serialized_start=195840 + _POWERRAILS_ENERGYDATA._serialized_end=195905 + _OBFUSCATEDMEMBER._serialized_start=195907 + _OBFUSCATEDMEMBER._serialized_end=195977 + _OBFUSCATEDCLASS._serialized_start=195980 + _OBFUSCATEDCLASS._serialized_end=196175 + _DEOBFUSCATIONMAPPING._serialized_start=196178 + _DEOBFUSCATIONMAPPING._serialized_end=196306 + _HEAPGRAPHROOT._serialized_start=196309 + _HEAPGRAPHROOT._serialized_end=196747 + _HEAPGRAPHROOT_TYPE._serialized_start=196407 + _HEAPGRAPHROOT_TYPE._serialized_end=196747 + _HEAPGRAPHTYPE._serialized_start=196750 + _HEAPGRAPHTYPE._serialized_end=197234 + _HEAPGRAPHTYPE_KIND._serialized_start=196972 + _HEAPGRAPHTYPE_KIND._serialized_end=197234 + _HEAPGRAPHOBJECT._serialized_start=197237 + _HEAPGRAPHOBJECT._serialized_end=197693 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197579 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197679 + _HEAPGRAPH._serialized_start=197696 + _HEAPGRAPH._serialized_end=198016 + _PROFILEPACKET._serialized_start=198019 + _PROFILEPACKET._serialized_end=199487 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198327 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198513 + _PROFILEPACKET_HISTOGRAM._serialized_start=198516 + _PROFILEPACKET_HISTOGRAM._serialized_end=198659 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198595 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198659 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198662 + _PROFILEPACKET_PROCESSSTATS._serialized_end=198884 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198887 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199487 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199382 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199487 + _STREAMINGALLOCATION._serialized_start=199490 + _STREAMINGALLOCATION._serialized_end=199647 + _STREAMINGFREE._serialized_start=199649 + _STREAMINGFREE._serialized_end=199723 + _STREAMINGPROFILEPACKET._serialized_start=199725 + _STREAMINGPROFILEPACKET._serialized_end=199826 + _PROFILING._serialized_start=199829 + _PROFILING._serialized_end=200485 + _PROFILING_CPUMODE._serialized_start=199842 + _PROFILING_CPUMODE._serialized_end=199966 + _PROFILING_STACKUNWINDERROR._serialized_start=199969 + _PROFILING_STACKUNWINDERROR._serialized_end=200485 + _PERFSAMPLE._serialized_start=200488 + _PERFSAMPLE._serialized_end=201367 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=200912 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201132 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=201023 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201101 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201135 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201308 + _PERFSAMPLEDEFAULTS._serialized_start=201370 + _PERFSAMPLEDEFAULTS._serialized_end=201556 + _SMAPSENTRY._serialized_start=201559 + _SMAPSENTRY._serialized_end=201946 + _SMAPSPACKET._serialized_start=201948 + _SMAPSPACKET._serialized_end=202020 + _PROCESSSTATS._serialized_start=202023 + _PROCESSSTATS._serialized_end=202850 + _PROCESSSTATS_THREAD._serialized_start=202131 + _PROCESSSTATS_THREAD._serialized_end=202170 + _PROCESSSTATS_FDINFO._serialized_start=202172 + _PROCESSSTATS_FDINFO._serialized_end=202206 + _PROCESSSTATS_PROCESS._serialized_start=202209 + _PROCESSSTATS_PROCESS._serialized_end=202850 + _PROCESSTREE._serialized_start=202853 + _PROCESSTREE._serialized_end=203245 + _PROCESSTREE_THREAD._serialized_start=203013 + _PROCESSTREE_THREAD._serialized_end=203077 + _PROCESSTREE_PROCESS._serialized_start=203080 + _PROCESSTREE_PROCESS._serialized_end=203245 + _REMOTECLOCKSYNC._serialized_start=203248 + _REMOTECLOCKSYNC._serialized_end=203459 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203337 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203459 + _ATOM._serialized_start=203461 + _ATOM._serialized_end=203467 + _STATSDATOM._serialized_start=203469 + _STATSDATOM._serialized_end=203543 + _SYSSTATS._serialized_start=203546 + _SYSSTATS._serialized_end=205570 + _SYSSTATS_MEMINFOVALUE._serialized_start=204334 + _SYSSTATS_MEMINFOVALUE._serialized_end=204410 + _SYSSTATS_VMSTATVALUE._serialized_start=204412 + _SYSSTATS_VMSTATVALUE._serialized_end=204486 + _SYSSTATS_CPUTIMES._serialized_start=204489 + _SYSSTATS_CPUTIMES._serialized_end=204669 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204671 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204715 + _SYSSTATS_DEVFREQVALUE._serialized_start=204717 + _SYSSTATS_DEVFREQVALUE._serialized_end=204759 + _SYSSTATS_BUDDYINFO._serialized_start=204761 + _SYSSTATS_BUDDYINFO._serialized_end=204821 + _SYSSTATS_DISKSTAT._serialized_start=204824 + _SYSSTATS_DISKSTAT._serialized_end=205039 + _SYSSTATS_PSISAMPLE._serialized_start=205042 + _SYSSTATS_PSISAMPLE._serialized_end=205350 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205141 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205350 + _SYSSTATS_THERMALZONE._serialized_start=205352 + _SYSSTATS_THERMALZONE._serialized_end=205407 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205409 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205464 + _SYSSTATS_CPUIDLESTATE._serialized_start=205466 + _SYSSTATS_CPUIDLESTATE._serialized_end=205570 + _CPUINFO._serialized_start=205573 + _CPUINFO._serialized_end=205905 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205628 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205738 + _CPUINFO_CPU._serialized_start=205741 + _CPUINFO_CPU._serialized_end=205905 + _TESTEVENT._serialized_start=205908 + _TESTEVENT._serialized_end=206287 + _TESTEVENT_TESTPAYLOAD._serialized_start=206045 + _TESTEVENT_TESTPAYLOAD._serialized_end=206287 + _TRACEPACKETDEFAULTS._serialized_start=206290 + _TRACEPACKETDEFAULTS._serialized_end=206532 + _TRACEUUID._serialized_start=206534 + _TRACEUUID._serialized_end=206571 + _PROCESSDESCRIPTOR._serialized_start=206574 + _PROCESSDESCRIPTOR._serialized_end=207061 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206836 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207061 + _TRACKEVENTRANGEOFINTEREST._serialized_start=207063 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207108 + _THREADDESCRIPTOR._serialized_start=207111 + _THREADDESCRIPTOR._serialized_end=207867 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207396 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207867 + _CHROMEPROCESSDESCRIPTOR._serialized_start=207870 + _CHROMEPROCESSDESCRIPTOR._serialized_end=208025 + _CHROMETHREADDESCRIPTOR._serialized_start=208027 + _CHROMETHREADDESCRIPTOR._serialized_end=208125 + _COUNTERDESCRIPTOR._serialized_start=208128 + _COUNTERDESCRIPTOR._serialized_end=208583 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208387 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208498 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208500 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208583 + _TRACKDESCRIPTOR._serialized_start=208586 + _TRACKDESCRIPTOR._serialized_end=209638 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209310 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209396 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209399 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209585 + _TRANSLATIONTABLE._serialized_start=209641 + _TRANSLATIONTABLE._serialized_end=210134 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210137 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210311 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210262 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210311 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210314 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210505 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210450 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210505 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210508 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210863 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210755 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210808 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210810 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210863 + _SLICENAMETRANSLATIONTABLE._serialized_start=210866 + _SLICENAMETRANSLATIONTABLE._serialized_end=211060 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211000 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211060 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211063 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211271 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211000 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211060 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211274 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211438 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210262 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210311 + _TRIGGER._serialized_start=211440 + _TRIGGER._serialized_end=211547 + _UISTATE._serialized_start=211550 + _UISTATE._serialized_end=211747 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211683 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=211747 + _TRACEPACKET._serialized_start=211750 + _TRACEPACKET._serialized_end=217934 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217747 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217851 + _TRACE._serialized_start=217936 + _TRACE._serialized_end=217989 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index fb0046fd278..7cf6279218b 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -11090,7 +11090,7 @@ class LayerCreationArgs(_message.Message): def __init__(self, layer_id: _Optional[int] = ..., name: _Optional[str] = ..., flags: _Optional[int] = ..., parent_id: _Optional[int] = ..., mirror_from_id: _Optional[int] = ..., add_to_root: bool = ..., layer_stack_to_mirror: _Optional[int] = ...) -> None: ... class LayerProto(_message.Message): - __slots__ = ["active_buffer", "app_id", "background_blur_radius", "background_blur_scale", "barrier_layer", "blur_regions", "border_settings", "bounds", "box_shadow_settings", "buffer_transform", "children", "client_drawn_corner_radii", "color", "color_transform", "corner_radii", "corner_radius", "corner_radius_crop", "crop", "curr_frame", "damage_region", "dataspace", "destination_frame", "effective_scaling_mode", "effective_transform", "final_crop", "flags", "hwc_composition_type", "hwc_crop", "hwc_frame", "hwc_transform", "id", "input_window_info", "invalidate", "is_opaque", "is_protected", "is_relative_of", "is_trusted_overlay", "layer_stack", "metadata", "name", "original_id", "owner_uid", "parent", "pixel_format", "position", "queued_frames", "refresh_pending", "relatives", "requested_color", "requested_corner_radii", "requested_corner_radius", "requested_position", "requested_transform", "screen_bounds", "shadow_radius", "size", "source_bounds", "system_content_priority", "transform", "transparent_region", "trusted_overlay", "type", "visible_region", "window_type", "z", "z_order_relative_of"] + __slots__ = ["active_buffer", "app_id", "background_blur_radius", "background_blur_scale", "barrier_layer", "blur_regions", "border_settings", "bounds", "box_shadow_settings", "buffer_transform", "children", "client_drawn_corner_radii", "color", "color_transform", "corner_radii", "corner_radius", "corner_radius_crop", "crop", "curr_frame", "damage_region", "dataspace", "destination_frame", "effective_radii", "effective_scaling_mode", "effective_transform", "final_crop", "flags", "hwc_composition_type", "hwc_crop", "hwc_frame", "hwc_transform", "id", "input_window_info", "invalidate", "is_opaque", "is_protected", "is_relative_of", "is_trusted_overlay", "layer_stack", "metadata", "name", "original_id", "owner_uid", "parent", "pixel_format", "position", "queued_frames", "refresh_pending", "relatives", "requested_color", "requested_corner_radii", "requested_corner_radius", "requested_position", "requested_transform", "screen_bounds", "shadow_radius", "size", "source_bounds", "system_content_priority", "transform", "transparent_region", "trusted_overlay", "type", "visible_region", "window_type", "z", "z_order_relative_of"] class MetadataEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -11120,6 +11120,7 @@ class LayerProto(_message.Message): DAMAGE_REGION_FIELD_NUMBER: _ClassVar[int] DATASPACE_FIELD_NUMBER: _ClassVar[int] DESTINATION_FRAME_FIELD_NUMBER: _ClassVar[int] + EFFECTIVE_RADII_FIELD_NUMBER: _ClassVar[int] EFFECTIVE_SCALING_MODE_FIELD_NUMBER: _ClassVar[int] EFFECTIVE_TRANSFORM_FIELD_NUMBER: _ClassVar[int] FINAL_CROP_FIELD_NUMBER: _ClassVar[int] @@ -11186,6 +11187,7 @@ class LayerProto(_message.Message): damage_region: RegionProto dataspace: str destination_frame: RectProto + effective_radii: float effective_scaling_mode: int effective_transform: TransformProto final_crop: RectProto @@ -11230,7 +11232,7 @@ class LayerProto(_message.Message): window_type: int z: int z_order_relative_of: int - def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., children: _Optional[_Iterable[int]] = ..., relatives: _Optional[_Iterable[int]] = ..., type: _Optional[str] = ..., transparent_region: _Optional[_Union[RegionProto, _Mapping]] = ..., visible_region: _Optional[_Union[RegionProto, _Mapping]] = ..., damage_region: _Optional[_Union[RegionProto, _Mapping]] = ..., layer_stack: _Optional[int] = ..., z: _Optional[int] = ..., position: _Optional[_Union[PositionProto, _Mapping]] = ..., requested_position: _Optional[_Union[PositionProto, _Mapping]] = ..., size: _Optional[_Union[SizeProto, _Mapping]] = ..., crop: _Optional[_Union[RectProto, _Mapping]] = ..., final_crop: _Optional[_Union[RectProto, _Mapping]] = ..., is_opaque: bool = ..., invalidate: bool = ..., dataspace: _Optional[str] = ..., pixel_format: _Optional[str] = ..., color: _Optional[_Union[ColorProto, _Mapping]] = ..., requested_color: _Optional[_Union[ColorProto, _Mapping]] = ..., flags: _Optional[int] = ..., transform: _Optional[_Union[TransformProto, _Mapping]] = ..., requested_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., parent: _Optional[int] = ..., z_order_relative_of: _Optional[int] = ..., active_buffer: _Optional[_Union[ActiveBufferProto, _Mapping]] = ..., queued_frames: _Optional[int] = ..., refresh_pending: bool = ..., hwc_frame: _Optional[_Union[RectProto, _Mapping]] = ..., hwc_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., hwc_transform: _Optional[int] = ..., window_type: _Optional[int] = ..., app_id: _Optional[int] = ..., hwc_composition_type: _Optional[_Union[HwcCompositionType, str]] = ..., is_protected: bool = ..., curr_frame: _Optional[int] = ..., barrier_layer: _Optional[_Iterable[_Union[BarrierLayerProto, _Mapping]]] = ..., buffer_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., effective_scaling_mode: _Optional[int] = ..., corner_radius: _Optional[float] = ..., metadata: _Optional[_Mapping[int, str]] = ..., effective_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., source_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., screen_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., input_window_info: _Optional[_Union[InputWindowInfoProto, _Mapping]] = ..., corner_radius_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., shadow_radius: _Optional[float] = ..., color_transform: _Optional[_Union[ColorTransformProto, _Mapping]] = ..., is_relative_of: bool = ..., background_blur_radius: _Optional[int] = ..., owner_uid: _Optional[int] = ..., blur_regions: _Optional[_Iterable[_Union[BlurRegion, _Mapping]]] = ..., is_trusted_overlay: bool = ..., requested_corner_radius: _Optional[float] = ..., destination_frame: _Optional[_Union[RectProto, _Mapping]] = ..., original_id: _Optional[int] = ..., trusted_overlay: _Optional[_Union[TrustedOverlay, str]] = ..., background_blur_scale: _Optional[float] = ..., corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., requested_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., client_drawn_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., system_content_priority: _Optional[int] = ..., box_shadow_settings: _Optional[_Union[BoxShadowSettings, _Mapping]] = ..., border_settings: _Optional[_Union[BorderSettings, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., children: _Optional[_Iterable[int]] = ..., relatives: _Optional[_Iterable[int]] = ..., type: _Optional[str] = ..., transparent_region: _Optional[_Union[RegionProto, _Mapping]] = ..., visible_region: _Optional[_Union[RegionProto, _Mapping]] = ..., damage_region: _Optional[_Union[RegionProto, _Mapping]] = ..., layer_stack: _Optional[int] = ..., z: _Optional[int] = ..., position: _Optional[_Union[PositionProto, _Mapping]] = ..., requested_position: _Optional[_Union[PositionProto, _Mapping]] = ..., size: _Optional[_Union[SizeProto, _Mapping]] = ..., crop: _Optional[_Union[RectProto, _Mapping]] = ..., final_crop: _Optional[_Union[RectProto, _Mapping]] = ..., is_opaque: bool = ..., invalidate: bool = ..., dataspace: _Optional[str] = ..., pixel_format: _Optional[str] = ..., color: _Optional[_Union[ColorProto, _Mapping]] = ..., requested_color: _Optional[_Union[ColorProto, _Mapping]] = ..., flags: _Optional[int] = ..., transform: _Optional[_Union[TransformProto, _Mapping]] = ..., requested_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., parent: _Optional[int] = ..., z_order_relative_of: _Optional[int] = ..., active_buffer: _Optional[_Union[ActiveBufferProto, _Mapping]] = ..., queued_frames: _Optional[int] = ..., refresh_pending: bool = ..., hwc_frame: _Optional[_Union[RectProto, _Mapping]] = ..., hwc_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., hwc_transform: _Optional[int] = ..., window_type: _Optional[int] = ..., app_id: _Optional[int] = ..., hwc_composition_type: _Optional[_Union[HwcCompositionType, str]] = ..., is_protected: bool = ..., curr_frame: _Optional[int] = ..., barrier_layer: _Optional[_Iterable[_Union[BarrierLayerProto, _Mapping]]] = ..., buffer_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., effective_scaling_mode: _Optional[int] = ..., corner_radius: _Optional[float] = ..., metadata: _Optional[_Mapping[int, str]] = ..., effective_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., source_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., screen_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., input_window_info: _Optional[_Union[InputWindowInfoProto, _Mapping]] = ..., corner_radius_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., shadow_radius: _Optional[float] = ..., color_transform: _Optional[_Union[ColorTransformProto, _Mapping]] = ..., is_relative_of: bool = ..., background_blur_radius: _Optional[int] = ..., owner_uid: _Optional[int] = ..., blur_regions: _Optional[_Iterable[_Union[BlurRegion, _Mapping]]] = ..., is_trusted_overlay: bool = ..., requested_corner_radius: _Optional[float] = ..., destination_frame: _Optional[_Union[RectProto, _Mapping]] = ..., original_id: _Optional[int] = ..., trusted_overlay: _Optional[_Union[TrustedOverlay, str]] = ..., background_blur_scale: _Optional[float] = ..., corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., requested_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., client_drawn_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., system_content_priority: _Optional[int] = ..., box_shadow_settings: _Optional[_Union[BoxShadowSettings, _Mapping]] = ..., border_settings: _Optional[_Union[BorderSettings, _Mapping]] = ..., effective_radii: _Optional[float] = ...) -> None: ... class LayerState(_message.Message): __slots__ = ["alpha", "api", "auto_refresh", "background_blur_radius", "background_blur_scale", "bg_color_alpha", "bg_color_dataspace", "blur_regions", "border_settings", "box_shadow_settings", "buffer_crop", "buffer_data", "change_frame_rate_strategy", "client_drawn_corner_radii", "color", "color_space_agnostic", "color_transform", "corner_radii", "corner_radius", "crop", "destination_frame", "drop_input_mode", "fixed_transform_hint", "flags", "frame_number", "frame_rate", "frame_rate_compatibility", "frame_rate_selection_priority", "h", "has_sideband_stream", "is_trusted_overlay", "layer_id", "layer_stack", "mask", "matrix", "parent_id", "relative_parent_id", "shadow_radius", "system_content_priority", "transform", "transform_to_display_inverse", "transparent_region", "trusted_overlay", "w", "what", "window_info_handle", "x", "y", "z"] From 4496cb2b6851d62de9a9cd3fca2884c33655e8b6 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Thu, 16 Oct 2025 19:07:07 +0100 Subject: [PATCH 102/370] ui: Tidy up logic in frames plugin around the experimental track (#3311) This change makes it so that each track gets its own clear definition. This might seem like duplication but it's much easier to see the properties of each track when each one is clearly laid out in full. --- ui/src/plugins/dev.perfetto.Frames/index.ts | 80 ++++++++++++--------- 1 file changed, 47 insertions(+), 33 deletions(-) diff --git a/ui/src/plugins/dev.perfetto.Frames/index.ts b/ui/src/plugins/dev.perfetto.Frames/index.ts index c53ecdf80ba..1d8e2fcaec4 100644 --- a/ui/src/plugins/dev.perfetto.Frames/index.ts +++ b/ui/src/plugins/dev.perfetto.Frames/index.ts @@ -30,10 +30,7 @@ import {Setting} from '../../public/settings'; import {z} from 'zod'; // Build a standardized URI for a frames track -function makeUri( - upid: number, - kind: 'expected_frames' | 'actual_frames' | 'actual_frames_experimental', -) { +function makeUri(upid: number, kind: string) { return `/process_${upid}/${kind}`; } @@ -55,10 +52,7 @@ export default class Frames implements PerfettoPlugin { async onTraceLoad(ctx: Trace): Promise { this.addExpectedFrames(ctx); - this.addActualFrames(ctx, false); - if (Frames.showExperimentalJankClassification.get()) { - this.addActualFrames(ctx, true); - } + this.addActualFrames(ctx); ctx.selection.registerAreaSelectionTab( createAggregationTab(ctx, new FrameSelectionAggregator(), 10), ); @@ -118,10 +112,7 @@ export default class Frames implements PerfettoPlugin { } } - async addActualFrames( - ctx: Trace, - useExperimentalTrack: boolean, - ): Promise { + async addActualFrames(ctx: Trace): Promise { const {engine} = ctx; const result = await engine.query(` with summary as ( @@ -146,44 +137,67 @@ export default class Frames implements PerfettoPlugin { trackIds: STR, maxDepth: NUM, }); + for (; it.valid(); it.next()) { const upid = it.upid; const rawTrackIds = it.trackIds; const trackIds = rawTrackIds.split(',').map((v) => Number(v)); const maxDepth = it.maxDepth; + const group = ctx.plugins + .getPlugin(ProcessThreadGroupsPlugin) + .getGroupForProcess(upid); - const uriKind = useExperimentalTrack - ? 'actual_frames_experimental' - : 'actual_frames'; - const trackKinds = [SLICE_TRACK_KIND]; - if (!useExperimentalTrack) { - trackKinds.push(ACTUAL_FRAMES_SLICE_TRACK_KIND); - } - const uri = makeUri(upid, uriKind); + // Standard actual frames track + const standardUri = makeUri(upid, 'actual_frames'); ctx.tracks.registerTrack({ - uri, + uri: standardUri, renderer: createActualFramesTrack( ctx, - uri, + standardUri, maxDepth, trackIds, - useExperimentalTrack, + false, ), tags: { upid, trackIds, - kinds: trackKinds, + kinds: [SLICE_TRACK_KIND, ACTUAL_FRAMES_SLICE_TRACK_KIND], }, }); - const group = ctx.plugins - .getPlugin(ProcessThreadGroupsPlugin) - .getGroupForProcess(upid); - const track = new TrackNode({ - uri, - name: 'Actual Timeline', - sortOrder: -50, - }); - group?.addChildInOrder(track); + group?.addChildInOrder( + new TrackNode({ + uri: standardUri, + name: 'Actual Timeline', + sortOrder: -50, + }), + ); + + // Experimental jank classification track (if enabled) + if (Frames.showExperimentalJankClassification.get()) { + const experimentalUri = makeUri(upid, 'actual_frames_experimental'); + ctx.tracks.registerTrack({ + uri: experimentalUri, + renderer: createActualFramesTrack( + ctx, + experimentalUri, + maxDepth, + trackIds, + true, + ), + tags: { + upid, + trackIds, + kinds: [SLICE_TRACK_KIND], + }, + }); + group?.addChildInOrder( + new TrackNode({ + uri: experimentalUri, + name: 'Actual Timeline (Experimental)', + sortOrder: -49, + }), + ); + } } } } From e5832a963fab16f412e0a7568506e855a174f2f6 Mon Sep 17 00:00:00 2001 From: Surbhi Kadam Date: Thu, 16 Oct 2025 15:14:56 -0400 Subject: [PATCH 103/370] Change effective_radii field to CornerRadiiProto (#3316) Bug 452472595 --- .../trace/android/surfaceflinger_layers.proto | 2 +- protos/perfetto/trace/perfetto_trace.proto | 2 +- .../perfetto/trace/perfetto_trace_pb2.py | 3692 ++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 4 +- 4 files changed, 1850 insertions(+), 1850 deletions(-) diff --git a/protos/perfetto/trace/android/surfaceflinger_layers.proto b/protos/perfetto/trace/android/surfaceflinger_layers.proto index 6ef7e47bd46..121f2d6459e 100644 --- a/protos/perfetto/trace/android/surfaceflinger_layers.proto +++ b/protos/perfetto/trace/android/surfaceflinger_layers.proto @@ -258,7 +258,7 @@ message LayerProto { optional BorderSettings border_settings = 66; // "True" corner radii of the layer computed by SurfaceFlinger. - optional float effective_radii = 67; + optional CornerRadiiProto effective_radii = 67; } message PositionProto { diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 4419de5cdd5..397c911fae0 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -6513,7 +6513,7 @@ message LayerProto { optional BorderSettings border_settings = 66; // "True" corner radii of the layer computed by SurfaceFlinger. - optional float effective_radii = 67; + optional CornerRadiiProto effective_radii = 67; } message PositionProto { diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 80ca1591d46..6820851a38e 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\xa8\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x12\x17\n\x0f\x65\x66\x66\x65\x63tive_radii\x18\x43 \x01(\x02\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\xcb\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x12:\n\x0f\x65\x66\x66\x65\x63tive_radii\x18\x43 \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -219,36 +219,36 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=217992 - _BUILTINCLOCK._serialized_end=218307 - _ANDROIDLOGID._serialized_start=218310 - _ANDROIDLOGID._serialized_end=218452 - _ANDROIDLOGPRIORITY._serialized_start=218455 - _ANDROIDLOGPRIORITY._serialized_end=218610 - _PROTOLOGLEVEL._serialized_start=218613 - _PROTOLOGLEVEL._serialized_end=218812 - _ATOMID._serialized_start=218816 - _ATOMID._serialized_end=264983 - _MEMINFOCOUNTERS._serialized_start=264986 - _MEMINFOCOUNTERS._serialized_end=265919 - _VMSTATCOUNTERS._serialized_start=265922 - _VMSTATCOUNTERS._serialized_end=271555 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271558 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271706 - _TRAFFICDIRECTION._serialized_start=271708 - _TRAFFICDIRECTION._serialized_end=271780 - _TRUSTEDOVERLAY._serialized_start=271782 - _TRUSTEDOVERLAY._serialized_end=271836 - _HWCCOMPOSITIONTYPE._serialized_start=271839 - _HWCCOMPOSITIONTYPE._serialized_end=272030 - _FTRACEPARSESTATUS._serialized_start=272033 - _FTRACEPARSESTATUS._serialized_end=272745 - _FTRACECLOCK._serialized_start=272748 - _FTRACECLOCK._serialized_end=272893 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272896 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273584 - _CHROMERAILMODE._serialized_start=273586 - _CHROMERAILMODE._serialized_end=273711 + _BUILTINCLOCK._serialized_start=218027 + _BUILTINCLOCK._serialized_end=218342 + _ANDROIDLOGID._serialized_start=218345 + _ANDROIDLOGID._serialized_end=218487 + _ANDROIDLOGPRIORITY._serialized_start=218490 + _ANDROIDLOGPRIORITY._serialized_end=218645 + _PROTOLOGLEVEL._serialized_start=218648 + _PROTOLOGLEVEL._serialized_end=218847 + _ATOMID._serialized_start=218851 + _ATOMID._serialized_end=265018 + _MEMINFOCOUNTERS._serialized_start=265021 + _MEMINFOCOUNTERS._serialized_end=265954 + _VMSTATCOUNTERS._serialized_start=265957 + _VMSTATCOUNTERS._serialized_end=271590 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271593 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271741 + _TRAFFICDIRECTION._serialized_start=271743 + _TRAFFICDIRECTION._serialized_end=271815 + _TRUSTEDOVERLAY._serialized_start=271817 + _TRUSTEDOVERLAY._serialized_end=271871 + _HWCCOMPOSITIONTYPE._serialized_start=271874 + _HWCCOMPOSITIONTYPE._serialized_end=272065 + _FTRACEPARSESTATUS._serialized_start=272068 + _FTRACEPARSESTATUS._serialized_end=272780 + _FTRACECLOCK._serialized_start=272783 + _FTRACECLOCK._serialized_end=272928 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272931 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273619 + _CHROMERAILMODE._serialized_start=273621 + _CHROMERAILMODE._serialized_end=273746 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 @@ -650,1819 +650,1819 @@ _DISPLAYPROTO._serialized_start=37941 _DISPLAYPROTO._serialized_end=38206 _LAYERPROTO._serialized_start=38209 - _LAYERPROTO._serialized_end=40937 - _LAYERPROTO_METADATAENTRY._serialized_start=40890 - _LAYERPROTO_METADATAENTRY._serialized_end=40937 - _POSITIONPROTO._serialized_start=40939 - _POSITIONPROTO._serialized_end=40976 - _FLOATRECTPROTO._serialized_start=40978 - _FLOATRECTPROTO._serialized_end=41052 - _CORNERRADIIPROTO._serialized_start=41054 - _CORNERRADIIPROTO._serialized_end=41120 - _ACTIVEBUFFERPROTO._serialized_start=41122 - _ACTIVEBUFFERPROTO._serialized_end=41219 - _BARRIERLAYERPROTO._serialized_start=41221 - _BARRIERLAYERPROTO._serialized_end=41274 - _TRANSACTIONTRACEFILE._serialized_start=41277 - _TRANSACTIONTRACEFILE._serialized_end=41512 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41438 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41512 - _TRANSACTIONTRACEENTRY._serialized_start=41515 - _TRANSACTIONTRACEENTRY._serialized_end=41917 - _DISPLAYINFO._serialized_start=41920 - _DISPLAYINFO._serialized_end=42254 - _LAYERCREATIONARGS._serialized_start=42257 - _LAYERCREATIONARGS._serialized_end=42418 - _TRANSFORM._serialized_start=42420 - _TRANSFORM._serialized_end=42511 - _TRANSACTIONBARRIER._serialized_start=42513 - _TRANSACTIONBARRIER._serialized_end=42570 - _TRANSACTIONSTATE._serialized_start=42573 - _TRANSACTIONSTATE._serialized_end=42930 - _LAYERSTATE._serialized_start=42933 - _LAYERSTATE._serialized_end=47625 - _LAYERSTATE_MATRIX22._serialized_start=44644 - _LAYERSTATE_MATRIX22._serialized_end=44710 - _LAYERSTATE_CORNERRADII._serialized_start=44712 - _LAYERSTATE_CORNERRADII._serialized_end=44773 - _LAYERSTATE_COLOR3._serialized_start=44775 - _LAYERSTATE_COLOR3._serialized_end=44816 - _LAYERSTATE_BUFFERDATA._serialized_start=44819 - _LAYERSTATE_BUFFERDATA._serialized_end=45607 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45035 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45146 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45149 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45607 - _LAYERSTATE_WINDOWINFO._serialized_start=45610 - _LAYERSTATE_WINDOWINFO._serialized_end=46024 - _LAYERSTATE_CHANGESLSB._serialized_start=46027 - _LAYERSTATE_CHANGESLSB._serialized_end=46787 - _LAYERSTATE_CHANGESMSB._serialized_start=46790 - _LAYERSTATE_CHANGESMSB._serialized_end=47410 - _LAYERSTATE_FLAGS._serialized_start=47413 - _LAYERSTATE_FLAGS._serialized_end=47575 - _LAYERSTATE_DROPINPUTMODE._serialized_start=47577 - _LAYERSTATE_DROPINPUTMODE._serialized_end=47625 - _DISPLAYSTATE._serialized_start=47628 - _DISPLAYSTATE._serialized_end=48031 - _DISPLAYSTATE_CHANGES._serialized_start=47884 - _DISPLAYSTATE_CHANGES._serialized_end=48031 - _WINSCOPEEXTENSIONS._serialized_start=48033 - _WINSCOPEEXTENSIONS._serialized_end=48059 - _CHROMEBENCHMARKMETADATA._serialized_start=48062 - _CHROMEBENCHMARKMETADATA._serialized_end=48304 - _CHROMEMETADATAPACKET._serialized_start=48307 - _CHROMEMETADATAPACKET._serialized_end=48586 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48546 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48586 - _BACKGROUNDTRACINGMETADATA._serialized_start=48589 - _BACKGROUNDTRACINGMETADATA._serialized_end=49634 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48805 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49634 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49109 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49215 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49218 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49496 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49363 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49496 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49499 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49634 - _CHROMETRACEDVALUE._serialized_start=49637 - _CHROMETRACEDVALUE._serialized_end=49976 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49943 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=49976 - _CHROMESTRINGTABLEENTRY._serialized_start=49978 - _CHROMESTRINGTABLEENTRY._serialized_end=50032 - _CHROMETRACEEVENT._serialized_start=50035 - _CHROMETRACEEVENT._serialized_end=50676 - _CHROMETRACEEVENT_ARG._serialized_start=50408 - _CHROMETRACEEVENT_ARG._serialized_end=50676 - _CHROMEMETADATA._serialized_start=50679 - _CHROMEMETADATA._serialized_end=50807 - _CHROMELEGACYJSONTRACE._serialized_start=50810 - _CHROMELEGACYJSONTRACE._serialized_end=50958 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50913 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50958 - _CHROMEEVENTBUNDLE._serialized_start=50961 - _CHROMEEVENTBUNDLE._serialized_end=51256 - _CHROMETRIGGER._serialized_start=51258 - _CHROMETRIGGER._serialized_end=51339 - _V8STRING._serialized_start=51341 - _V8STRING._serialized_end=51427 - _INTERNEDV8STRING._serialized_start=51429 - _INTERNEDV8STRING._serialized_end=51536 - _INTERNEDV8JSSCRIPT._serialized_start=51539 - _INTERNEDV8JSSCRIPT._serialized_end=51864 - _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51734 - _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51864 - _INTERNEDV8WASMSCRIPT._serialized_start=51866 - _INTERNEDV8WASMSCRIPT._serialized_end=51953 - _INTERNEDV8JSFUNCTION._serialized_start=51956 - _INTERNEDV8JSFUNCTION._serialized_end=53065 - _INTERNEDV8JSFUNCTION_KIND._serialized_start=52183 - _INTERNEDV8JSFUNCTION_KIND._serialized_end=53065 - _INTERNEDV8ISOLATE._serialized_start=53068 - _INTERNEDV8ISOLATE._serialized_end=53395 - _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53276 - _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53395 - _V8JSCODE._serialized_start=53398 - _V8JSCODE._serialized_end=53760 - _V8JSCODE_TIER._serialized_start=53624 - _V8JSCODE_TIER._serialized_end=53744 - _V8INTERNALCODE._serialized_start=53763 - _V8INTERNALCODE._serialized_end=54244 - _V8INTERNALCODE_TYPE._serialized_start=53986 - _V8INTERNALCODE_TYPE._serialized_end=54244 - _V8WASMCODE._serialized_start=54247 - _V8WASMCODE._serialized_end=54570 - _V8WASMCODE_TIER._serialized_start=54509 - _V8WASMCODE_TIER._serialized_end=54570 - _V8REGEXPCODE._serialized_start=54573 - _V8REGEXPCODE._serialized_end=54749 - _V8CODEMOVE._serialized_start=54752 - _V8CODEMOVE._serialized_end=54977 - _V8CODEDEFAULTS._serialized_start=54979 - _V8CODEDEFAULTS._serialized_end=55008 - _CLOCKSNAPSHOT._serialized_start=55011 - _CLOCKSNAPSHOT._serialized_end=55413 - _CLOCKSNAPSHOT_CLOCK._serialized_start=55143 - _CLOCKSNAPSHOT_CLOCK._serialized_end=55413 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55242 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55413 - _CSWITCHETWEVENT._serialized_start=55416 - _CSWITCHETWEVENT._serialized_end=57034 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=55992 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56737 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56739 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56790 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56793 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56928 - _READYTHREADETWEVENT._serialized_start=57037 - _READYTHREADETWEVENT._serialized_end=57557 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57296 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57384 - _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57386 - _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57508 - _MEMINFOETWEVENT._serialized_start=57560 - _MEMINFOETWEVENT._serialized_end=57960 - _FILEIOCREATEETWEVENT._serialized_start=57963 - _FILEIOCREATEETWEVENT._serialized_end=58127 - _FILEIODIRENUMETWEVENT._serialized_start=58130 - _FILEIODIRENUMETWEVENT._serialized_end=58298 - _FILEIOINFOETWEVENT._serialized_start=58301 - _FILEIOINFOETWEVENT._serialized_end=58431 - _FILEIOREADWRITEETWEVENT._serialized_start=58434 - _FILEIOREADWRITEETWEVENT._serialized_end=58580 - _FILEIOSIMPLEOPETWEVENT._serialized_start=58582 - _FILEIOSIMPLEOPETWEVENT._serialized_end=58676 - _FILEIOOPENDETWEVENT._serialized_start=58678 - _FILEIOOPENDETWEVENT._serialized_end=58755 - _ETWTRACEEVENT._serialized_start=58758 - _ETWTRACEEVENT._serialized_end=59403 - _ETWTRACEEVENTBUNDLE._serialized_start=59405 - _ETWTRACEEVENTBUNDLE._serialized_end=59486 - _EVDEVEVENT._serialized_start=59489 - _EVDEVEVENT._serialized_end=59675 - _EVDEVEVENT_INPUTEVENT._serialized_start=59585 - _EVDEVEVENT_INPUTEVENT._serialized_end=59666 - _FILEDESCRIPTORSET._serialized_start=59677 - _FILEDESCRIPTORSET._serialized_end=59748 - _FILEDESCRIPTORPROTO._serialized_start=59751 - _FILEDESCRIPTORPROTO._serialized_end=60070 - _DESCRIPTORPROTO._serialized_start=60073 - _DESCRIPTORPROTO._serialized_end=60539 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60484 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60527 - _UNINTERPRETEDOPTION._serialized_start=60542 - _UNINTERPRETEDOPTION._serialized_end=60828 - _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60777 - _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60828 - _FIELDOPTIONS._serialized_start=60830 - _FIELDOPTIONS._serialized_end=60929 - _FIELDDESCRIPTORPROTO._serialized_start=60932 - _FIELDDESCRIPTORPROTO._serialized_end=61619 - _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61234 - _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61544 - _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61546 - _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61613 - _ONEOFDESCRIPTORPROTO._serialized_start=61621 - _ONEOFDESCRIPTORPROTO._serialized_end=61705 - _ENUMDESCRIPTORPROTO._serialized_start=61708 - _ENUMDESCRIPTORPROTO._serialized_end=61836 - _ENUMVALUEDESCRIPTORPROTO._serialized_start=61838 - _ENUMVALUEDESCRIPTORPROTO._serialized_end=61900 - _ONEOFOPTIONS._serialized_start=61902 - _ONEOFOPTIONS._serialized_end=61935 - _EXTENSIONDESCRIPTOR._serialized_start=61937 - _EXTENSIONDESCRIPTOR._serialized_end=62017 - _INODEFILEMAP._serialized_start=62020 - _INODEFILEMAP._serialized_end=62284 - _INODEFILEMAP_ENTRY._serialized_start=62138 - _INODEFILEMAP_ENTRY._serialized_end=62284 - _INODEFILEMAP_ENTRY_TYPE._serialized_start=62240 - _INODEFILEMAP_ENTRY_TYPE._serialized_end=62284 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62286 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62363 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62366 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62508 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62510 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62588 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62591 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62734 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62736 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62810 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62812 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62920 - _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62923 - _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63112 - _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63115 - _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63264 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63266 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63322 - _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63324 - _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63442 - _BINDERLOCKFTRACEEVENT._serialized_start=63444 - _BINDERLOCKFTRACEEVENT._serialized_end=63480 - _BINDERLOCKEDFTRACEEVENT._serialized_start=63482 - _BINDERLOCKEDFTRACEEVENT._serialized_end=63520 - _BINDERUNLOCKFTRACEEVENT._serialized_start=63522 - _BINDERUNLOCKFTRACEEVENT._serialized_end=63560 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63562 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63687 - _BINDERCOMMANDFTRACEEVENT._serialized_start=63689 - _BINDERCOMMANDFTRACEEVENT._serialized_end=63728 - _BINDERRETURNFTRACEEVENT._serialized_start=63730 - _BINDERRETURNFTRACEEVENT._serialized_end=63768 - _BLOCKRQISSUEFTRACEEVENT._serialized_start=63771 - _BLOCKRQISSUEFTRACEEVENT._serialized_end=63900 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63902 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=64008 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=64010 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64113 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64115 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64221 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64223 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64330 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64332 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64434 - _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64436 - _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64561 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64563 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64635 - _BLOCKGETRQFTRACEEVENT._serialized_start=64637 - _BLOCKGETRQFTRACEEVENT._serialized_end=64736 - _BLOCKPLUGFTRACEEVENT._serialized_start=64738 - _BLOCKPLUGFTRACEEVENT._serialized_end=64774 - _BLOCKRQABORTFTRACEEVENT._serialized_start=64776 - _BLOCKRQABORTFTRACEEVENT._serialized_end=64892 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64895 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65029 - _BLOCKRQINSERTFTRACEEVENT._serialized_start=65032 - _BLOCKRQINSERTFTRACEEVENT._serialized_end=65162 - _BLOCKRQREMAPFTRACEEVENT._serialized_start=65165 - _BLOCKRQREMAPFTRACEEVENT._serialized_end=65306 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65308 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65426 - _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65428 - _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65529 - _BLOCKSPLITFTRACEEVENT._serialized_start=65531 - _BLOCKSPLITFTRACEEVENT._serialized_end=65631 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65633 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65705 - _BLOCKUNPLUGFTRACEEVENT._serialized_start=65707 - _BLOCKUNPLUGFTRACEEVENT._serialized_end=65760 - _BLOCKIOSTARTFTRACEEVENT._serialized_start=65763 - _BLOCKIOSTARTFTRACEEVENT._serialized_end=65908 - _BLOCKIODONEFTRACEEVENT._serialized_start=65911 - _BLOCKIODONEFTRACEEVENT._serialized_end=66055 - _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66058 - _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66200 - _CGROUPMKDIRFTRACEEVENT._serialized_start=66202 - _CGROUPMKDIRFTRACEEVENT._serialized_end=66296 - _CGROUPREMOUNTFTRACEEVENT._serialized_start=66298 - _CGROUPREMOUNTFTRACEEVENT._serialized_end=66369 - _CGROUPRMDIRFTRACEEVENT._serialized_start=66371 - _CGROUPRMDIRFTRACEEVENT._serialized_end=66465 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66468 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66613 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66615 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66690 - _CGROUPRELEASEFTRACEEVENT._serialized_start=66692 - _CGROUPRELEASEFTRACEEVENT._serialized_end=66788 - _CGROUPRENAMEFTRACEEVENT._serialized_start=66790 - _CGROUPRENAMEFTRACEEVENT._serialized_end=66885 - _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66887 - _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66960 - _CLKENABLEFTRACEEVENT._serialized_start=66962 - _CLKENABLEFTRACEEVENT._serialized_end=66998 - _CLKDISABLEFTRACEEVENT._serialized_start=67000 - _CLKDISABLEFTRACEEVENT._serialized_end=67037 - _CLKSETRATEFTRACEEVENT._serialized_start=67039 - _CLKSETRATEFTRACEEVENT._serialized_end=67090 - _CMAALLOCSTARTFTRACEEVENT._serialized_start=67092 - _CMAALLOCSTARTFTRACEEVENT._serialized_end=67162 - _CMAALLOCINFOFTRACEEVENT._serialized_start=67165 - _CMAALLOCINFOFTRACEEVENT._serialized_end=67361 - _CMAALLOCFINISHFTRACEEVENT._serialized_start=67363 - _CMAALLOCFINISHFTRACEEVENT._serialized_end=67478 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67480 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67601 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67604 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67748 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67751 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67888 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67891 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68030 - _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68033 - _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68168 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68170 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68257 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68259 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68374 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68376 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68494 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68496 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68548 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68550 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68664 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68666 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68743 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68745 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68832 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68834 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68937 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68939 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69055 - _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69057 - _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69134 - _CPUHPEXITFTRACEEVENT._serialized_start=69136 - _CPUHPEXITFTRACEEVENT._serialized_end=69212 - _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69214 - _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69297 - _CPUHPENTERFTRACEEVENT._serialized_start=69299 - _CPUHPENTERFTRACEEVENT._serialized_end=69377 - _CPUHPLATENCYFTRACEEVENT._serialized_start=69379 - _CPUHPLATENCYFTRACEEVENT._serialized_end=69459 - _CPUHPPAUSEFTRACEEVENT._serialized_start=69461 - _CPUHPPAUSEFTRACEEVENT._serialized_end=69548 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69551 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69721 - _DCVSHFREQFTRACEEVENT._serialized_start=69723 - _DCVSHFREQFTRACEEVENT._serialized_end=69772 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69774 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69893 - _DMAFENCEINITFTRACEEVENT._serialized_start=69895 - _DMAFENCEINITFTRACEEVENT._serialized_end=69986 - _DMAFENCEEMITFTRACEEVENT._serialized_start=69988 - _DMAFENCEEMITFTRACEEVENT._serialized_end=70079 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70081 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70176 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70178 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70274 - _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70276 - _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70370 - _DMAHEAPSTATFTRACEEVENT._serialized_start=70372 - _DMAHEAPSTATFTRACEEVENT._serialized_end=70449 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70452 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70581 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70583 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70648 - _DPUDSIRXFTRACEEVENT._serialized_start=70650 - _DPUDSIRXFTRACEEVENT._serialized_end=70700 - _DPUDSITXFTRACEEVENT._serialized_start=70702 - _DPUDSITXFTRACEEVENT._serialized_end=70785 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70787 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70875 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70877 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70959 - _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70961 - _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71048 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71050 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71127 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71130 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71292 - _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71295 - _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71487 - _DWC3CTRLREQFTRACEEVENT._serialized_start=71489 - _DWC3CTRLREQFTRACEEVENT._serialized_end=71615 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71618 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71777 - _DWC3EPQUEUEFTRACEEVENT._serialized_start=71780 - _DWC3EPQUEUEFTRACEEVENT._serialized_end=71937 - _DWC3EVENTFTRACEEVENT._serialized_start=71939 - _DWC3EVENTFTRACEEVENT._serialized_end=72007 - _DWC3FREEREQUESTFTRACEEVENT._serialized_start=72010 - _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72171 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72173 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72296 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72299 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72504 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72507 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72711 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72713 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72790 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72793 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72957 - _DWC3PREPARETRBFTRACEEVENT._serialized_start=72960 - _DWC3PREPARETRBFTRACEEVENT._serialized_end=73151 - _DWC3READLFTRACEEVENT._serialized_start=73153 - _DWC3READLFTRACEEVENT._serialized_end=73233 - _DWC3WRITELFTRACEEVENT._serialized_start=73235 - _DWC3WRITELFTRACEEVENT._serialized_end=73316 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73318 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73414 - _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73416 - _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73511 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73513 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73603 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73605 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73673 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73675 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73773 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73776 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=73969 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=73971 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74054 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74056 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74137 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74139 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74224 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74227 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74429 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74432 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74600 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74603 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74831 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74834 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75041 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75043 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75146 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75148 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75242 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75244 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75350 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75352 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75423 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75425 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75518 - _EXT4DROPINODEFTRACEEVENT._serialized_start=75520 - _EXT4DROPINODEFTRACEEVENT._serialized_end=75586 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75588 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75701 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75703 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75789 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75792 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75920 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75922 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76036 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76038 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76114 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76117 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76250 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76252 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76336 - _EXT4ESSHRINKFTRACEEVENT._serialized_start=76338 - _EXT4ESSHRINKFTRACEEVENT._serialized_end=76451 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76453 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76535 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76537 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76623 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76625 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76709 - _EXT4EVICTINODEFTRACEEVENT._serialized_start=76711 - _EXT4EVICTINODEFTRACEEVENT._serialized_end=76779 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76782 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76931 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76934 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77133 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77136 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77295 - _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77297 - _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77377 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77379 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77463 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77465 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77567 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77570 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77714 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77716 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77814 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77816 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77916 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77919 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78112 - _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78114 - _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78179 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78182 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78368 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78370 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78467 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78469 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78582 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78584 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78682 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78685 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78822 - _EXT4FORGETFTRACEEVENT._serialized_start=78824 - _EXT4FORGETFTRACEEVENT._serialized_end=78923 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78925 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79037 - _EXT4FREEINODEFTRACEEVENT._serialized_start=79039 - _EXT4FREEINODEFTRACEEVENT._serialized_end=79147 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79149 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79274 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79276 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79369 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79371 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79473 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79476 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79620 - _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79622 - _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79705 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79707 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79811 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79814 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79943 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79945 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=80023 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80025 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80139 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80141 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80244 - _EXT4LOADINODEFTRACEEVENT._serialized_start=80246 - _EXT4LOADINODEFTRACEEVENT._serialized_end=80298 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80300 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80360 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80362 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80431 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80433 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80490 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80492 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80554 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80556 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80625 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80627 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80736 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80738 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80847 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80849 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80930 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80932 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=81021 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=81024 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81414 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81416 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81537 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81539 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81657 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81660 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81886 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81888 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=82009 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=82011 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82106 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82108 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82190 - _EXT4READPAGEFTRACEEVENT._serialized_start=82192 - _EXT4READPAGEFTRACEEVENT._serialized_end=82258 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82260 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82329 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82332 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82532 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82535 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82712 - _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82714 - _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82783 - _EXT4SYNCFSFTRACEEVENT._serialized_start=82785 - _EXT4SYNCFSFTRACEEVENT._serialized_end=82835 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82837 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82946 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82948 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83056 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83058 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83130 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83132 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83203 - _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83205 - _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83289 - _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83291 - _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83357 - _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83359 - _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83453 - _EXT4WRITEENDFTRACEEVENT._serialized_start=83455 - _EXT4WRITEENDFTRACEEVENT._serialized_end=83548 - _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83550 - _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83617 - _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83620 - _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83844 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83847 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=84009 - _EXT4ZERORANGEFTRACEEVENT._serialized_start=84011 - _EXT4ZERORANGEFTRACEEVENT._serialized_end=84106 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84108 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84208 - _F2FSEVICTINODEFTRACEEVENT._serialized_start=84211 - _F2FSEVICTINODEFTRACEEVENT._serialized_end=84353 - _F2FSFALLOCATEFTRACEEVENT._serialized_start=84356 - _F2FSFALLOCATEFTRACEEVENT._serialized_end=84494 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84496 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84615 - _F2FSGETVICTIMFTRACEEVENT._serialized_start=84618 - _F2FSGETVICTIMFTRACEEVENT._serialized_end=84824 - _F2FSIGETFTRACEEVENT._serialized_start=84827 - _F2FSIGETFTRACEEVENT._serialized_end=84963 - _F2FSIGETEXITFTRACEEVENT._serialized_start=84965 - _F2FSIGETEXITFTRACEEVENT._serialized_end=85029 - _F2FSNEWINODEFTRACEEVENT._serialized_start=85031 - _F2FSNEWINODEFTRACEEVENT._serialized_end=85095 - _F2FSREADPAGEFTRACEEVENT._serialized_start=85098 - _F2FSREADPAGEFTRACEEVENT._serialized_end=85241 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85243 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85322 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85325 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85455 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85457 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85559 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85562 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85707 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85709 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85831 - _F2FSSYNCFSFTRACEEVENT._serialized_start=85833 - _F2FSSYNCFSFTRACEEVENT._serialized_end=85898 - _F2FSTRUNCATEFTRACEEVENT._serialized_start=85901 - _F2FSTRUNCATEFTRACEEVENT._serialized_end=86041 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86043 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86149 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86151 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86225 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86227 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86333 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86335 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86446 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86448 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86527 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86529 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86615 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86617 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86709 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86711 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86784 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86786 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86890 - _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86892 - _F2FSUNLINKENTERFTRACEEVENT._serialized_end=86990 - _F2FSUNLINKEXITFTRACEEVENT._serialized_start=86992 - _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87058 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87061 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87192 - _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87194 - _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87288 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87290 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87383 - _F2FSWRITEENDFTRACEEVENT._serialized_start=87385 - _F2FSWRITEENDFTRACEEVENT._serialized_end=87478 - _F2FSIOSTATFTRACEEVENT._serialized_start=87481 - _F2FSIOSTATFTRACEEVENT._serialized_end=87906 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87909 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88492 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88494 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88584 - _F2FSGCBEGINFTRACEEVENT._serialized_start=88587 - _F2FSGCBEGINFTRACEEVENT._serialized_end=88857 - _F2FSGCENDFTRACEEVENT._serialized_start=88860 - _F2FSGCENDFTRACEEVENT._serialized_end=89088 - _FASTRPCDMASTATFTRACEEVENT._serialized_start=89090 - _FASTRPCDMASTATFTRACEEVENT._serialized_end=89168 - _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89170 - _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89238 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89240 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89339 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89341 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89410 - _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89412 - _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89534 - _FENCEINITFTRACEEVENT._serialized_start=89536 - _FENCEINITFTRACEEVENT._serialized_end=89624 - _FENCEDESTROYFTRACEEVENT._serialized_start=89626 - _FENCEDESTROYFTRACEEVENT._serialized_end=89717 - _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89719 - _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89815 - _FENCESIGNALEDFTRACEEVENT._serialized_start=89817 - _FENCESIGNALEDFTRACEEVENT._serialized_end=89909 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89911 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=90019 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=90021 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90134 - _DOSYSOPENFTRACEEVENT._serialized_start=90136 - _DOSYSOPENFTRACEEVENT._serialized_end=90205 - _OPENEXECFTRACEEVENT._serialized_start=90207 - _OPENEXECFTRACEEVENT._serialized_end=90246 - _PRINTFTRACEEVENT._serialized_start=90248 - _PRINTFTRACEEVENT._serialized_end=90291 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90293 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90349 - _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90351 - _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90458 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90460 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90548 - _GENERICFTRACEEVENT._serialized_start=90551 - _GENERICFTRACEEVENT._serialized_end=90745 - _GENERICFTRACEEVENT_FIELD._serialized_start=90651 - _GENERICFTRACEEVENT_FIELD._serialized_end=90745 - _KPROBEEVENT._serialized_start=90748 - _KPROBEEVENT._serialized_end=90938 - _KPROBEEVENT_KPROBETYPE._serialized_start=90832 - _KPROBEEVENT_KPROBETYPE._serialized_end=90938 - _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90940 - _GOOGLEICCEVENTFTRACEEVENT._serialized_end=91001 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=91003 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91064 - _GPUMEMTOTALFTRACEEVENT._serialized_start=91066 - _GPUMEMTOTALFTRACEEVENT._serialized_end=91133 - _DRMSCHEDJOBFTRACEEVENT._serialized_start=91135 - _DRMSCHEDJOBFTRACEEVENT._serialized_end=91257 - _DRMRUNJOBFTRACEEVENT._serialized_start=91259 - _DRMRUNJOBFTRACEEVENT._serialized_end=91379 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91381 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91427 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91429 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91531 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91533 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91605 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91608 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91768 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91771 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91929 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91931 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92040 - _HYPENTERFTRACEEVENT._serialized_start=92042 - _HYPENTERFTRACEEVENT._serialized_end=92063 - _HYPEXITFTRACEEVENT._serialized_start=92065 - _HYPEXITFTRACEEVENT._serialized_end=92085 - _HOSTHCALLFTRACEEVENT._serialized_start=92087 - _HOSTHCALLFTRACEEVENT._serialized_end=92138 - _HOSTSMCFTRACEEVENT._serialized_start=92140 - _HOSTSMCFTRACEEVENT._serialized_end=92191 - _HOSTMEMABORTFTRACEEVENT._serialized_start=92193 - _HOSTMEMABORTFTRACEEVENT._serialized_end=92245 - _HOSTFFACALLFTRACEEVENT._serialized_start=92248 - _HOSTFFACALLFTRACEEVENT._serialized_end=92383 - _IOMMUIDMAPFTRACEEVENT._serialized_start=92385 - _IOMMUIDMAPFTRACEEVENT._serialized_end=92448 - _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92450 - _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92505 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92507 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92568 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92570 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92631 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92633 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92663 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92665 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92738 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92740 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92805 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92807 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92869 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92871 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92902 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92904 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92958 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92960 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=93011 - _I2CREADFTRACEEVENT._serialized_start=93013 - _I2CREADFTRACEEVENT._serialized_end=93111 - _I2CWRITEFTRACEEVENT._serialized_start=93113 - _I2CWRITEFTRACEEVENT._serialized_end=93225 - _I2CRESULTFTRACEEVENT._serialized_start=93227 - _I2CRESULTFTRACEEVENT._serialized_end=93299 - _I2CREPLYFTRACEEVENT._serialized_start=93301 - _I2CREPLYFTRACEEVENT._serialized_end=93413 - _SMBUSREADFTRACEEVENT._serialized_start=93415 - _SMBUSREADFTRACEEVENT._serialized_end=93521 - _SMBUSWRITEFTRACEEVENT._serialized_start=93523 - _SMBUSWRITEFTRACEEVENT._serialized_end=93643 - _SMBUSRESULTFTRACEEVENT._serialized_start=93646 - _SMBUSRESULTFTRACEEVENT._serialized_end=93787 - _SMBUSREPLYFTRACEEVENT._serialized_start=93789 - _SMBUSREPLYFTRACEEVENT._serialized_end=93909 - _IONSTATFTRACEEVENT._serialized_start=93911 - _IONSTATFTRACEEVENT._serialized_end=93988 - _IPIENTRYFTRACEEVENT._serialized_start=93990 - _IPIENTRYFTRACEEVENT._serialized_end=94027 - _IPIEXITFTRACEEVENT._serialized_start=94029 - _IPIEXITFTRACEEVENT._serialized_end=94065 - _IPIRAISEFTRACEEVENT._serialized_start=94067 - _IPIRAISEFTRACEEVENT._serialized_end=94125 - _SOFTIRQENTRYFTRACEEVENT._serialized_start=94127 - _SOFTIRQENTRYFTRACEEVENT._serialized_end=94165 - _SOFTIRQEXITFTRACEEVENT._serialized_start=94167 - _SOFTIRQEXITFTRACEEVENT._serialized_end=94204 - _SOFTIRQRAISEFTRACEEVENT._serialized_start=94206 - _SOFTIRQRAISEFTRACEEVENT._serialized_end=94244 - _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94246 - _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94318 - _IRQHANDLEREXITFTRACEEVENT._serialized_start=94320 - _IRQHANDLEREXITFTRACEEVENT._serialized_end=94373 - _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94375 - _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94419 - _LOCALTIMEREXITFTRACEEVENT._serialized_start=94421 - _LOCALTIMEREXITFTRACEEVENT._serialized_end=94464 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94466 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94529 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94531 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94644 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94647 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94896 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94898 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=94993 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=94996 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95337 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95339 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95404 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95406 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95472 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95474 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95541 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95543 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95606 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95608 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95672 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95674 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95739 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95741 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95792 - _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95794 - _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95877 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95879 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=95981 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=95983 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96087 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96089 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96201 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96204 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96332 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96335 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96467 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96469 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96583 - _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96585 - _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96628 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96630 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96725 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96727 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96824 - _IONPREFETCHINGFTRACEEVENT._serialized_start=96826 - _IONPREFETCHINGFTRACEEVENT._serialized_end=96866 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96868 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96959 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96961 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97054 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97056 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97154 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97156 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97256 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97258 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97340 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97342 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97426 - _KFREEFTRACEEVENT._serialized_start=97428 - _KFREEFTRACEEVENT._serialized_end=97478 - _KMALLOCFTRACEEVENT._serialized_start=97480 - _KMALLOCFTRACEEVENT._serialized_end=97591 - _KMALLOCNODEFTRACEEVENT._serialized_start=97594 - _KMALLOCNODEFTRACEEVENT._serialized_end=97723 - _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97725 - _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97843 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97846 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=97982 - _KMEMCACHEFREEFTRACEEVENT._serialized_start=97984 - _KMEMCACHEFREEFTRACEEVENT._serialized_end=98042 - _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98044 - _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98086 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98088 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98132 - _MIGRATERETRYFTRACEEVENT._serialized_start=98134 - _MIGRATERETRYFTRACEEVENT._serialized_end=98174 - _MMPAGEALLOCFTRACEEVENT._serialized_start=98176 - _MMPAGEALLOCFTRACEEVENT._serialized_end=98282 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98285 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98471 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98473 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98570 - _MMPAGEFREEFTRACEEVENT._serialized_start=98572 - _MMPAGEFREEFTRACEEVENT._serialized_end=98637 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98639 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98710 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98712 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98803 - _RSSSTATFTRACEEVENT._serialized_start=98805 - _RSSSTATFTRACEEVENT._serialized_end=98884 - _IONHEAPSHRINKFTRACEEVENT._serialized_start=98886 - _IONHEAPSHRINKFTRACEEVENT._serialized_end=98969 - _IONHEAPGROWFTRACEEVENT._serialized_start=98971 - _IONHEAPGROWFTRACEEVENT._serialized_end=99052 - _IONBUFFERCREATEFTRACEEVENT._serialized_start=99054 - _IONBUFFERCREATEFTRACEEVENT._serialized_end=99109 - _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99111 - _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99167 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99170 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99323 - _DMABUFRSSSTATFTRACEEVENT._serialized_start=99325 - _DMABUFRSSSTATFTRACEEVENT._serialized_end=99398 - _KVMACCESSFAULTFTRACEEVENT._serialized_start=99400 - _KVMACCESSFAULTFTRACEEVENT._serialized_end=99440 - _KVMACKIRQFTRACEEVENT._serialized_start=99442 - _KVMACKIRQFTRACEEVENT._serialized_end=99494 - _KVMAGEHVAFTRACEEVENT._serialized_start=99496 - _KVMAGEHVAFTRACEEVENT._serialized_end=99546 - _KVMAGEPAGEFTRACEEVENT._serialized_start=99548 - _KVMAGEPAGEFTRACEEVENT._serialized_end=99632 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99634 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99684 - _KVMARMSETDREG32FTRACEEVENT._serialized_start=99686 - _KVMARMSETDREG32FTRACEEVENT._serialized_end=99743 - _KVMARMSETREGSETFTRACEEVENT._serialized_start=99745 - _KVMARMSETREGSETFTRACEEVENT._serialized_end=99800 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99802 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99866 - _KVMENTRYFTRACEEVENT._serialized_start=99868 - _KVMENTRYFTRACEEVENT._serialized_end=99906 - _KVMEXITFTRACEEVENT._serialized_start=99908 - _KVMEXITFTRACEEVENT._serialized_end=99974 - _KVMFPUFTRACEEVENT._serialized_start=99976 - _KVMFPUFTRACEEVENT._serialized_end=100009 - _KVMGETTIMERMAPFTRACEEVENT._serialized_start=100011 - _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100122 - _KVMGUESTFAULTFTRACEEVENT._serialized_start=100124 - _KVMGUESTFAULTFTRACEEVENT._serialized_end=100208 - _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100210 - _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100251 - _KVMHVCARM64FTRACEEVENT._serialized_start=100253 - _KVMHVCARM64FTRACEEVENT._serialized_end=100319 - _KVMIRQLINEFTRACEEVENT._serialized_start=100321 - _KVMIRQLINEFTRACEEVENT._serialized_end=100408 - _KVMMMIOFTRACEEVENT._serialized_start=100410 - _KVMMMIOFTRACEEVENT._serialized_end=100483 - _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100485 - _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100558 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100560 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100624 - _KVMSETIRQFTRACEEVENT._serialized_start=100626 - _KVMSETIRQFTRACEEVENT._serialized_end=100699 - _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100701 - _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100740 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100742 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100801 - _KVMSYSACCESSFTRACEEVENT._serialized_start=100804 - _KVMSYSACCESSFTRACEEVENT._serialized_end=100943 - _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100945 - _KVMTESTAGEHVAFTRACEEVENT._serialized_end=100984 - _KVMTIMEREMULATEFTRACEEVENT._serialized_start=100986 - _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101054 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101056 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101109 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101111 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101190 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101192 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101268 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101270 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101345 - _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101347 - _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101417 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101419 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101476 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101478 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101523 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101525 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101594 - _KVMWFXARM64FTRACEEVENT._serialized_start=101596 - _KVMWFXARM64FTRACEEVENT._serialized_end=101653 - _TRAPREGFTRACEEVENT._serialized_start=101655 - _TRAPREGFTRACEEVENT._serialized_end=101739 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101741 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101819 - _LOWMEMORYKILLFTRACEEVENT._serialized_start=101821 - _LOWMEMORYKILLFTRACEEVENT._serialized_end=101937 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101939 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102052 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102054 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102143 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102145 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102262 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102264 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102387 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102389 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102510 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102512 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102634 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102636 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102761 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102763 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102886 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102888 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=102980 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=102982 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103072 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103074 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103182 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103184 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103283 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103285 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103385 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103387 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103483 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103485 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103587 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103589 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103687 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103689 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103786 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103788 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103887 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103889 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=103976 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=103978 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104061 - _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104063 - _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104145 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104147 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104247 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104249 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104344 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104346 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104432 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104434 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104528 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104530 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104623 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104625 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104715 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104717 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104808 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104810 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104905 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104907 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=104994 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=104996 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105088 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105090 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105179 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105181 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105270 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105272 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105359 - _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105361 - _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105425 - _MDPCOMMITFTRACEEVENT._serialized_start=105427 - _MDPCOMMITFTRACEEVENT._serialized_end=105517 - _MDPPERFSETOTFTRACEEVENT._serialized_start=105519 - _MDPPERFSETOTFTRACEEVENT._serialized_end=105610 - _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105613 - _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105881 - _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105883 - _TRACINGMARKWRITEFTRACEEVENT._serialized_end=105966 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=105968 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106068 - _MDPCOMPAREBWFTRACEEVENT._serialized_start=106071 - _MDPCOMPAREBWFTRACEEVENT._serialized_end=106235 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106237 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106349 - _MDPSSPPSETFTRACEEVENT._serialized_start=106352 - _MDPSSPPSETFTRACEEVENT._serialized_end=106617 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106619 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106684 - _MDPMISRCRCFTRACEEVENT._serialized_start=106686 - _MDPMISRCRCFTRACEEVENT._serialized_end=106759 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106761 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106886 - _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106888 - _MDPTRACECOUNTERFTRACEEVENT._serialized_end=106966 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=106968 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=107013 - _MDPMIXERUPDATEFTRACEEVENT._serialized_start=107015 - _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107061 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107064 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107224 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107226 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107298 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107300 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107369 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107372 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107578 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107580 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107661 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107663 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107711 - _MMEVENTRECORDFTRACEEVENT._serialized_start=107713 - _MMEVENTRECORDFTRACEEVENT._serialized_end=107802 - _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107804 - _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107876 - _NETDEVXMITFTRACEEVENT._serialized_start=107878 - _NETDEVXMITFTRACEEVENT._serialized_end=107957 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107960 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108339 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108341 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108385 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108387 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108467 - _MARKVICTIMFTRACEEVENT._serialized_start=108469 - _MARKVICTIMFTRACEEVENT._serialized_end=108505 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108507 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108569 - _DSIRXFTRACEEVENT._serialized_start=108571 - _DSIRXFTRACEEVENT._serialized_end=108618 - _DSITXFTRACEEVENT._serialized_start=108620 - _DSITXFTRACEEVENT._serialized_end=108682 - _PANELWRITEGENERICFTRACEEVENT._serialized_start=108684 - _PANELWRITEGENERICFTRACEEVENT._serialized_end=108811 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108814 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109202 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109204 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109252 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109254 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109338 - _CPUFREQUENCYFTRACEEVENT._serialized_start=109340 - _CPUFREQUENCYFTRACEEVENT._serialized_end=109396 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109398 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109481 - _CPUIDLEFTRACEEVENT._serialized_start=109483 - _CPUIDLEFTRACEEVENT._serialized_end=109534 - _CLOCKENABLEFTRACEEVENT._serialized_start=109536 - _CLOCKENABLEFTRACEEVENT._serialized_end=109605 - _CLOCKDISABLEFTRACEEVENT._serialized_start=109607 - _CLOCKDISABLEFTRACEEVENT._serialized_end=109677 - _CLOCKSETRATEFTRACEEVENT._serialized_start=109679 - _CLOCKSETRATEFTRACEEVENT._serialized_end=109749 - _SUSPENDRESUMEFTRACEEVENT._serialized_start=109751 - _SUSPENDRESUMEFTRACEEVENT._serialized_end=109821 - _GPUFREQUENCYFTRACEEVENT._serialized_start=109823 - _GPUFREQUENCYFTRACEEVENT._serialized_end=109879 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109881 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109943 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109945 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=110009 - _GPUWORKPERIODFTRACEEVENT._serialized_start=110012 - _GPUWORKPERIODFTRACEEVENT._serialized_end=110145 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110147 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110260 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110262 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110341 - _CONSOLEFTRACEEVENT._serialized_start=110343 - _CONSOLEFTRACEEVENT._serialized_end=110376 - _SYSENTERFTRACEEVENT._serialized_start=110378 - _SYSENTERFTRACEEVENT._serialized_end=110425 - _SYSEXITFTRACEEVENT._serialized_start=110427 - _SYSEXITFTRACEEVENT._serialized_end=110472 - _REGULATORDISABLEFTRACEEVENT._serialized_start=110474 - _REGULATORDISABLEFTRACEEVENT._serialized_end=110517 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110519 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110570 - _REGULATORENABLEFTRACEEVENT._serialized_start=110572 - _REGULATORENABLEFTRACEEVENT._serialized_end=110614 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110616 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110666 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110668 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110715 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110717 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110789 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110791 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110858 - _RPMSTATUSFTRACEEVENT._serialized_start=110860 - _RPMSTATUSFTRACEEVENT._serialized_end=110912 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110914 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111039 - _SCHEDSWITCHFTRACEEVENT._serialized_start=111042 - _SCHEDSWITCHFTRACEEVENT._serialized_end=111198 - _SCHEDWAKEUPFTRACEEVENT._serialized_start=111200 - _SCHEDWAKEUPFTRACEEVENT._serialized_end=111302 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111304 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111381 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111383 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111464 - _SCHEDWAKINGFTRACEEVENT._serialized_start=111466 - _SCHEDWAKINGFTRACEEVENT._serialized_end=111568 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111570 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111675 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111677 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111754 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111756 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111840 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111842 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111951 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111953 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=112023 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112025 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112081 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112083 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112153 - _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112155 - _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112243 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112246 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112574 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112577 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112714 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112716 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112840 - _SCMCALLSTARTFTRACEEVENT._serialized_start=112842 - _SCMCALLSTARTFTRACEEVENT._serialized_end=112908 - _SCMCALLENDFTRACEEVENT._serialized_start=112910 - _SCMCALLENDFTRACEEVENT._serialized_end=112933 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112935 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113056 - _SDESDEEVTLOGFTRACEEVENT._serialized_start=113058 - _SDESDEEVTLOGFTRACEEVENT._serialized_end=113132 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113135 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113315 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113318 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113601 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113603 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113719 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113721 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113821 - _SIGNALDELIVERFTRACEEVENT._serialized_start=113823 - _SIGNALDELIVERFTRACEEVENT._serialized_end=113894 - _SIGNALGENERATEFTRACEEVENT._serialized_start=113896 - _SIGNALGENERATEFTRACEEVENT._serialized_end=114008 - _KFREESKBFTRACEEVENT._serialized_start=114010 - _KFREESKBFTRACEEVENT._serialized_end=114084 - _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114087 - _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114262 - _SYNCPTFTRACEEVENT._serialized_start=114264 - _SYNCPTFTRACEEVENT._serialized_end=114316 - _SYNCTIMELINEFTRACEEVENT._serialized_start=114318 - _SYNCTIMELINEFTRACEEVENT._serialized_end=114372 - _SYNCWAITFTRACEEVENT._serialized_start=114374 - _SYNCWAITFTRACEEVENT._serialized_end=114440 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114442 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114530 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114532 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114580 - _ZEROFTRACEEVENT._serialized_start=114582 - _ZEROFTRACEEVENT._serialized_end=114655 - _TASKNEWTASKFTRACEEVENT._serialized_start=114657 - _TASKNEWTASKFTRACEEVENT._serialized_end=114752 - _TASKRENAMEFTRACEEVENT._serialized_start=114754 - _TASKRENAMEFTRACEEVENT._serialized_end=114847 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114850 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=114987 - _THERMALTEMPERATUREFTRACEEVENT._serialized_start=114989 - _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115087 - _CDEVUPDATEFTRACEEVENT._serialized_start=115089 - _CDEVUPDATEFTRACEEVENT._serialized_end=115142 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115145 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115373 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115376 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115538 - _HRTIMERSTARTFTRACEEVENT._serialized_start=115540 - _HRTIMERSTARTFTRACEEVENT._serialized_end=115652 - _HRTIMERCANCELFTRACEEVENT._serialized_start=115654 - _HRTIMERCANCELFTRACEEVENT._serialized_end=115697 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115699 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115778 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115780 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115827 - _TIMERSTARTFTRACEEVENT._serialized_start=115830 - _TIMERSTARTFTRACEEVENT._serialized_end=115974 - _TIMERCANCELFTRACEEVENT._serialized_start=115976 - _TIMERCANCELFTRACEEVENT._serialized_end=116015 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=116017 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116109 - _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116111 - _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116154 - _TRUSTYSMCFTRACEEVENT._serialized_start=116156 - _TRUSTYSMCFTRACEEVENT._serialized_end=116226 - _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116228 - _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116267 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116269 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116345 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116347 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116392 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116394 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116466 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116468 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116573 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116575 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116619 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116621 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116682 - _TRUSTYIRQFTRACEEVENT._serialized_start=116684 - _TRUSTYIRQFTRACEEVENT._serialized_end=116719 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116721 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116804 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116806 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116878 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116880 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116954 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116957 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117087 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117089 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117166 - _TRUSTYIPCREADFTRACEEVENT._serialized_start=117168 - _TRUSTYIPCREADFTRACEEVENT._serialized_end=117226 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117228 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117342 - _TRUSTYIPCRXFTRACEEVENT._serialized_start=117344 - _TRUSTYIPCRXFTRACEEVENT._serialized_end=117416 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117418 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117489 - _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117492 - _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117678 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117680 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117741 - _V4L2QBUFFTRACEEVENT._serialized_start=117744 - _V4L2QBUFFTRACEEVENT._serialized_end=118155 - _V4L2DQBUFFTRACEEVENT._serialized_start=118158 - _V4L2DQBUFFTRACEEVENT._serialized_end=118570 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118573 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118943 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118946 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119315 - _VB2V4L2QBUFFTRACEEVENT._serialized_start=119318 - _VB2V4L2QBUFFTRACEEVENT._serialized_end=119684 - _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119687 - _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120054 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120057 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120222 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120225 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120393 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120395 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120455 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120457 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120521 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120524 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120720 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120723 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120923 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120925 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=121021 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=121023 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121082 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121084 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121156 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121158 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121203 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121206 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121439 - _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121442 - _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121587 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121589 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121637 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121639 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121703 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121705 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121771 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121773 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121885 - _FTRACEEVENT._serialized_start=121889 - _FTRACEEVENT._serialized_end=166792 - _FTRACECPUSTATS._serialized_start=166795 - _FTRACECPUSTATS._serialized_end=166988 - _FTRACEKPROBESTATS._serialized_start=166990 - _FTRACEKPROBESTATS._serialized_end=167039 - _FTRACESTATS._serialized_start=167042 - _FTRACESTATS._serialized_end=167625 - _FTRACESTATS_PHASE._serialized_start=167563 - _FTRACESTATS_PHASE._serialized_end=167625 - _FTRACEEVENTBUNDLE._serialized_start=167628 - _FTRACEEVENTBUNDLE._serialized_end=168708 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168166 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168532 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168534 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168618 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168620 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168708 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168710 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168772 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168775 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169193 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168936 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169193 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169195 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169252 - _GENERICKERNELPROCESSTREE._serialized_start=169255 - _GENERICKERNELPROCESSTREE._serialized_end=169547 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169420 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169492 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169494 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169547 - _GPUCOUNTEREVENT._serialized_start=169550 - _GPUCOUNTEREVENT._serialized_end=169801 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169715 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169801 - _GPULOG._serialized_start=169804 - _GPULOG._serialized_end=170064 - _GPULOG_SEVERITY._serialized_start=169901 - _GPULOG_SEVERITY._serialized_end=170064 - _GPURENDERSTAGEEVENT._serialized_start=170067 - _GPURENDERSTAGEEVENT._serialized_end=170986 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170576 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170616 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170619 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=170980 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170887 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170930 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170932 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=170980 - _INTERNEDGRAPHICSCONTEXT._serialized_start=170989 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171159 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171101 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171159 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171162 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171400 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171341 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171400 - _VULKANAPIEVENT._serialized_start=171403 - _VULKANAPIEVENT._serialized_end=171846 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171589 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171703 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171706 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171837 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171848 - _VULKANMEMORYEVENTANNOTATION._serialized_end=171970 - _VULKANMEMORYEVENT._serialized_start=171973 - _VULKANMEMORYEVENT._serialized_end=172845 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172458 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172591 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172593 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172710 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172713 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172845 - _INTERNEDSTRING._serialized_start=172847 - _INTERNEDSTRING._serialized_end=172889 - _LINE._serialized_start=172891 - _LINE._serialized_end=172967 - _ADDRESSSYMBOLS._serialized_start=172969 - _ADDRESSSYMBOLS._serialized_end=173040 - _MODULESYMBOLS._serialized_start=173042 - _MODULESYMBOLS._serialized_end=173147 - _MAPPING._serialized_start=173150 - _MAPPING._serialized_end=173306 - _FRAME._serialized_start=173308 - _FRAME._serialized_end=173390 - _CALLSTACK._serialized_start=173392 - _CALLSTACK._serialized_end=173435 - _HISTOGRAMNAME._serialized_start=173437 - _HISTOGRAMNAME._serialized_end=173479 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173481 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173571 - _DEBUGANNOTATION._serialized_start=173574 - _DEBUGANNOTATION._serialized_end=174514 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174086 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174466 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174416 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174466 - _DEBUGANNOTATIONNAME._serialized_start=174516 - _DEBUGANNOTATIONNAME._serialized_end=174564 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174566 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174623 - _LOGMESSAGE._serialized_start=174626 - _LOGMESSAGE._serialized_end=174885 - _LOGMESSAGE_PRIORITY._serialized_start=174740 - _LOGMESSAGE_PRIORITY._serialized_end=174885 - _LOGMESSAGEBODY._serialized_start=174887 - _LOGMESSAGEBODY._serialized_end=174930 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174932 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=175009 - _SOURCELOCATION._serialized_start=175011 - _SOURCELOCATION._serialized_end=175103 - _CHROMEACTIVEPROCESSES._serialized_start=175105 - _CHROMEACTIVEPROCESSES._serialized_end=175141 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175144 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175510 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175270 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175510 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175513 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176600 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176404 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176594 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176603 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180313 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176794 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178093 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177333 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177494 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177497 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177644 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177647 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177891 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177894 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178093 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178096 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180313 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=179990 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180174 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180177 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180307 - _BEGINFRAMEARGS._serialized_start=180316 - _BEGINFRAMEARGS._serialized_end=180870 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180692 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180854 - _BEGINIMPLFRAMEARGS._serialized_start=180873 - _BEGINIMPLFRAMEARGS._serialized_end=181449 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181190 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181383 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181385 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181441 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181451 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181574 - _BEGINFRAMESOURCESTATE._serialized_start=181577 - _BEGINFRAMESOURCESTATE._serialized_end=181722 - _COMPOSITORTIMINGHISTORY._serialized_start=181725 - _COMPOSITORTIMINGHISTORY._serialized_end=182105 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182107 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182169 - _CHROMEFRAMEREPORTER._serialized_start=182172 - _CHROMEFRAMEREPORTER._serialized_end=183292 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182887 - _CHROMEFRAMEREPORTER_STATE._serialized_end=182996 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=182998 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183124 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183126 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183249 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183251 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183288 - _CHROMEKEYEDSERVICE._serialized_start=183294 - _CHROMEKEYEDSERVICE._serialized_end=183328 - _CHROMELATENCYINFO._serialized_start=183331 - _CHROMELATENCYINFO._serialized_end=185113 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183660 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183773 - _CHROMELATENCYINFO_STEP._serialized_start=183776 - _CHROMELATENCYINFO_STEP._serialized_end=184178 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184181 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184938 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184941 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185113 - _CHROMELEGACYIPC._serialized_start=185116 - _CHROMELEGACYIPC._serialized_end=186090 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185228 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186090 - _CHROMEMESSAGEPUMP._serialized_start=186092 - _CHROMEMESSAGEPUMP._serialized_end=186176 - _CHROMEMOJOEVENTINFO._serialized_start=186179 - _CHROMEMOJOEVENTINFO._serialized_end=186383 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186385 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186511 - _CHROMEUSEREVENT._serialized_start=186513 - _CHROMEUSEREVENT._serialized_end=186567 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186569 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186649 - _SCREENSHOT._serialized_start=186651 - _SCREENSHOT._serialized_end=186682 - _TASKEXECUTION._serialized_start=186684 - _TASKEXECUTION._serialized_end=186724 - _TRACKEVENT._serialized_start=186727 - _TRACKEVENT._serialized_end=189894 - _TRACKEVENT_LEGACYEVENT._serialized_start=188916 - _TRACKEVENT_LEGACYEVENT._serialized_end=189598 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189407 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189487 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189489 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189586 - _TRACKEVENT_TYPE._serialized_start=189600 - _TRACKEVENT_TYPE._serialized_end=189706 - _TRACKEVENTDEFAULTS._serialized_start=189896 - _TRACKEVENTDEFAULTS._serialized_end=190013 - _EVENTCATEGORY._serialized_start=190015 - _EVENTCATEGORY._serialized_end=190057 - _EVENTNAME._serialized_start=190059 - _EVENTNAME._serialized_end=190097 - _INTERNEDDATA._serialized_start=190100 - _INTERNEDDATA._serialized_end=192215 - _MEMORYTRACKERSNAPSHOT._serialized_start=192218 - _MEMORYTRACKERSNAPSHOT._serialized_end=193226 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192433 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193151 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192647 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193058 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192831 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193058 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=193012 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193058 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193060 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193151 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193153 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193226 - _PERFETTOMETATRACE._serialized_start=193229 - _PERFETTOMETATRACE._serialized_end=193774 - _PERFETTOMETATRACE_ARG._serialized_start=193586 - _PERFETTOMETATRACE_ARG._serialized_end=193713 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193715 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193759 - _TRACINGSERVICEEVENT._serialized_start=193777 - _TRACINGSERVICEEVENT._serialized_end=194427 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194255 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194413 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194352 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194413 - _ANDROIDENERGYCONSUMER._serialized_start=194429 - _ANDROIDENERGYCONSUMER._serialized_end=194525 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194527 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194626 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194629 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194949 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194896 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194949 - _ENTITYSTATERESIDENCY._serialized_start=194952 - _ENTITYSTATERESIDENCY._serialized_end=195395 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195133 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195235 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195238 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195395 - _BATTERYCOUNTERS._serialized_start=195398 - _BATTERYCOUNTERS._serialized_end=195575 - _POWERRAILS._serialized_start=195578 - _POWERRAILS._serialized_end=195905 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195744 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195838 - _POWERRAILS_ENERGYDATA._serialized_start=195840 - _POWERRAILS_ENERGYDATA._serialized_end=195905 - _OBFUSCATEDMEMBER._serialized_start=195907 - _OBFUSCATEDMEMBER._serialized_end=195977 - _OBFUSCATEDCLASS._serialized_start=195980 - _OBFUSCATEDCLASS._serialized_end=196175 - _DEOBFUSCATIONMAPPING._serialized_start=196178 - _DEOBFUSCATIONMAPPING._serialized_end=196306 - _HEAPGRAPHROOT._serialized_start=196309 - _HEAPGRAPHROOT._serialized_end=196747 - _HEAPGRAPHROOT_TYPE._serialized_start=196407 - _HEAPGRAPHROOT_TYPE._serialized_end=196747 - _HEAPGRAPHTYPE._serialized_start=196750 - _HEAPGRAPHTYPE._serialized_end=197234 - _HEAPGRAPHTYPE_KIND._serialized_start=196972 - _HEAPGRAPHTYPE_KIND._serialized_end=197234 - _HEAPGRAPHOBJECT._serialized_start=197237 - _HEAPGRAPHOBJECT._serialized_end=197693 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197579 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197679 - _HEAPGRAPH._serialized_start=197696 - _HEAPGRAPH._serialized_end=198016 - _PROFILEPACKET._serialized_start=198019 - _PROFILEPACKET._serialized_end=199487 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198327 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198513 - _PROFILEPACKET_HISTOGRAM._serialized_start=198516 - _PROFILEPACKET_HISTOGRAM._serialized_end=198659 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198595 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198659 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198662 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198884 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198887 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199487 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199382 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199487 - _STREAMINGALLOCATION._serialized_start=199490 - _STREAMINGALLOCATION._serialized_end=199647 - _STREAMINGFREE._serialized_start=199649 - _STREAMINGFREE._serialized_end=199723 - _STREAMINGPROFILEPACKET._serialized_start=199725 - _STREAMINGPROFILEPACKET._serialized_end=199826 - _PROFILING._serialized_start=199829 - _PROFILING._serialized_end=200485 - _PROFILING_CPUMODE._serialized_start=199842 - _PROFILING_CPUMODE._serialized_end=199966 - _PROFILING_STACKUNWINDERROR._serialized_start=199969 - _PROFILING_STACKUNWINDERROR._serialized_end=200485 - _PERFSAMPLE._serialized_start=200488 - _PERFSAMPLE._serialized_end=201367 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200912 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201132 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=201023 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201101 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201135 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201308 - _PERFSAMPLEDEFAULTS._serialized_start=201370 - _PERFSAMPLEDEFAULTS._serialized_end=201556 - _SMAPSENTRY._serialized_start=201559 - _SMAPSENTRY._serialized_end=201946 - _SMAPSPACKET._serialized_start=201948 - _SMAPSPACKET._serialized_end=202020 - _PROCESSSTATS._serialized_start=202023 - _PROCESSSTATS._serialized_end=202850 - _PROCESSSTATS_THREAD._serialized_start=202131 - _PROCESSSTATS_THREAD._serialized_end=202170 - _PROCESSSTATS_FDINFO._serialized_start=202172 - _PROCESSSTATS_FDINFO._serialized_end=202206 - _PROCESSSTATS_PROCESS._serialized_start=202209 - _PROCESSSTATS_PROCESS._serialized_end=202850 - _PROCESSTREE._serialized_start=202853 - _PROCESSTREE._serialized_end=203245 - _PROCESSTREE_THREAD._serialized_start=203013 - _PROCESSTREE_THREAD._serialized_end=203077 - _PROCESSTREE_PROCESS._serialized_start=203080 - _PROCESSTREE_PROCESS._serialized_end=203245 - _REMOTECLOCKSYNC._serialized_start=203248 - _REMOTECLOCKSYNC._serialized_end=203459 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203337 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203459 - _ATOM._serialized_start=203461 - _ATOM._serialized_end=203467 - _STATSDATOM._serialized_start=203469 - _STATSDATOM._serialized_end=203543 - _SYSSTATS._serialized_start=203546 - _SYSSTATS._serialized_end=205570 - _SYSSTATS_MEMINFOVALUE._serialized_start=204334 - _SYSSTATS_MEMINFOVALUE._serialized_end=204410 - _SYSSTATS_VMSTATVALUE._serialized_start=204412 - _SYSSTATS_VMSTATVALUE._serialized_end=204486 - _SYSSTATS_CPUTIMES._serialized_start=204489 - _SYSSTATS_CPUTIMES._serialized_end=204669 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204671 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204715 - _SYSSTATS_DEVFREQVALUE._serialized_start=204717 - _SYSSTATS_DEVFREQVALUE._serialized_end=204759 - _SYSSTATS_BUDDYINFO._serialized_start=204761 - _SYSSTATS_BUDDYINFO._serialized_end=204821 - _SYSSTATS_DISKSTAT._serialized_start=204824 - _SYSSTATS_DISKSTAT._serialized_end=205039 - _SYSSTATS_PSISAMPLE._serialized_start=205042 - _SYSSTATS_PSISAMPLE._serialized_end=205350 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205141 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205350 - _SYSSTATS_THERMALZONE._serialized_start=205352 - _SYSSTATS_THERMALZONE._serialized_end=205407 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205409 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205464 - _SYSSTATS_CPUIDLESTATE._serialized_start=205466 - _SYSSTATS_CPUIDLESTATE._serialized_end=205570 - _CPUINFO._serialized_start=205573 - _CPUINFO._serialized_end=205905 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205628 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205738 - _CPUINFO_CPU._serialized_start=205741 - _CPUINFO_CPU._serialized_end=205905 - _TESTEVENT._serialized_start=205908 - _TESTEVENT._serialized_end=206287 - _TESTEVENT_TESTPAYLOAD._serialized_start=206045 - _TESTEVENT_TESTPAYLOAD._serialized_end=206287 - _TRACEPACKETDEFAULTS._serialized_start=206290 - _TRACEPACKETDEFAULTS._serialized_end=206532 - _TRACEUUID._serialized_start=206534 - _TRACEUUID._serialized_end=206571 - _PROCESSDESCRIPTOR._serialized_start=206574 - _PROCESSDESCRIPTOR._serialized_end=207061 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206836 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207061 - _TRACKEVENTRANGEOFINTEREST._serialized_start=207063 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207108 - _THREADDESCRIPTOR._serialized_start=207111 - _THREADDESCRIPTOR._serialized_end=207867 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207396 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207867 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207870 - _CHROMEPROCESSDESCRIPTOR._serialized_end=208025 - _CHROMETHREADDESCRIPTOR._serialized_start=208027 - _CHROMETHREADDESCRIPTOR._serialized_end=208125 - _COUNTERDESCRIPTOR._serialized_start=208128 - _COUNTERDESCRIPTOR._serialized_end=208583 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208387 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208498 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208500 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208583 - _TRACKDESCRIPTOR._serialized_start=208586 - _TRACKDESCRIPTOR._serialized_end=209638 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209310 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209396 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209399 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209585 - _TRANSLATIONTABLE._serialized_start=209641 - _TRANSLATIONTABLE._serialized_end=210134 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210137 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210311 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210262 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210311 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210314 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210505 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210450 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210505 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210508 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210863 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210755 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210808 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210810 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210863 - _SLICENAMETRANSLATIONTABLE._serialized_start=210866 - _SLICENAMETRANSLATIONTABLE._serialized_end=211060 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211000 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211060 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211063 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211271 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211000 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211060 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211274 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211438 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210262 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210311 - _TRIGGER._serialized_start=211440 - _TRIGGER._serialized_end=211547 - _UISTATE._serialized_start=211550 - _UISTATE._serialized_end=211747 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211683 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211747 - _TRACEPACKET._serialized_start=211750 - _TRACEPACKET._serialized_end=217934 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217747 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217851 - _TRACE._serialized_start=217936 - _TRACE._serialized_end=217989 + _LAYERPROTO._serialized_end=40972 + _LAYERPROTO_METADATAENTRY._serialized_start=40925 + _LAYERPROTO_METADATAENTRY._serialized_end=40972 + _POSITIONPROTO._serialized_start=40974 + _POSITIONPROTO._serialized_end=41011 + _FLOATRECTPROTO._serialized_start=41013 + _FLOATRECTPROTO._serialized_end=41087 + _CORNERRADIIPROTO._serialized_start=41089 + _CORNERRADIIPROTO._serialized_end=41155 + _ACTIVEBUFFERPROTO._serialized_start=41157 + _ACTIVEBUFFERPROTO._serialized_end=41254 + _BARRIERLAYERPROTO._serialized_start=41256 + _BARRIERLAYERPROTO._serialized_end=41309 + _TRANSACTIONTRACEFILE._serialized_start=41312 + _TRANSACTIONTRACEFILE._serialized_end=41547 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41473 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41547 + _TRANSACTIONTRACEENTRY._serialized_start=41550 + _TRANSACTIONTRACEENTRY._serialized_end=41952 + _DISPLAYINFO._serialized_start=41955 + _DISPLAYINFO._serialized_end=42289 + _LAYERCREATIONARGS._serialized_start=42292 + _LAYERCREATIONARGS._serialized_end=42453 + _TRANSFORM._serialized_start=42455 + _TRANSFORM._serialized_end=42546 + _TRANSACTIONBARRIER._serialized_start=42548 + _TRANSACTIONBARRIER._serialized_end=42605 + _TRANSACTIONSTATE._serialized_start=42608 + _TRANSACTIONSTATE._serialized_end=42965 + _LAYERSTATE._serialized_start=42968 + _LAYERSTATE._serialized_end=47660 + _LAYERSTATE_MATRIX22._serialized_start=44679 + _LAYERSTATE_MATRIX22._serialized_end=44745 + _LAYERSTATE_CORNERRADII._serialized_start=44747 + _LAYERSTATE_CORNERRADII._serialized_end=44808 + _LAYERSTATE_COLOR3._serialized_start=44810 + _LAYERSTATE_COLOR3._serialized_end=44851 + _LAYERSTATE_BUFFERDATA._serialized_start=44854 + _LAYERSTATE_BUFFERDATA._serialized_end=45642 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45070 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45181 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45184 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45642 + _LAYERSTATE_WINDOWINFO._serialized_start=45645 + _LAYERSTATE_WINDOWINFO._serialized_end=46059 + _LAYERSTATE_CHANGESLSB._serialized_start=46062 + _LAYERSTATE_CHANGESLSB._serialized_end=46822 + _LAYERSTATE_CHANGESMSB._serialized_start=46825 + _LAYERSTATE_CHANGESMSB._serialized_end=47445 + _LAYERSTATE_FLAGS._serialized_start=47448 + _LAYERSTATE_FLAGS._serialized_end=47610 + _LAYERSTATE_DROPINPUTMODE._serialized_start=47612 + _LAYERSTATE_DROPINPUTMODE._serialized_end=47660 + _DISPLAYSTATE._serialized_start=47663 + _DISPLAYSTATE._serialized_end=48066 + _DISPLAYSTATE_CHANGES._serialized_start=47919 + _DISPLAYSTATE_CHANGES._serialized_end=48066 + _WINSCOPEEXTENSIONS._serialized_start=48068 + _WINSCOPEEXTENSIONS._serialized_end=48094 + _CHROMEBENCHMARKMETADATA._serialized_start=48097 + _CHROMEBENCHMARKMETADATA._serialized_end=48339 + _CHROMEMETADATAPACKET._serialized_start=48342 + _CHROMEMETADATAPACKET._serialized_end=48621 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48581 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48621 + _BACKGROUNDTRACINGMETADATA._serialized_start=48624 + _BACKGROUNDTRACINGMETADATA._serialized_end=49669 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48840 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49669 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49144 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49250 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49253 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49531 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49398 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49531 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49534 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49669 + _CHROMETRACEDVALUE._serialized_start=49672 + _CHROMETRACEDVALUE._serialized_end=50011 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49978 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=50011 + _CHROMESTRINGTABLEENTRY._serialized_start=50013 + _CHROMESTRINGTABLEENTRY._serialized_end=50067 + _CHROMETRACEEVENT._serialized_start=50070 + _CHROMETRACEEVENT._serialized_end=50711 + _CHROMETRACEEVENT_ARG._serialized_start=50443 + _CHROMETRACEEVENT_ARG._serialized_end=50711 + _CHROMEMETADATA._serialized_start=50714 + _CHROMEMETADATA._serialized_end=50842 + _CHROMELEGACYJSONTRACE._serialized_start=50845 + _CHROMELEGACYJSONTRACE._serialized_end=50993 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50948 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50993 + _CHROMEEVENTBUNDLE._serialized_start=50996 + _CHROMEEVENTBUNDLE._serialized_end=51291 + _CHROMETRIGGER._serialized_start=51293 + _CHROMETRIGGER._serialized_end=51374 + _V8STRING._serialized_start=51376 + _V8STRING._serialized_end=51462 + _INTERNEDV8STRING._serialized_start=51464 + _INTERNEDV8STRING._serialized_end=51571 + _INTERNEDV8JSSCRIPT._serialized_start=51574 + _INTERNEDV8JSSCRIPT._serialized_end=51899 + _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51769 + _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51899 + _INTERNEDV8WASMSCRIPT._serialized_start=51901 + _INTERNEDV8WASMSCRIPT._serialized_end=51988 + _INTERNEDV8JSFUNCTION._serialized_start=51991 + _INTERNEDV8JSFUNCTION._serialized_end=53100 + _INTERNEDV8JSFUNCTION_KIND._serialized_start=52218 + _INTERNEDV8JSFUNCTION_KIND._serialized_end=53100 + _INTERNEDV8ISOLATE._serialized_start=53103 + _INTERNEDV8ISOLATE._serialized_end=53430 + _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53311 + _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53430 + _V8JSCODE._serialized_start=53433 + _V8JSCODE._serialized_end=53795 + _V8JSCODE_TIER._serialized_start=53659 + _V8JSCODE_TIER._serialized_end=53779 + _V8INTERNALCODE._serialized_start=53798 + _V8INTERNALCODE._serialized_end=54279 + _V8INTERNALCODE_TYPE._serialized_start=54021 + _V8INTERNALCODE_TYPE._serialized_end=54279 + _V8WASMCODE._serialized_start=54282 + _V8WASMCODE._serialized_end=54605 + _V8WASMCODE_TIER._serialized_start=54544 + _V8WASMCODE_TIER._serialized_end=54605 + _V8REGEXPCODE._serialized_start=54608 + _V8REGEXPCODE._serialized_end=54784 + _V8CODEMOVE._serialized_start=54787 + _V8CODEMOVE._serialized_end=55012 + _V8CODEDEFAULTS._serialized_start=55014 + _V8CODEDEFAULTS._serialized_end=55043 + _CLOCKSNAPSHOT._serialized_start=55046 + _CLOCKSNAPSHOT._serialized_end=55448 + _CLOCKSNAPSHOT_CLOCK._serialized_start=55178 + _CLOCKSNAPSHOT_CLOCK._serialized_end=55448 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55277 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55448 + _CSWITCHETWEVENT._serialized_start=55451 + _CSWITCHETWEVENT._serialized_end=57069 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=56027 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56772 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56774 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56825 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56828 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56963 + _READYTHREADETWEVENT._serialized_start=57072 + _READYTHREADETWEVENT._serialized_end=57592 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57331 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57419 + _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57421 + _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57543 + _MEMINFOETWEVENT._serialized_start=57595 + _MEMINFOETWEVENT._serialized_end=57995 + _FILEIOCREATEETWEVENT._serialized_start=57998 + _FILEIOCREATEETWEVENT._serialized_end=58162 + _FILEIODIRENUMETWEVENT._serialized_start=58165 + _FILEIODIRENUMETWEVENT._serialized_end=58333 + _FILEIOINFOETWEVENT._serialized_start=58336 + _FILEIOINFOETWEVENT._serialized_end=58466 + _FILEIOREADWRITEETWEVENT._serialized_start=58469 + _FILEIOREADWRITEETWEVENT._serialized_end=58615 + _FILEIOSIMPLEOPETWEVENT._serialized_start=58617 + _FILEIOSIMPLEOPETWEVENT._serialized_end=58711 + _FILEIOOPENDETWEVENT._serialized_start=58713 + _FILEIOOPENDETWEVENT._serialized_end=58790 + _ETWTRACEEVENT._serialized_start=58793 + _ETWTRACEEVENT._serialized_end=59438 + _ETWTRACEEVENTBUNDLE._serialized_start=59440 + _ETWTRACEEVENTBUNDLE._serialized_end=59521 + _EVDEVEVENT._serialized_start=59524 + _EVDEVEVENT._serialized_end=59710 + _EVDEVEVENT_INPUTEVENT._serialized_start=59620 + _EVDEVEVENT_INPUTEVENT._serialized_end=59701 + _FILEDESCRIPTORSET._serialized_start=59712 + _FILEDESCRIPTORSET._serialized_end=59783 + _FILEDESCRIPTORPROTO._serialized_start=59786 + _FILEDESCRIPTORPROTO._serialized_end=60105 + _DESCRIPTORPROTO._serialized_start=60108 + _DESCRIPTORPROTO._serialized_end=60574 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60519 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60562 + _UNINTERPRETEDOPTION._serialized_start=60577 + _UNINTERPRETEDOPTION._serialized_end=60863 + _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60812 + _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60863 + _FIELDOPTIONS._serialized_start=60865 + _FIELDOPTIONS._serialized_end=60964 + _FIELDDESCRIPTORPROTO._serialized_start=60967 + _FIELDDESCRIPTORPROTO._serialized_end=61654 + _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61269 + _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61579 + _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61581 + _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61648 + _ONEOFDESCRIPTORPROTO._serialized_start=61656 + _ONEOFDESCRIPTORPROTO._serialized_end=61740 + _ENUMDESCRIPTORPROTO._serialized_start=61743 + _ENUMDESCRIPTORPROTO._serialized_end=61871 + _ENUMVALUEDESCRIPTORPROTO._serialized_start=61873 + _ENUMVALUEDESCRIPTORPROTO._serialized_end=61935 + _ONEOFOPTIONS._serialized_start=61937 + _ONEOFOPTIONS._serialized_end=61970 + _EXTENSIONDESCRIPTOR._serialized_start=61972 + _EXTENSIONDESCRIPTOR._serialized_end=62052 + _INODEFILEMAP._serialized_start=62055 + _INODEFILEMAP._serialized_end=62319 + _INODEFILEMAP_ENTRY._serialized_start=62173 + _INODEFILEMAP_ENTRY._serialized_end=62319 + _INODEFILEMAP_ENTRY_TYPE._serialized_start=62275 + _INODEFILEMAP_ENTRY_TYPE._serialized_end=62319 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62321 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62398 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62401 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62543 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62545 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62623 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62626 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62769 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62771 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62845 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62847 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62955 + _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62958 + _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63147 + _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63150 + _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63299 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63301 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63357 + _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63359 + _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63477 + _BINDERLOCKFTRACEEVENT._serialized_start=63479 + _BINDERLOCKFTRACEEVENT._serialized_end=63515 + _BINDERLOCKEDFTRACEEVENT._serialized_start=63517 + _BINDERLOCKEDFTRACEEVENT._serialized_end=63555 + _BINDERUNLOCKFTRACEEVENT._serialized_start=63557 + _BINDERUNLOCKFTRACEEVENT._serialized_end=63595 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63597 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63722 + _BINDERCOMMANDFTRACEEVENT._serialized_start=63724 + _BINDERCOMMANDFTRACEEVENT._serialized_end=63763 + _BINDERRETURNFTRACEEVENT._serialized_start=63765 + _BINDERRETURNFTRACEEVENT._serialized_end=63803 + _BLOCKRQISSUEFTRACEEVENT._serialized_start=63806 + _BLOCKRQISSUEFTRACEEVENT._serialized_end=63935 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63937 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=64043 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=64045 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64148 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64150 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64256 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64258 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64365 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64367 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64469 + _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64471 + _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64596 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64598 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64670 + _BLOCKGETRQFTRACEEVENT._serialized_start=64672 + _BLOCKGETRQFTRACEEVENT._serialized_end=64771 + _BLOCKPLUGFTRACEEVENT._serialized_start=64773 + _BLOCKPLUGFTRACEEVENT._serialized_end=64809 + _BLOCKRQABORTFTRACEEVENT._serialized_start=64811 + _BLOCKRQABORTFTRACEEVENT._serialized_end=64927 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64930 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65064 + _BLOCKRQINSERTFTRACEEVENT._serialized_start=65067 + _BLOCKRQINSERTFTRACEEVENT._serialized_end=65197 + _BLOCKRQREMAPFTRACEEVENT._serialized_start=65200 + _BLOCKRQREMAPFTRACEEVENT._serialized_end=65341 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65343 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65461 + _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65463 + _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65564 + _BLOCKSPLITFTRACEEVENT._serialized_start=65566 + _BLOCKSPLITFTRACEEVENT._serialized_end=65666 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65668 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65740 + _BLOCKUNPLUGFTRACEEVENT._serialized_start=65742 + _BLOCKUNPLUGFTRACEEVENT._serialized_end=65795 + _BLOCKIOSTARTFTRACEEVENT._serialized_start=65798 + _BLOCKIOSTARTFTRACEEVENT._serialized_end=65943 + _BLOCKIODONEFTRACEEVENT._serialized_start=65946 + _BLOCKIODONEFTRACEEVENT._serialized_end=66090 + _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66093 + _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66235 + _CGROUPMKDIRFTRACEEVENT._serialized_start=66237 + _CGROUPMKDIRFTRACEEVENT._serialized_end=66331 + _CGROUPREMOUNTFTRACEEVENT._serialized_start=66333 + _CGROUPREMOUNTFTRACEEVENT._serialized_end=66404 + _CGROUPRMDIRFTRACEEVENT._serialized_start=66406 + _CGROUPRMDIRFTRACEEVENT._serialized_end=66500 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66503 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66648 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66650 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66725 + _CGROUPRELEASEFTRACEEVENT._serialized_start=66727 + _CGROUPRELEASEFTRACEEVENT._serialized_end=66823 + _CGROUPRENAMEFTRACEEVENT._serialized_start=66825 + _CGROUPRENAMEFTRACEEVENT._serialized_end=66920 + _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66922 + _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66995 + _CLKENABLEFTRACEEVENT._serialized_start=66997 + _CLKENABLEFTRACEEVENT._serialized_end=67033 + _CLKDISABLEFTRACEEVENT._serialized_start=67035 + _CLKDISABLEFTRACEEVENT._serialized_end=67072 + _CLKSETRATEFTRACEEVENT._serialized_start=67074 + _CLKSETRATEFTRACEEVENT._serialized_end=67125 + _CMAALLOCSTARTFTRACEEVENT._serialized_start=67127 + _CMAALLOCSTARTFTRACEEVENT._serialized_end=67197 + _CMAALLOCINFOFTRACEEVENT._serialized_start=67200 + _CMAALLOCINFOFTRACEEVENT._serialized_end=67396 + _CMAALLOCFINISHFTRACEEVENT._serialized_start=67398 + _CMAALLOCFINISHFTRACEEVENT._serialized_end=67513 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67515 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67636 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67639 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67783 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67786 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67923 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67926 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68065 + _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68068 + _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68203 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68205 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68292 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68294 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68409 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68411 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68529 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68531 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68583 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68585 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68699 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68701 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68778 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68780 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68867 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68869 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68972 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68974 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69090 + _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69092 + _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69169 + _CPUHPEXITFTRACEEVENT._serialized_start=69171 + _CPUHPEXITFTRACEEVENT._serialized_end=69247 + _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69249 + _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69332 + _CPUHPENTERFTRACEEVENT._serialized_start=69334 + _CPUHPENTERFTRACEEVENT._serialized_end=69412 + _CPUHPLATENCYFTRACEEVENT._serialized_start=69414 + _CPUHPLATENCYFTRACEEVENT._serialized_end=69494 + _CPUHPPAUSEFTRACEEVENT._serialized_start=69496 + _CPUHPPAUSEFTRACEEVENT._serialized_end=69583 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69586 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69756 + _DCVSHFREQFTRACEEVENT._serialized_start=69758 + _DCVSHFREQFTRACEEVENT._serialized_end=69807 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69809 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69928 + _DMAFENCEINITFTRACEEVENT._serialized_start=69930 + _DMAFENCEINITFTRACEEVENT._serialized_end=70021 + _DMAFENCEEMITFTRACEEVENT._serialized_start=70023 + _DMAFENCEEMITFTRACEEVENT._serialized_end=70114 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70116 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70211 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70213 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70309 + _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70311 + _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70405 + _DMAHEAPSTATFTRACEEVENT._serialized_start=70407 + _DMAHEAPSTATFTRACEEVENT._serialized_end=70484 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70487 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70616 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70618 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70683 + _DPUDSIRXFTRACEEVENT._serialized_start=70685 + _DPUDSIRXFTRACEEVENT._serialized_end=70735 + _DPUDSITXFTRACEEVENT._serialized_start=70737 + _DPUDSITXFTRACEEVENT._serialized_end=70820 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70822 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70910 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70912 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70994 + _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70996 + _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71083 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71085 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71162 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71165 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71327 + _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71330 + _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71522 + _DWC3CTRLREQFTRACEEVENT._serialized_start=71524 + _DWC3CTRLREQFTRACEEVENT._serialized_end=71650 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71653 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71812 + _DWC3EPQUEUEFTRACEEVENT._serialized_start=71815 + _DWC3EPQUEUEFTRACEEVENT._serialized_end=71972 + _DWC3EVENTFTRACEEVENT._serialized_start=71974 + _DWC3EVENTFTRACEEVENT._serialized_end=72042 + _DWC3FREEREQUESTFTRACEEVENT._serialized_start=72045 + _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72206 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72208 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72331 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72334 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72539 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72542 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72746 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72748 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72825 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72828 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72992 + _DWC3PREPARETRBFTRACEEVENT._serialized_start=72995 + _DWC3PREPARETRBFTRACEEVENT._serialized_end=73186 + _DWC3READLFTRACEEVENT._serialized_start=73188 + _DWC3READLFTRACEEVENT._serialized_end=73268 + _DWC3WRITELFTRACEEVENT._serialized_start=73270 + _DWC3WRITELFTRACEEVENT._serialized_end=73351 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73353 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73449 + _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73451 + _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73546 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73548 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73638 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73640 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73708 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73710 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73808 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73811 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=74004 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=74006 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74089 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74091 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74172 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74174 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74259 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74262 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74464 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74467 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74635 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74638 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74866 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74869 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75076 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75078 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75181 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75183 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75277 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75279 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75385 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75387 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75458 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75460 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75553 + _EXT4DROPINODEFTRACEEVENT._serialized_start=75555 + _EXT4DROPINODEFTRACEEVENT._serialized_end=75621 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75623 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75736 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75738 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75824 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75827 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75955 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75957 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76071 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76073 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76149 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76152 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76285 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76287 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76371 + _EXT4ESSHRINKFTRACEEVENT._serialized_start=76373 + _EXT4ESSHRINKFTRACEEVENT._serialized_end=76486 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76488 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76570 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76572 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76658 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76660 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76744 + _EXT4EVICTINODEFTRACEEVENT._serialized_start=76746 + _EXT4EVICTINODEFTRACEEVENT._serialized_end=76814 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76817 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76966 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76969 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77168 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77171 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77330 + _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77332 + _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77412 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77414 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77498 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77500 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77602 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77605 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77749 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77751 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77849 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77851 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77951 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77954 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78147 + _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78149 + _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78214 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78217 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78403 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78405 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78502 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78504 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78617 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78619 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78717 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78720 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78857 + _EXT4FORGETFTRACEEVENT._serialized_start=78859 + _EXT4FORGETFTRACEEVENT._serialized_end=78958 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78960 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79072 + _EXT4FREEINODEFTRACEEVENT._serialized_start=79074 + _EXT4FREEINODEFTRACEEVENT._serialized_end=79182 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79184 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79309 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79311 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79404 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79406 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79508 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79511 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79655 + _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79657 + _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79740 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79742 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79846 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79849 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79978 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79980 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=80058 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80060 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80174 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80176 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80279 + _EXT4LOADINODEFTRACEEVENT._serialized_start=80281 + _EXT4LOADINODEFTRACEEVENT._serialized_end=80333 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80335 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80395 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80397 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80466 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80468 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80525 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80527 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80589 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80591 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80660 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80662 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80771 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80773 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80882 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80884 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80965 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80967 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=81056 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=81059 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81449 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81451 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81572 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81574 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81692 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81695 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81921 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81923 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=82044 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=82046 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82141 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82143 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82225 + _EXT4READPAGEFTRACEEVENT._serialized_start=82227 + _EXT4READPAGEFTRACEEVENT._serialized_end=82293 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82295 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82364 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82367 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82567 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82570 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82747 + _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82749 + _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82818 + _EXT4SYNCFSFTRACEEVENT._serialized_start=82820 + _EXT4SYNCFSFTRACEEVENT._serialized_end=82870 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82872 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82981 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82983 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83091 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83093 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83165 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83167 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83238 + _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83240 + _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83324 + _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83326 + _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83392 + _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83394 + _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83488 + _EXT4WRITEENDFTRACEEVENT._serialized_start=83490 + _EXT4WRITEENDFTRACEEVENT._serialized_end=83583 + _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83585 + _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83652 + _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83655 + _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83879 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83882 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=84044 + _EXT4ZERORANGEFTRACEEVENT._serialized_start=84046 + _EXT4ZERORANGEFTRACEEVENT._serialized_end=84141 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84143 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84243 + _F2FSEVICTINODEFTRACEEVENT._serialized_start=84246 + _F2FSEVICTINODEFTRACEEVENT._serialized_end=84388 + _F2FSFALLOCATEFTRACEEVENT._serialized_start=84391 + _F2FSFALLOCATEFTRACEEVENT._serialized_end=84529 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84531 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84650 + _F2FSGETVICTIMFTRACEEVENT._serialized_start=84653 + _F2FSGETVICTIMFTRACEEVENT._serialized_end=84859 + _F2FSIGETFTRACEEVENT._serialized_start=84862 + _F2FSIGETFTRACEEVENT._serialized_end=84998 + _F2FSIGETEXITFTRACEEVENT._serialized_start=85000 + _F2FSIGETEXITFTRACEEVENT._serialized_end=85064 + _F2FSNEWINODEFTRACEEVENT._serialized_start=85066 + _F2FSNEWINODEFTRACEEVENT._serialized_end=85130 + _F2FSREADPAGEFTRACEEVENT._serialized_start=85133 + _F2FSREADPAGEFTRACEEVENT._serialized_end=85276 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85278 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85357 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85360 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85490 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85492 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85594 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85597 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85742 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85744 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85866 + _F2FSSYNCFSFTRACEEVENT._serialized_start=85868 + _F2FSSYNCFSFTRACEEVENT._serialized_end=85933 + _F2FSTRUNCATEFTRACEEVENT._serialized_start=85936 + _F2FSTRUNCATEFTRACEEVENT._serialized_end=86076 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86078 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86184 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86186 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86260 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86262 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86368 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86370 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86481 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86483 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86562 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86564 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86650 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86652 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86744 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86746 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86819 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86821 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86925 + _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86927 + _F2FSUNLINKENTERFTRACEEVENT._serialized_end=87025 + _F2FSUNLINKEXITFTRACEEVENT._serialized_start=87027 + _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87093 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87096 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87227 + _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87229 + _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87323 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87325 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87418 + _F2FSWRITEENDFTRACEEVENT._serialized_start=87420 + _F2FSWRITEENDFTRACEEVENT._serialized_end=87513 + _F2FSIOSTATFTRACEEVENT._serialized_start=87516 + _F2FSIOSTATFTRACEEVENT._serialized_end=87941 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87944 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88527 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88529 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88619 + _F2FSGCBEGINFTRACEEVENT._serialized_start=88622 + _F2FSGCBEGINFTRACEEVENT._serialized_end=88892 + _F2FSGCENDFTRACEEVENT._serialized_start=88895 + _F2FSGCENDFTRACEEVENT._serialized_end=89123 + _FASTRPCDMASTATFTRACEEVENT._serialized_start=89125 + _FASTRPCDMASTATFTRACEEVENT._serialized_end=89203 + _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89205 + _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89273 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89275 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89374 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89376 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89445 + _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89447 + _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89569 + _FENCEINITFTRACEEVENT._serialized_start=89571 + _FENCEINITFTRACEEVENT._serialized_end=89659 + _FENCEDESTROYFTRACEEVENT._serialized_start=89661 + _FENCEDESTROYFTRACEEVENT._serialized_end=89752 + _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89754 + _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89850 + _FENCESIGNALEDFTRACEEVENT._serialized_start=89852 + _FENCESIGNALEDFTRACEEVENT._serialized_end=89944 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89946 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=90054 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=90056 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90169 + _DOSYSOPENFTRACEEVENT._serialized_start=90171 + _DOSYSOPENFTRACEEVENT._serialized_end=90240 + _OPENEXECFTRACEEVENT._serialized_start=90242 + _OPENEXECFTRACEEVENT._serialized_end=90281 + _PRINTFTRACEEVENT._serialized_start=90283 + _PRINTFTRACEEVENT._serialized_end=90326 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90328 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90384 + _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90386 + _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90493 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90495 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90583 + _GENERICFTRACEEVENT._serialized_start=90586 + _GENERICFTRACEEVENT._serialized_end=90780 + _GENERICFTRACEEVENT_FIELD._serialized_start=90686 + _GENERICFTRACEEVENT_FIELD._serialized_end=90780 + _KPROBEEVENT._serialized_start=90783 + _KPROBEEVENT._serialized_end=90973 + _KPROBEEVENT_KPROBETYPE._serialized_start=90867 + _KPROBEEVENT_KPROBETYPE._serialized_end=90973 + _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90975 + _GOOGLEICCEVENTFTRACEEVENT._serialized_end=91036 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=91038 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91099 + _GPUMEMTOTALFTRACEEVENT._serialized_start=91101 + _GPUMEMTOTALFTRACEEVENT._serialized_end=91168 + _DRMSCHEDJOBFTRACEEVENT._serialized_start=91170 + _DRMSCHEDJOBFTRACEEVENT._serialized_end=91292 + _DRMRUNJOBFTRACEEVENT._serialized_start=91294 + _DRMRUNJOBFTRACEEVENT._serialized_end=91414 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91416 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91462 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91464 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91566 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91568 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91640 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91643 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91803 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91806 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91964 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91966 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92075 + _HYPENTERFTRACEEVENT._serialized_start=92077 + _HYPENTERFTRACEEVENT._serialized_end=92098 + _HYPEXITFTRACEEVENT._serialized_start=92100 + _HYPEXITFTRACEEVENT._serialized_end=92120 + _HOSTHCALLFTRACEEVENT._serialized_start=92122 + _HOSTHCALLFTRACEEVENT._serialized_end=92173 + _HOSTSMCFTRACEEVENT._serialized_start=92175 + _HOSTSMCFTRACEEVENT._serialized_end=92226 + _HOSTMEMABORTFTRACEEVENT._serialized_start=92228 + _HOSTMEMABORTFTRACEEVENT._serialized_end=92280 + _HOSTFFACALLFTRACEEVENT._serialized_start=92283 + _HOSTFFACALLFTRACEEVENT._serialized_end=92418 + _IOMMUIDMAPFTRACEEVENT._serialized_start=92420 + _IOMMUIDMAPFTRACEEVENT._serialized_end=92483 + _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92485 + _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92540 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92542 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92603 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92605 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92666 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92668 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92698 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92700 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92773 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92775 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92840 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92842 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92904 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92906 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92937 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92939 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92993 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92995 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=93046 + _I2CREADFTRACEEVENT._serialized_start=93048 + _I2CREADFTRACEEVENT._serialized_end=93146 + _I2CWRITEFTRACEEVENT._serialized_start=93148 + _I2CWRITEFTRACEEVENT._serialized_end=93260 + _I2CRESULTFTRACEEVENT._serialized_start=93262 + _I2CRESULTFTRACEEVENT._serialized_end=93334 + _I2CREPLYFTRACEEVENT._serialized_start=93336 + _I2CREPLYFTRACEEVENT._serialized_end=93448 + _SMBUSREADFTRACEEVENT._serialized_start=93450 + _SMBUSREADFTRACEEVENT._serialized_end=93556 + _SMBUSWRITEFTRACEEVENT._serialized_start=93558 + _SMBUSWRITEFTRACEEVENT._serialized_end=93678 + _SMBUSRESULTFTRACEEVENT._serialized_start=93681 + _SMBUSRESULTFTRACEEVENT._serialized_end=93822 + _SMBUSREPLYFTRACEEVENT._serialized_start=93824 + _SMBUSREPLYFTRACEEVENT._serialized_end=93944 + _IONSTATFTRACEEVENT._serialized_start=93946 + _IONSTATFTRACEEVENT._serialized_end=94023 + _IPIENTRYFTRACEEVENT._serialized_start=94025 + _IPIENTRYFTRACEEVENT._serialized_end=94062 + _IPIEXITFTRACEEVENT._serialized_start=94064 + _IPIEXITFTRACEEVENT._serialized_end=94100 + _IPIRAISEFTRACEEVENT._serialized_start=94102 + _IPIRAISEFTRACEEVENT._serialized_end=94160 + _SOFTIRQENTRYFTRACEEVENT._serialized_start=94162 + _SOFTIRQENTRYFTRACEEVENT._serialized_end=94200 + _SOFTIRQEXITFTRACEEVENT._serialized_start=94202 + _SOFTIRQEXITFTRACEEVENT._serialized_end=94239 + _SOFTIRQRAISEFTRACEEVENT._serialized_start=94241 + _SOFTIRQRAISEFTRACEEVENT._serialized_end=94279 + _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94281 + _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94353 + _IRQHANDLEREXITFTRACEEVENT._serialized_start=94355 + _IRQHANDLEREXITFTRACEEVENT._serialized_end=94408 + _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94410 + _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94454 + _LOCALTIMEREXITFTRACEEVENT._serialized_start=94456 + _LOCALTIMEREXITFTRACEEVENT._serialized_end=94499 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94501 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94564 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94566 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94679 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94682 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94931 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94933 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=95028 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=95031 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95372 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95374 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95439 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95441 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95507 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95509 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95576 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95578 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95641 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95643 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95707 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95709 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95774 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95776 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95827 + _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95829 + _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95912 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95914 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=96016 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=96018 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96122 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96124 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96236 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96239 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96367 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96370 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96502 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96504 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96618 + _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96620 + _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96663 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96665 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96760 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96762 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96859 + _IONPREFETCHINGFTRACEEVENT._serialized_start=96861 + _IONPREFETCHINGFTRACEEVENT._serialized_end=96901 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96903 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96994 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96996 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97089 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97091 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97189 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97191 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97291 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97293 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97375 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97377 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97461 + _KFREEFTRACEEVENT._serialized_start=97463 + _KFREEFTRACEEVENT._serialized_end=97513 + _KMALLOCFTRACEEVENT._serialized_start=97515 + _KMALLOCFTRACEEVENT._serialized_end=97626 + _KMALLOCNODEFTRACEEVENT._serialized_start=97629 + _KMALLOCNODEFTRACEEVENT._serialized_end=97758 + _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97760 + _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97878 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97881 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=98017 + _KMEMCACHEFREEFTRACEEVENT._serialized_start=98019 + _KMEMCACHEFREEFTRACEEVENT._serialized_end=98077 + _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98079 + _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98121 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98123 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98167 + _MIGRATERETRYFTRACEEVENT._serialized_start=98169 + _MIGRATERETRYFTRACEEVENT._serialized_end=98209 + _MMPAGEALLOCFTRACEEVENT._serialized_start=98211 + _MMPAGEALLOCFTRACEEVENT._serialized_end=98317 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98320 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98506 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98508 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98605 + _MMPAGEFREEFTRACEEVENT._serialized_start=98607 + _MMPAGEFREEFTRACEEVENT._serialized_end=98672 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98674 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98745 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98747 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98838 + _RSSSTATFTRACEEVENT._serialized_start=98840 + _RSSSTATFTRACEEVENT._serialized_end=98919 + _IONHEAPSHRINKFTRACEEVENT._serialized_start=98921 + _IONHEAPSHRINKFTRACEEVENT._serialized_end=99004 + _IONHEAPGROWFTRACEEVENT._serialized_start=99006 + _IONHEAPGROWFTRACEEVENT._serialized_end=99087 + _IONBUFFERCREATEFTRACEEVENT._serialized_start=99089 + _IONBUFFERCREATEFTRACEEVENT._serialized_end=99144 + _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99146 + _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99202 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99205 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99358 + _DMABUFRSSSTATFTRACEEVENT._serialized_start=99360 + _DMABUFRSSSTATFTRACEEVENT._serialized_end=99433 + _KVMACCESSFAULTFTRACEEVENT._serialized_start=99435 + _KVMACCESSFAULTFTRACEEVENT._serialized_end=99475 + _KVMACKIRQFTRACEEVENT._serialized_start=99477 + _KVMACKIRQFTRACEEVENT._serialized_end=99529 + _KVMAGEHVAFTRACEEVENT._serialized_start=99531 + _KVMAGEHVAFTRACEEVENT._serialized_end=99581 + _KVMAGEPAGEFTRACEEVENT._serialized_start=99583 + _KVMAGEPAGEFTRACEEVENT._serialized_end=99667 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99669 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99719 + _KVMARMSETDREG32FTRACEEVENT._serialized_start=99721 + _KVMARMSETDREG32FTRACEEVENT._serialized_end=99778 + _KVMARMSETREGSETFTRACEEVENT._serialized_start=99780 + _KVMARMSETREGSETFTRACEEVENT._serialized_end=99835 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99837 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99901 + _KVMENTRYFTRACEEVENT._serialized_start=99903 + _KVMENTRYFTRACEEVENT._serialized_end=99941 + _KVMEXITFTRACEEVENT._serialized_start=99943 + _KVMEXITFTRACEEVENT._serialized_end=100009 + _KVMFPUFTRACEEVENT._serialized_start=100011 + _KVMFPUFTRACEEVENT._serialized_end=100044 + _KVMGETTIMERMAPFTRACEEVENT._serialized_start=100046 + _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100157 + _KVMGUESTFAULTFTRACEEVENT._serialized_start=100159 + _KVMGUESTFAULTFTRACEEVENT._serialized_end=100243 + _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100245 + _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100286 + _KVMHVCARM64FTRACEEVENT._serialized_start=100288 + _KVMHVCARM64FTRACEEVENT._serialized_end=100354 + _KVMIRQLINEFTRACEEVENT._serialized_start=100356 + _KVMIRQLINEFTRACEEVENT._serialized_end=100443 + _KVMMMIOFTRACEEVENT._serialized_start=100445 + _KVMMMIOFTRACEEVENT._serialized_end=100518 + _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100520 + _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100593 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100595 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100659 + _KVMSETIRQFTRACEEVENT._serialized_start=100661 + _KVMSETIRQFTRACEEVENT._serialized_end=100734 + _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100736 + _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100775 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100777 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100836 + _KVMSYSACCESSFTRACEEVENT._serialized_start=100839 + _KVMSYSACCESSFTRACEEVENT._serialized_end=100978 + _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100980 + _KVMTESTAGEHVAFTRACEEVENT._serialized_end=101019 + _KVMTIMEREMULATEFTRACEEVENT._serialized_start=101021 + _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101089 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101091 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101144 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101146 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101225 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101227 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101303 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101305 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101380 + _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101382 + _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101452 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101454 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101511 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101513 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101558 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101560 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101629 + _KVMWFXARM64FTRACEEVENT._serialized_start=101631 + _KVMWFXARM64FTRACEEVENT._serialized_end=101688 + _TRAPREGFTRACEEVENT._serialized_start=101690 + _TRAPREGFTRACEEVENT._serialized_end=101774 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101776 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101854 + _LOWMEMORYKILLFTRACEEVENT._serialized_start=101856 + _LOWMEMORYKILLFTRACEEVENT._serialized_end=101972 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101974 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102087 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102089 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102178 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102180 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102297 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102299 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102422 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102424 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102545 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102547 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102669 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102671 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102796 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102798 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102921 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102923 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=103015 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=103017 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103107 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103109 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103217 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103219 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103318 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103320 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103420 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103422 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103518 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103520 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103622 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103624 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103722 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103724 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103821 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103823 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103922 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103924 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=104011 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=104013 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104096 + _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104098 + _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104180 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104182 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104282 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104284 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104379 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104381 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104467 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104469 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104563 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104565 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104658 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104660 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104750 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104752 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104843 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104845 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104940 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104942 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=105029 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=105031 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105123 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105125 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105214 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105216 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105305 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105307 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105394 + _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105396 + _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105460 + _MDPCOMMITFTRACEEVENT._serialized_start=105462 + _MDPCOMMITFTRACEEVENT._serialized_end=105552 + _MDPPERFSETOTFTRACEEVENT._serialized_start=105554 + _MDPPERFSETOTFTRACEEVENT._serialized_end=105645 + _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105648 + _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105916 + _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105918 + _TRACINGMARKWRITEFTRACEEVENT._serialized_end=106001 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=106003 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106103 + _MDPCOMPAREBWFTRACEEVENT._serialized_start=106106 + _MDPCOMPAREBWFTRACEEVENT._serialized_end=106270 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106272 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106384 + _MDPSSPPSETFTRACEEVENT._serialized_start=106387 + _MDPSSPPSETFTRACEEVENT._serialized_end=106652 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106654 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106719 + _MDPMISRCRCFTRACEEVENT._serialized_start=106721 + _MDPMISRCRCFTRACEEVENT._serialized_end=106794 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106796 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106921 + _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106923 + _MDPTRACECOUNTERFTRACEEVENT._serialized_end=107001 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=107003 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=107048 + _MDPMIXERUPDATEFTRACEEVENT._serialized_start=107050 + _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107096 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107099 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107259 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107261 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107333 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107335 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107404 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107407 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107613 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107615 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107696 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107698 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107746 + _MMEVENTRECORDFTRACEEVENT._serialized_start=107748 + _MMEVENTRECORDFTRACEEVENT._serialized_end=107837 + _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107839 + _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107911 + _NETDEVXMITFTRACEEVENT._serialized_start=107913 + _NETDEVXMITFTRACEEVENT._serialized_end=107992 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107995 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108374 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108376 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108420 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108422 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108502 + _MARKVICTIMFTRACEEVENT._serialized_start=108504 + _MARKVICTIMFTRACEEVENT._serialized_end=108540 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108542 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108604 + _DSIRXFTRACEEVENT._serialized_start=108606 + _DSIRXFTRACEEVENT._serialized_end=108653 + _DSITXFTRACEEVENT._serialized_start=108655 + _DSITXFTRACEEVENT._serialized_end=108717 + _PANELWRITEGENERICFTRACEEVENT._serialized_start=108719 + _PANELWRITEGENERICFTRACEEVENT._serialized_end=108846 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108849 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109237 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109239 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109287 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109289 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109373 + _CPUFREQUENCYFTRACEEVENT._serialized_start=109375 + _CPUFREQUENCYFTRACEEVENT._serialized_end=109431 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109433 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109516 + _CPUIDLEFTRACEEVENT._serialized_start=109518 + _CPUIDLEFTRACEEVENT._serialized_end=109569 + _CLOCKENABLEFTRACEEVENT._serialized_start=109571 + _CLOCKENABLEFTRACEEVENT._serialized_end=109640 + _CLOCKDISABLEFTRACEEVENT._serialized_start=109642 + _CLOCKDISABLEFTRACEEVENT._serialized_end=109712 + _CLOCKSETRATEFTRACEEVENT._serialized_start=109714 + _CLOCKSETRATEFTRACEEVENT._serialized_end=109784 + _SUSPENDRESUMEFTRACEEVENT._serialized_start=109786 + _SUSPENDRESUMEFTRACEEVENT._serialized_end=109856 + _GPUFREQUENCYFTRACEEVENT._serialized_start=109858 + _GPUFREQUENCYFTRACEEVENT._serialized_end=109914 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109916 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109978 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109980 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=110044 + _GPUWORKPERIODFTRACEEVENT._serialized_start=110047 + _GPUWORKPERIODFTRACEEVENT._serialized_end=110180 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110182 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110295 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110297 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110376 + _CONSOLEFTRACEEVENT._serialized_start=110378 + _CONSOLEFTRACEEVENT._serialized_end=110411 + _SYSENTERFTRACEEVENT._serialized_start=110413 + _SYSENTERFTRACEEVENT._serialized_end=110460 + _SYSEXITFTRACEEVENT._serialized_start=110462 + _SYSEXITFTRACEEVENT._serialized_end=110507 + _REGULATORDISABLEFTRACEEVENT._serialized_start=110509 + _REGULATORDISABLEFTRACEEVENT._serialized_end=110552 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110554 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110605 + _REGULATORENABLEFTRACEEVENT._serialized_start=110607 + _REGULATORENABLEFTRACEEVENT._serialized_end=110649 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110651 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110701 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110703 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110750 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110752 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110824 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110826 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110893 + _RPMSTATUSFTRACEEVENT._serialized_start=110895 + _RPMSTATUSFTRACEEVENT._serialized_end=110947 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110949 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111074 + _SCHEDSWITCHFTRACEEVENT._serialized_start=111077 + _SCHEDSWITCHFTRACEEVENT._serialized_end=111233 + _SCHEDWAKEUPFTRACEEVENT._serialized_start=111235 + _SCHEDWAKEUPFTRACEEVENT._serialized_end=111337 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111339 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111416 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111418 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111499 + _SCHEDWAKINGFTRACEEVENT._serialized_start=111501 + _SCHEDWAKINGFTRACEEVENT._serialized_end=111603 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111605 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111710 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111712 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111789 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111791 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111875 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111877 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111986 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111988 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=112058 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112060 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112116 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112118 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112188 + _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112190 + _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112278 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112281 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112609 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112612 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112749 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112751 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112875 + _SCMCALLSTARTFTRACEEVENT._serialized_start=112877 + _SCMCALLSTARTFTRACEEVENT._serialized_end=112943 + _SCMCALLENDFTRACEEVENT._serialized_start=112945 + _SCMCALLENDFTRACEEVENT._serialized_end=112968 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112970 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113091 + _SDESDEEVTLOGFTRACEEVENT._serialized_start=113093 + _SDESDEEVTLOGFTRACEEVENT._serialized_end=113167 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113170 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113350 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113353 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113636 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113638 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113754 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113756 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113856 + _SIGNALDELIVERFTRACEEVENT._serialized_start=113858 + _SIGNALDELIVERFTRACEEVENT._serialized_end=113929 + _SIGNALGENERATEFTRACEEVENT._serialized_start=113931 + _SIGNALGENERATEFTRACEEVENT._serialized_end=114043 + _KFREESKBFTRACEEVENT._serialized_start=114045 + _KFREESKBFTRACEEVENT._serialized_end=114119 + _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114122 + _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114297 + _SYNCPTFTRACEEVENT._serialized_start=114299 + _SYNCPTFTRACEEVENT._serialized_end=114351 + _SYNCTIMELINEFTRACEEVENT._serialized_start=114353 + _SYNCTIMELINEFTRACEEVENT._serialized_end=114407 + _SYNCWAITFTRACEEVENT._serialized_start=114409 + _SYNCWAITFTRACEEVENT._serialized_end=114475 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114477 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114565 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114567 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114615 + _ZEROFTRACEEVENT._serialized_start=114617 + _ZEROFTRACEEVENT._serialized_end=114690 + _TASKNEWTASKFTRACEEVENT._serialized_start=114692 + _TASKNEWTASKFTRACEEVENT._serialized_end=114787 + _TASKRENAMEFTRACEEVENT._serialized_start=114789 + _TASKRENAMEFTRACEEVENT._serialized_end=114882 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114885 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=115022 + _THERMALTEMPERATUREFTRACEEVENT._serialized_start=115024 + _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115122 + _CDEVUPDATEFTRACEEVENT._serialized_start=115124 + _CDEVUPDATEFTRACEEVENT._serialized_end=115177 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115180 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115408 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115411 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115573 + _HRTIMERSTARTFTRACEEVENT._serialized_start=115575 + _HRTIMERSTARTFTRACEEVENT._serialized_end=115687 + _HRTIMERCANCELFTRACEEVENT._serialized_start=115689 + _HRTIMERCANCELFTRACEEVENT._serialized_end=115732 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115734 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115813 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115815 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115862 + _TIMERSTARTFTRACEEVENT._serialized_start=115865 + _TIMERSTARTFTRACEEVENT._serialized_end=116009 + _TIMERCANCELFTRACEEVENT._serialized_start=116011 + _TIMERCANCELFTRACEEVENT._serialized_end=116050 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=116052 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116144 + _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116146 + _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116189 + _TRUSTYSMCFTRACEEVENT._serialized_start=116191 + _TRUSTYSMCFTRACEEVENT._serialized_end=116261 + _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116263 + _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116302 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116304 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116380 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116382 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116427 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116429 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116501 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116503 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116608 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116610 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116654 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116656 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116717 + _TRUSTYIRQFTRACEEVENT._serialized_start=116719 + _TRUSTYIRQFTRACEEVENT._serialized_end=116754 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116756 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116839 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116841 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116913 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116915 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116989 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116992 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117122 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117124 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117201 + _TRUSTYIPCREADFTRACEEVENT._serialized_start=117203 + _TRUSTYIPCREADFTRACEEVENT._serialized_end=117261 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117263 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117377 + _TRUSTYIPCRXFTRACEEVENT._serialized_start=117379 + _TRUSTYIPCRXFTRACEEVENT._serialized_end=117451 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117453 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117524 + _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117527 + _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117713 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117715 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117776 + _V4L2QBUFFTRACEEVENT._serialized_start=117779 + _V4L2QBUFFTRACEEVENT._serialized_end=118190 + _V4L2DQBUFFTRACEEVENT._serialized_start=118193 + _V4L2DQBUFFTRACEEVENT._serialized_end=118605 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118608 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118978 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118981 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119350 + _VB2V4L2QBUFFTRACEEVENT._serialized_start=119353 + _VB2V4L2QBUFFTRACEEVENT._serialized_end=119719 + _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119722 + _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120089 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120092 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120257 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120260 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120428 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120430 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120490 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120492 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120556 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120559 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120755 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120758 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120958 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120960 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=121056 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=121058 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121117 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121119 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121191 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121193 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121238 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121241 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121474 + _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121477 + _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121622 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121624 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121672 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121674 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121738 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121740 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121806 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121808 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121920 + _FTRACEEVENT._serialized_start=121924 + _FTRACEEVENT._serialized_end=166827 + _FTRACECPUSTATS._serialized_start=166830 + _FTRACECPUSTATS._serialized_end=167023 + _FTRACEKPROBESTATS._serialized_start=167025 + _FTRACEKPROBESTATS._serialized_end=167074 + _FTRACESTATS._serialized_start=167077 + _FTRACESTATS._serialized_end=167660 + _FTRACESTATS_PHASE._serialized_start=167598 + _FTRACESTATS_PHASE._serialized_end=167660 + _FTRACEEVENTBUNDLE._serialized_start=167663 + _FTRACEEVENTBUNDLE._serialized_end=168743 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168201 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168567 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168569 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168653 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168655 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168743 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168745 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168807 + _GENERICKERNELTASKSTATEEVENT._serialized_start=168810 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169228 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168971 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169228 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169230 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169287 + _GENERICKERNELPROCESSTREE._serialized_start=169290 + _GENERICKERNELPROCESSTREE._serialized_end=169582 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169455 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169527 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169529 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169582 + _GPUCOUNTEREVENT._serialized_start=169585 + _GPUCOUNTEREVENT._serialized_end=169836 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169750 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169836 + _GPULOG._serialized_start=169839 + _GPULOG._serialized_end=170099 + _GPULOG_SEVERITY._serialized_start=169936 + _GPULOG_SEVERITY._serialized_end=170099 + _GPURENDERSTAGEEVENT._serialized_start=170102 + _GPURENDERSTAGEEVENT._serialized_end=171021 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170611 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170651 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170654 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=171015 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170922 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170965 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170967 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=171015 + _INTERNEDGRAPHICSCONTEXT._serialized_start=171024 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171194 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171136 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171194 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171197 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171435 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171376 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171435 + _VULKANAPIEVENT._serialized_start=171438 + _VULKANAPIEVENT._serialized_end=171881 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171624 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171738 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171741 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171872 + _VULKANMEMORYEVENTANNOTATION._serialized_start=171883 + _VULKANMEMORYEVENTANNOTATION._serialized_end=172005 + _VULKANMEMORYEVENT._serialized_start=172008 + _VULKANMEMORYEVENT._serialized_end=172880 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172493 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172626 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172628 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172745 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172748 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172880 + _INTERNEDSTRING._serialized_start=172882 + _INTERNEDSTRING._serialized_end=172924 + _LINE._serialized_start=172926 + _LINE._serialized_end=173002 + _ADDRESSSYMBOLS._serialized_start=173004 + _ADDRESSSYMBOLS._serialized_end=173075 + _MODULESYMBOLS._serialized_start=173077 + _MODULESYMBOLS._serialized_end=173182 + _MAPPING._serialized_start=173185 + _MAPPING._serialized_end=173341 + _FRAME._serialized_start=173343 + _FRAME._serialized_end=173425 + _CALLSTACK._serialized_start=173427 + _CALLSTACK._serialized_end=173470 + _HISTOGRAMNAME._serialized_start=173472 + _HISTOGRAMNAME._serialized_end=173514 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173516 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173606 + _DEBUGANNOTATION._serialized_start=173609 + _DEBUGANNOTATION._serialized_end=174549 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174121 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174501 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174451 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174501 + _DEBUGANNOTATIONNAME._serialized_start=174551 + _DEBUGANNOTATIONNAME._serialized_end=174599 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174601 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174658 + _LOGMESSAGE._serialized_start=174661 + _LOGMESSAGE._serialized_end=174920 + _LOGMESSAGE_PRIORITY._serialized_start=174775 + _LOGMESSAGE_PRIORITY._serialized_end=174920 + _LOGMESSAGEBODY._serialized_start=174922 + _LOGMESSAGEBODY._serialized_end=174965 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174967 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=175044 + _SOURCELOCATION._serialized_start=175046 + _SOURCELOCATION._serialized_end=175138 + _CHROMEACTIVEPROCESSES._serialized_start=175140 + _CHROMEACTIVEPROCESSES._serialized_end=175176 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175179 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175545 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175305 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175545 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175548 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176635 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176439 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176629 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176638 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180348 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176829 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178128 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177368 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177529 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177532 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177679 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177682 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177926 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177929 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178128 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178131 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180348 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=180025 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180209 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180212 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180342 + _BEGINFRAMEARGS._serialized_start=180351 + _BEGINFRAMEARGS._serialized_end=180905 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180727 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180889 + _BEGINIMPLFRAMEARGS._serialized_start=180908 + _BEGINIMPLFRAMEARGS._serialized_end=181484 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181225 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181418 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181420 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181476 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181486 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181609 + _BEGINFRAMESOURCESTATE._serialized_start=181612 + _BEGINFRAMESOURCESTATE._serialized_end=181757 + _COMPOSITORTIMINGHISTORY._serialized_start=181760 + _COMPOSITORTIMINGHISTORY._serialized_end=182140 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182142 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182204 + _CHROMEFRAMEREPORTER._serialized_start=182207 + _CHROMEFRAMEREPORTER._serialized_end=183327 + _CHROMEFRAMEREPORTER_STATE._serialized_start=182922 + _CHROMEFRAMEREPORTER_STATE._serialized_end=183031 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=183033 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183159 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183161 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183284 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183286 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183323 + _CHROMEKEYEDSERVICE._serialized_start=183329 + _CHROMEKEYEDSERVICE._serialized_end=183363 + _CHROMELATENCYINFO._serialized_start=183366 + _CHROMELATENCYINFO._serialized_end=185148 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183695 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183808 + _CHROMELATENCYINFO_STEP._serialized_start=183811 + _CHROMELATENCYINFO_STEP._serialized_end=184213 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184216 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184973 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184976 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185148 + _CHROMELEGACYIPC._serialized_start=185151 + _CHROMELEGACYIPC._serialized_end=186125 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185263 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186125 + _CHROMEMESSAGEPUMP._serialized_start=186127 + _CHROMEMESSAGEPUMP._serialized_end=186211 + _CHROMEMOJOEVENTINFO._serialized_start=186214 + _CHROMEMOJOEVENTINFO._serialized_end=186418 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186420 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186546 + _CHROMEUSEREVENT._serialized_start=186548 + _CHROMEUSEREVENT._serialized_end=186602 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186604 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186684 + _SCREENSHOT._serialized_start=186686 + _SCREENSHOT._serialized_end=186717 + _TASKEXECUTION._serialized_start=186719 + _TASKEXECUTION._serialized_end=186759 + _TRACKEVENT._serialized_start=186762 + _TRACKEVENT._serialized_end=189929 + _TRACKEVENT_LEGACYEVENT._serialized_start=188951 + _TRACKEVENT_LEGACYEVENT._serialized_end=189633 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189442 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189522 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189524 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189621 + _TRACKEVENT_TYPE._serialized_start=189635 + _TRACKEVENT_TYPE._serialized_end=189741 + _TRACKEVENTDEFAULTS._serialized_start=189931 + _TRACKEVENTDEFAULTS._serialized_end=190048 + _EVENTCATEGORY._serialized_start=190050 + _EVENTCATEGORY._serialized_end=190092 + _EVENTNAME._serialized_start=190094 + _EVENTNAME._serialized_end=190132 + _INTERNEDDATA._serialized_start=190135 + _INTERNEDDATA._serialized_end=192250 + _MEMORYTRACKERSNAPSHOT._serialized_start=192253 + _MEMORYTRACKERSNAPSHOT._serialized_end=193261 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192468 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193186 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192682 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193093 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192866 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193093 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=193047 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193093 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193095 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193186 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193188 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193261 + _PERFETTOMETATRACE._serialized_start=193264 + _PERFETTOMETATRACE._serialized_end=193809 + _PERFETTOMETATRACE_ARG._serialized_start=193621 + _PERFETTOMETATRACE_ARG._serialized_end=193748 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193750 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193794 + _TRACINGSERVICEEVENT._serialized_start=193812 + _TRACINGSERVICEEVENT._serialized_end=194462 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194290 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194448 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194387 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194448 + _ANDROIDENERGYCONSUMER._serialized_start=194464 + _ANDROIDENERGYCONSUMER._serialized_end=194560 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194562 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194661 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194664 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194984 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194931 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194984 + _ENTITYSTATERESIDENCY._serialized_start=194987 + _ENTITYSTATERESIDENCY._serialized_end=195430 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195168 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195270 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195273 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195430 + _BATTERYCOUNTERS._serialized_start=195433 + _BATTERYCOUNTERS._serialized_end=195610 + _POWERRAILS._serialized_start=195613 + _POWERRAILS._serialized_end=195940 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=195779 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=195873 + _POWERRAILS_ENERGYDATA._serialized_start=195875 + _POWERRAILS_ENERGYDATA._serialized_end=195940 + _OBFUSCATEDMEMBER._serialized_start=195942 + _OBFUSCATEDMEMBER._serialized_end=196012 + _OBFUSCATEDCLASS._serialized_start=196015 + _OBFUSCATEDCLASS._serialized_end=196210 + _DEOBFUSCATIONMAPPING._serialized_start=196213 + _DEOBFUSCATIONMAPPING._serialized_end=196341 + _HEAPGRAPHROOT._serialized_start=196344 + _HEAPGRAPHROOT._serialized_end=196782 + _HEAPGRAPHROOT_TYPE._serialized_start=196442 + _HEAPGRAPHROOT_TYPE._serialized_end=196782 + _HEAPGRAPHTYPE._serialized_start=196785 + _HEAPGRAPHTYPE._serialized_end=197269 + _HEAPGRAPHTYPE_KIND._serialized_start=197007 + _HEAPGRAPHTYPE_KIND._serialized_end=197269 + _HEAPGRAPHOBJECT._serialized_start=197272 + _HEAPGRAPHOBJECT._serialized_end=197728 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197614 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197714 + _HEAPGRAPH._serialized_start=197731 + _HEAPGRAPH._serialized_end=198051 + _PROFILEPACKET._serialized_start=198054 + _PROFILEPACKET._serialized_end=199522 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198362 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198548 + _PROFILEPACKET_HISTOGRAM._serialized_start=198551 + _PROFILEPACKET_HISTOGRAM._serialized_end=198694 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198630 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198694 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198697 + _PROFILEPACKET_PROCESSSTATS._serialized_end=198919 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198922 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199522 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199417 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199522 + _STREAMINGALLOCATION._serialized_start=199525 + _STREAMINGALLOCATION._serialized_end=199682 + _STREAMINGFREE._serialized_start=199684 + _STREAMINGFREE._serialized_end=199758 + _STREAMINGPROFILEPACKET._serialized_start=199760 + _STREAMINGPROFILEPACKET._serialized_end=199861 + _PROFILING._serialized_start=199864 + _PROFILING._serialized_end=200520 + _PROFILING_CPUMODE._serialized_start=199877 + _PROFILING_CPUMODE._serialized_end=200001 + _PROFILING_STACKUNWINDERROR._serialized_start=200004 + _PROFILING_STACKUNWINDERROR._serialized_end=200520 + _PERFSAMPLE._serialized_start=200523 + _PERFSAMPLE._serialized_end=201402 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=200947 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201167 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=201058 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201136 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201170 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201343 + _PERFSAMPLEDEFAULTS._serialized_start=201405 + _PERFSAMPLEDEFAULTS._serialized_end=201591 + _SMAPSENTRY._serialized_start=201594 + _SMAPSENTRY._serialized_end=201981 + _SMAPSPACKET._serialized_start=201983 + _SMAPSPACKET._serialized_end=202055 + _PROCESSSTATS._serialized_start=202058 + _PROCESSSTATS._serialized_end=202885 + _PROCESSSTATS_THREAD._serialized_start=202166 + _PROCESSSTATS_THREAD._serialized_end=202205 + _PROCESSSTATS_FDINFO._serialized_start=202207 + _PROCESSSTATS_FDINFO._serialized_end=202241 + _PROCESSSTATS_PROCESS._serialized_start=202244 + _PROCESSSTATS_PROCESS._serialized_end=202885 + _PROCESSTREE._serialized_start=202888 + _PROCESSTREE._serialized_end=203280 + _PROCESSTREE_THREAD._serialized_start=203048 + _PROCESSTREE_THREAD._serialized_end=203112 + _PROCESSTREE_PROCESS._serialized_start=203115 + _PROCESSTREE_PROCESS._serialized_end=203280 + _REMOTECLOCKSYNC._serialized_start=203283 + _REMOTECLOCKSYNC._serialized_end=203494 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203372 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203494 + _ATOM._serialized_start=203496 + _ATOM._serialized_end=203502 + _STATSDATOM._serialized_start=203504 + _STATSDATOM._serialized_end=203578 + _SYSSTATS._serialized_start=203581 + _SYSSTATS._serialized_end=205605 + _SYSSTATS_MEMINFOVALUE._serialized_start=204369 + _SYSSTATS_MEMINFOVALUE._serialized_end=204445 + _SYSSTATS_VMSTATVALUE._serialized_start=204447 + _SYSSTATS_VMSTATVALUE._serialized_end=204521 + _SYSSTATS_CPUTIMES._serialized_start=204524 + _SYSSTATS_CPUTIMES._serialized_end=204704 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204706 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204750 + _SYSSTATS_DEVFREQVALUE._serialized_start=204752 + _SYSSTATS_DEVFREQVALUE._serialized_end=204794 + _SYSSTATS_BUDDYINFO._serialized_start=204796 + _SYSSTATS_BUDDYINFO._serialized_end=204856 + _SYSSTATS_DISKSTAT._serialized_start=204859 + _SYSSTATS_DISKSTAT._serialized_end=205074 + _SYSSTATS_PSISAMPLE._serialized_start=205077 + _SYSSTATS_PSISAMPLE._serialized_end=205385 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205176 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205385 + _SYSSTATS_THERMALZONE._serialized_start=205387 + _SYSSTATS_THERMALZONE._serialized_end=205442 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205444 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205499 + _SYSSTATS_CPUIDLESTATE._serialized_start=205501 + _SYSSTATS_CPUIDLESTATE._serialized_end=205605 + _CPUINFO._serialized_start=205608 + _CPUINFO._serialized_end=205940 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205663 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205773 + _CPUINFO_CPU._serialized_start=205776 + _CPUINFO_CPU._serialized_end=205940 + _TESTEVENT._serialized_start=205943 + _TESTEVENT._serialized_end=206322 + _TESTEVENT_TESTPAYLOAD._serialized_start=206080 + _TESTEVENT_TESTPAYLOAD._serialized_end=206322 + _TRACEPACKETDEFAULTS._serialized_start=206325 + _TRACEPACKETDEFAULTS._serialized_end=206567 + _TRACEUUID._serialized_start=206569 + _TRACEUUID._serialized_end=206606 + _PROCESSDESCRIPTOR._serialized_start=206609 + _PROCESSDESCRIPTOR._serialized_end=207096 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206871 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207096 + _TRACKEVENTRANGEOFINTEREST._serialized_start=207098 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207143 + _THREADDESCRIPTOR._serialized_start=207146 + _THREADDESCRIPTOR._serialized_end=207902 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207431 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207902 + _CHROMEPROCESSDESCRIPTOR._serialized_start=207905 + _CHROMEPROCESSDESCRIPTOR._serialized_end=208060 + _CHROMETHREADDESCRIPTOR._serialized_start=208062 + _CHROMETHREADDESCRIPTOR._serialized_end=208160 + _COUNTERDESCRIPTOR._serialized_start=208163 + _COUNTERDESCRIPTOR._serialized_end=208618 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208422 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208533 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208535 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208618 + _TRACKDESCRIPTOR._serialized_start=208621 + _TRACKDESCRIPTOR._serialized_end=209673 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209345 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209431 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209434 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209620 + _TRANSLATIONTABLE._serialized_start=209676 + _TRANSLATIONTABLE._serialized_end=210169 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210172 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210346 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210297 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210346 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210349 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210540 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210485 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210540 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210543 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210898 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210790 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210843 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210845 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210898 + _SLICENAMETRANSLATIONTABLE._serialized_start=210901 + _SLICENAMETRANSLATIONTABLE._serialized_end=211095 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211035 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211095 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211098 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211306 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211035 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211095 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211309 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211473 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210297 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210346 + _TRIGGER._serialized_start=211475 + _TRIGGER._serialized_end=211582 + _UISTATE._serialized_start=211585 + _UISTATE._serialized_end=211782 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211718 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=211782 + _TRACEPACKET._serialized_start=211785 + _TRACEPACKET._serialized_end=217969 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217782 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217886 + _TRACE._serialized_start=217971 + _TRACE._serialized_end=218024 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index 7cf6279218b..a34bdd42315 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -11187,7 +11187,7 @@ class LayerProto(_message.Message): damage_region: RegionProto dataspace: str destination_frame: RectProto - effective_radii: float + effective_radii: CornerRadiiProto effective_scaling_mode: int effective_transform: TransformProto final_crop: RectProto @@ -11232,7 +11232,7 @@ class LayerProto(_message.Message): window_type: int z: int z_order_relative_of: int - def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., children: _Optional[_Iterable[int]] = ..., relatives: _Optional[_Iterable[int]] = ..., type: _Optional[str] = ..., transparent_region: _Optional[_Union[RegionProto, _Mapping]] = ..., visible_region: _Optional[_Union[RegionProto, _Mapping]] = ..., damage_region: _Optional[_Union[RegionProto, _Mapping]] = ..., layer_stack: _Optional[int] = ..., z: _Optional[int] = ..., position: _Optional[_Union[PositionProto, _Mapping]] = ..., requested_position: _Optional[_Union[PositionProto, _Mapping]] = ..., size: _Optional[_Union[SizeProto, _Mapping]] = ..., crop: _Optional[_Union[RectProto, _Mapping]] = ..., final_crop: _Optional[_Union[RectProto, _Mapping]] = ..., is_opaque: bool = ..., invalidate: bool = ..., dataspace: _Optional[str] = ..., pixel_format: _Optional[str] = ..., color: _Optional[_Union[ColorProto, _Mapping]] = ..., requested_color: _Optional[_Union[ColorProto, _Mapping]] = ..., flags: _Optional[int] = ..., transform: _Optional[_Union[TransformProto, _Mapping]] = ..., requested_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., parent: _Optional[int] = ..., z_order_relative_of: _Optional[int] = ..., active_buffer: _Optional[_Union[ActiveBufferProto, _Mapping]] = ..., queued_frames: _Optional[int] = ..., refresh_pending: bool = ..., hwc_frame: _Optional[_Union[RectProto, _Mapping]] = ..., hwc_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., hwc_transform: _Optional[int] = ..., window_type: _Optional[int] = ..., app_id: _Optional[int] = ..., hwc_composition_type: _Optional[_Union[HwcCompositionType, str]] = ..., is_protected: bool = ..., curr_frame: _Optional[int] = ..., barrier_layer: _Optional[_Iterable[_Union[BarrierLayerProto, _Mapping]]] = ..., buffer_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., effective_scaling_mode: _Optional[int] = ..., corner_radius: _Optional[float] = ..., metadata: _Optional[_Mapping[int, str]] = ..., effective_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., source_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., screen_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., input_window_info: _Optional[_Union[InputWindowInfoProto, _Mapping]] = ..., corner_radius_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., shadow_radius: _Optional[float] = ..., color_transform: _Optional[_Union[ColorTransformProto, _Mapping]] = ..., is_relative_of: bool = ..., background_blur_radius: _Optional[int] = ..., owner_uid: _Optional[int] = ..., blur_regions: _Optional[_Iterable[_Union[BlurRegion, _Mapping]]] = ..., is_trusted_overlay: bool = ..., requested_corner_radius: _Optional[float] = ..., destination_frame: _Optional[_Union[RectProto, _Mapping]] = ..., original_id: _Optional[int] = ..., trusted_overlay: _Optional[_Union[TrustedOverlay, str]] = ..., background_blur_scale: _Optional[float] = ..., corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., requested_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., client_drawn_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., system_content_priority: _Optional[int] = ..., box_shadow_settings: _Optional[_Union[BoxShadowSettings, _Mapping]] = ..., border_settings: _Optional[_Union[BorderSettings, _Mapping]] = ..., effective_radii: _Optional[float] = ...) -> None: ... + def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., children: _Optional[_Iterable[int]] = ..., relatives: _Optional[_Iterable[int]] = ..., type: _Optional[str] = ..., transparent_region: _Optional[_Union[RegionProto, _Mapping]] = ..., visible_region: _Optional[_Union[RegionProto, _Mapping]] = ..., damage_region: _Optional[_Union[RegionProto, _Mapping]] = ..., layer_stack: _Optional[int] = ..., z: _Optional[int] = ..., position: _Optional[_Union[PositionProto, _Mapping]] = ..., requested_position: _Optional[_Union[PositionProto, _Mapping]] = ..., size: _Optional[_Union[SizeProto, _Mapping]] = ..., crop: _Optional[_Union[RectProto, _Mapping]] = ..., final_crop: _Optional[_Union[RectProto, _Mapping]] = ..., is_opaque: bool = ..., invalidate: bool = ..., dataspace: _Optional[str] = ..., pixel_format: _Optional[str] = ..., color: _Optional[_Union[ColorProto, _Mapping]] = ..., requested_color: _Optional[_Union[ColorProto, _Mapping]] = ..., flags: _Optional[int] = ..., transform: _Optional[_Union[TransformProto, _Mapping]] = ..., requested_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., parent: _Optional[int] = ..., z_order_relative_of: _Optional[int] = ..., active_buffer: _Optional[_Union[ActiveBufferProto, _Mapping]] = ..., queued_frames: _Optional[int] = ..., refresh_pending: bool = ..., hwc_frame: _Optional[_Union[RectProto, _Mapping]] = ..., hwc_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., hwc_transform: _Optional[int] = ..., window_type: _Optional[int] = ..., app_id: _Optional[int] = ..., hwc_composition_type: _Optional[_Union[HwcCompositionType, str]] = ..., is_protected: bool = ..., curr_frame: _Optional[int] = ..., barrier_layer: _Optional[_Iterable[_Union[BarrierLayerProto, _Mapping]]] = ..., buffer_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., effective_scaling_mode: _Optional[int] = ..., corner_radius: _Optional[float] = ..., metadata: _Optional[_Mapping[int, str]] = ..., effective_transform: _Optional[_Union[TransformProto, _Mapping]] = ..., source_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., screen_bounds: _Optional[_Union[FloatRectProto, _Mapping]] = ..., input_window_info: _Optional[_Union[InputWindowInfoProto, _Mapping]] = ..., corner_radius_crop: _Optional[_Union[FloatRectProto, _Mapping]] = ..., shadow_radius: _Optional[float] = ..., color_transform: _Optional[_Union[ColorTransformProto, _Mapping]] = ..., is_relative_of: bool = ..., background_blur_radius: _Optional[int] = ..., owner_uid: _Optional[int] = ..., blur_regions: _Optional[_Iterable[_Union[BlurRegion, _Mapping]]] = ..., is_trusted_overlay: bool = ..., requested_corner_radius: _Optional[float] = ..., destination_frame: _Optional[_Union[RectProto, _Mapping]] = ..., original_id: _Optional[int] = ..., trusted_overlay: _Optional[_Union[TrustedOverlay, str]] = ..., background_blur_scale: _Optional[float] = ..., corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., requested_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., client_drawn_corner_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ..., system_content_priority: _Optional[int] = ..., box_shadow_settings: _Optional[_Union[BoxShadowSettings, _Mapping]] = ..., border_settings: _Optional[_Union[BorderSettings, _Mapping]] = ..., effective_radii: _Optional[_Union[CornerRadiiProto, _Mapping]] = ...) -> None: ... class LayerState(_message.Message): __slots__ = ["alpha", "api", "auto_refresh", "background_blur_radius", "background_blur_scale", "bg_color_alpha", "bg_color_dataspace", "blur_regions", "border_settings", "box_shadow_settings", "buffer_crop", "buffer_data", "change_frame_rate_strategy", "client_drawn_corner_radii", "color", "color_space_agnostic", "color_transform", "corner_radii", "corner_radius", "crop", "destination_frame", "drop_input_mode", "fixed_transform_hint", "flags", "frame_number", "frame_rate", "frame_rate_compatibility", "frame_rate_selection_priority", "h", "has_sideband_stream", "is_trusted_overlay", "layer_id", "layer_stack", "mask", "matrix", "parent_id", "relative_parent_id", "shadow_radius", "system_content_priority", "transform", "transform_to_display_inverse", "transparent_region", "trusted_overlay", "w", "what", "window_info_handle", "x", "y", "z"] From 24e9362d77f76002c2f4041dac27cfdf52bb4792 Mon Sep 17 00:00:00 2001 From: jahdiel-alvarez Date: Thu, 16 Oct 2025 14:08:24 -0700 Subject: [PATCH 104/370] Emit error when two state events occur at the same timestamp (#3322) A thread cannot be in the two different states at the same time. Therefore if we see this happening we now emit a task state invalid order error. Bug: 452480395 --- .../importers/common/thread_state_tracker.cc | 43 ++++++---- .../importers/common/thread_state_tracker.h | 3 + .../diff_tests/parser/generic_kernel/tests.py | 79 +++++++++++++++++++ 3 files changed, 110 insertions(+), 15 deletions(-) diff --git a/src/trace_processor/importers/common/thread_state_tracker.cc b/src/trace_processor/importers/common/thread_state_tracker.cc index 847fb7e308a..83c2a6aa129 100644 --- a/src/trace_processor/importers/common/thread_state_tracker.cc +++ b/src/trace_processor/importers/common/thread_state_tracker.cc @@ -24,6 +24,9 @@ namespace perfetto { namespace trace_processor { + +using RowReference = tables::ThreadStateTable::RowReference; + ThreadStateTracker::ThreadStateTracker(TraceProcessorContext* context) : storage_(context->storage.get()), context_(context), @@ -198,14 +201,13 @@ void ThreadStateTracker::ClosePendingState(int64_t end_ts, UniqueTid utid, bool data_loss) { // Discard close if there is no open state to close. - if (!HasPreviousRowNumbersForUtid(utid)) + auto row_ref = GetLastRowRef(utid); + if (!row_ref) return; - auto row_ref = RowNumToRef(prev_row_numbers_for_thread_[utid]->last_row); - // Update the duration only for states without data loss. if (!data_loss) { - row_ref.set_dur(end_ts - row_ref.ts()); + row_ref->set_dur(end_ts - row_ref->ts()); } } @@ -215,6 +217,11 @@ void ThreadStateTracker::PushThreadState(int64_t ts, std::optional cpu) { ClosePendingState(ts, utid, false /*data_loss*/); + if (auto row_ref = GetLastRowRef(utid); row_ref && ts == row_ref->ts()) { + // Detected two thread state event changes at the same time. + storage_->IncrementStats(stats::generic_task_state_invalid_order); + } + AddOpenState(ts, utid, state, cpu); } @@ -225,28 +232,26 @@ void ThreadStateTracker::UpdatePendingState( std::optional waker_utid, std::optional common_flags) { // Discard update if there is no open state to close. - if (!HasPreviousRowNumbersForUtid(utid)) + auto row_ref = GetLastRowRef(utid); + if (!row_ref) return; - auto row_ref = RowNumToRef(prev_row_numbers_for_thread_[utid]->last_row); - - row_ref.set_state(state); + row_ref->set_state(state); if (cpu) - row_ref.set_ucpu(context_->cpu_tracker->GetOrCreateCpu(*cpu)); + row_ref->set_ucpu(context_->cpu_tracker->GetOrCreateCpu(*cpu)); if (waker_utid) - row_ref.set_waker_utid(*waker_utid); + row_ref->set_waker_utid(*waker_utid); if (common_flags.has_value()) { - row_ref.set_irq_context(CommonFlagsToIrqContext(*common_flags)); + row_ref->set_irq_context(CommonFlagsToIrqContext(*common_flags)); } } StringId ThreadStateTracker::GetPrevEndState(UniqueTid utid) { - if (!HasPreviousRowNumbersForUtid(utid)) + auto row_ref = GetLastRowRef(utid); + if (!row_ref) return kNullStringId; - auto row_ref = RowNumToRef(prev_row_numbers_for_thread_[utid]->last_row); - - return row_ref.state(); + return row_ref->state(); } bool ThreadStateTracker::IsRunning(StringId state) { @@ -261,5 +266,13 @@ bool ThreadStateTracker::IsBlocked(StringId state) { return !(IsRunnable(state) || IsRunning(state)); } +PERFETTO_ALWAYS_INLINE +std::optional ThreadStateTracker::GetLastRowRef(UniqueTid utid) { + if (!HasPreviousRowNumbersForUtid(utid)) + return std::nullopt; + + return RowNumToRef(prev_row_numbers_for_thread_[utid]->last_row); +} + } // namespace trace_processor } // namespace perfetto diff --git a/src/trace_processor/importers/common/thread_state_tracker.h b/src/trace_processor/importers/common/thread_state_tracker.h index 6625c8f4ac8..418dd10c2b5 100644 --- a/src/trace_processor/importers/common/thread_state_tracker.h +++ b/src/trace_processor/importers/common/thread_state_tracker.h @@ -121,6 +121,9 @@ class ThreadStateTracker : public Destructible { prev_row_numbers_for_thread_[utid].has_value(); } + std::optional GetLastRowRef( + UniqueTid utid); + tables::ThreadStateTable::RowReference RowNumToRef( tables::ThreadStateTable::RowNumber row_number) { return row_number.ToRowReference(storage_->mutable_thread_state_table()); diff --git a/test/trace_processor/diff_tests/parser/generic_kernel/tests.py b/test/trace_processor/diff_tests/parser/generic_kernel/tests.py index 7af409eeb8e..5dd856e1546 100644 --- a/test/trace_processor/diff_tests/parser/generic_kernel/tests.py +++ b/test/trace_processor/diff_tests/parser/generic_kernel/tests.py @@ -1018,6 +1018,85 @@ def test_error_stats_running_after_dead(self): """"Invalid order of generic task state events. Should never happen." """)) + def test_error_stats_context_switch_parallel_task_state_events(self): + return DiffTestBlueprint( + trace=TextProto(r""" + packet { + timestamp: 360831239274 + generic_kernel_task_state_event { + cpu: 0 + comm: "task1" + tid: 101 + state: TASK_STATE_RUNNING + prio: 100 + } + } + packet { + timestamp: 360831239274 + generic_kernel_task_state_event { + comm: "task1" + tid: 101 + state: TASK_STATE_RUNNABLE + prio: 100 + } + } + """), + query=""" + select + name, + severity, + source, + value, + description + from stats + where name = "generic_task_state_invalid_order" + """, + out=Csv( + """ + "name","severity","source","value","description" + "generic_task_state_invalid_order","error","analysis",1,""" + + """"Invalid order of generic task state events. Should never happen." + """)) + + def test_error_stats_non_context_switch_parallel_task_state_events(self): + return DiffTestBlueprint( + trace=TextProto(r""" + packet { + timestamp: 360831239274 + generic_kernel_task_state_event { + comm: "task1" + tid: 101 + state: TASK_STATE_DEAD + prio: 100 + } + } + packet { + timestamp: 360831239274 + generic_kernel_task_state_event { + comm: "task1" + tid: 101 + state: TASK_STATE_DESTROYED + prio: 100 + } + } + """), + query=""" + select + name, + severity, + source, + value, + description + from stats + where name = "generic_task_state_invalid_order" + """, + out=Csv( + """ + "name","severity","source","value","description" + "generic_task_state_invalid_order","error","analysis",1,""" + + """"Invalid order of generic task state events. Should never happen." + """)) + def test_thread_state_gap_between_state_change(self): return DiffTestBlueprint( trace=TextProto(r""" From 5f4cbfb9dabef3800fe74e2194f44b6dcada9184 Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Thu, 16 Oct 2025 22:11:32 +0100 Subject: [PATCH 105/370] Allow blur regions to use 8 radii values (#3321) Flag: EXEMPT BUGFIX Bug: 445495701 Change-Id: I3db0e03a57b076539469944696f28b4c954bf925 (cherry picked from commit 200aa3aa60e407269429c16b1d45b9ee4cbf6eeb) Co-authored-by: Cicely --- .../trace/android/surfaceflinger_common.proto | 16 +- protos/perfetto/trace/perfetto_trace.proto | 16 +- .../perfetto/trace/perfetto_trace_pb2.py | 3740 +++++++++-------- .../perfetto/trace/perfetto_trace_pb2.pyi | 20 +- 4 files changed, 1916 insertions(+), 1876 deletions(-) diff --git a/protos/perfetto/trace/android/surfaceflinger_common.proto b/protos/perfetto/trace/android/surfaceflinger_common.proto index 311c04eca49..34908cc1fc4 100644 --- a/protos/perfetto/trace/android/surfaceflinger_common.proto +++ b/protos/perfetto/trace/android/surfaceflinger_common.proto @@ -71,10 +71,18 @@ message InputWindowInfoProto { message BlurRegion { optional uint32 blur_radius = 1; - optional uint32 corner_radius_tl = 2; - optional uint32 corner_radius_tr = 3; - optional uint32 corner_radius_bl = 4; - optional float corner_radius_br = 5; + optional uint32 corner_radius_tl = 2 [deprecated = true]; + optional uint32 corner_radius_tr = 3 [deprecated = true]; + optional uint32 corner_radius_bl = 4 [deprecated = true]; + optional float corner_radius_br = 5 [deprecated = true]; + optional float corner_radius_tlx = 11; + optional float corner_radius_tly = 12; + optional float corner_radius_trx = 13; + optional float corner_radius_try = 14; + optional float corner_radius_blx = 15; + optional float corner_radius_bly = 16; + optional float corner_radius_brx = 17; + optional float corner_radius_bry = 18; optional float alpha = 6; optional int32 left = 7; optional int32 top = 8; diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 397c911fae0..875c6cddec5 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -6236,10 +6236,18 @@ message InputWindowInfoProto { message BlurRegion { optional uint32 blur_radius = 1; - optional uint32 corner_radius_tl = 2; - optional uint32 corner_radius_tr = 3; - optional uint32 corner_radius_bl = 4; - optional float corner_radius_br = 5; + optional uint32 corner_radius_tl = 2 [deprecated = true]; + optional uint32 corner_radius_tr = 3 [deprecated = true]; + optional uint32 corner_radius_bl = 4 [deprecated = true]; + optional float corner_radius_br = 5 [deprecated = true]; + optional float corner_radius_tlx = 11; + optional float corner_radius_tly = 12; + optional float corner_radius_trx = 13; + optional float corner_radius_try = 14; + optional float corner_radius_blx = 15; + optional float corner_radius_bly = 16; + optional float corner_radius_brx = 17; + optional float corner_radius_bry = 18; optional float alpha = 6; optional int32 left = 7; optional int32 top = 8; diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py index 6820851a38e..4ae0a4ed84c 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xd2\x01\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x18\n\x10\x63orner_radius_tl\x18\x02 \x01(\r\x12\x18\n\x10\x63orner_radius_tr\x18\x03 \x01(\r\x12\x18\n\x10\x63orner_radius_bl\x18\x04 \x01(\r\x12\x18\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\xcb\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x12:\n\x0f\x65\x66\x66\x65\x63tive_radii\x18\x43 \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/perfetto_trace.proto\x12\x0fperfetto.protos\"\x94\x01\n\x10\x46traceDescriptor\x12K\n\x11\x61trace_categories\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.FtraceDescriptor.AtraceCategory\x1a\x33\n\x0e\x41traceCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\xc8\x0b\n\x14GpuCounterDescriptor\x12\x43\n\x05specs\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.GpuCounterDescriptor.GpuCounterSpec\x12\x45\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterBlock\x12\x1e\n\x16min_sampling_period_ns\x18\x03 \x01(\x04\x12\x1e\n\x16max_sampling_period_ns\x18\x04 \x01(\x04\x12&\n\x1esupports_instrumented_sampling\x18\x05 \x01(\x08\x1a\x8e\x03\n\x0eGpuCounterSpec\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x0eint_peak_value\x18\x05 \x01(\x03H\x00\x12\x1b\n\x11\x64ouble_peak_value\x18\x06 \x01(\x01H\x00\x12J\n\x0fnumerator_units\x18\x07 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12L\n\x11\x64\x65nominator_units\x18\x08 \x03(\x0e\x32\x31.perfetto.protos.GpuCounterDescriptor.MeasureUnit\x12\x19\n\x11select_by_default\x18\t \x01(\x08\x12\x45\n\x06groups\x18\n \x03(\x0e\x32\x35.perfetto.protos.GpuCounterDescriptor.GpuCounterGroupB\x0c\n\npeak_valueJ\x04\x08\x04\x10\x05\x1as\n\x0fGpuCounterBlock\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62lock_capacity\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x13\n\x0b\x63ounter_ids\x18\x05 \x03(\r\"\x86\x01\n\x0fGpuCounterGroup\x12\x10\n\x0cUNCLASSIFIED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x0c\n\x08VERTICES\x10\x02\x12\r\n\tFRAGMENTS\x10\x03\x12\x0e\n\nPRIMITIVES\x10\x04\x12\n\n\x06MEMORY\x10\x05\x12\x0b\n\x07\x43OMPUTE\x10\x06\x12\x0f\n\x0bRAY_TRACING\x10\x07\"\xac\x04\n\x0bMeasureUnit\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x42IT\x10\x01\x12\x0b\n\x07KILOBIT\x10\x02\x12\x0b\n\x07MEGABIT\x10\x03\x12\x0b\n\x07GIGABIT\x10\x04\x12\x0b\n\x07TERABIT\x10\x05\x12\x0b\n\x07PETABIT\x10\x06\x12\x08\n\x04\x42YTE\x10\x07\x12\x0c\n\x08KILOBYTE\x10\x08\x12\x0c\n\x08MEGABYTE\x10\t\x12\x0c\n\x08GIGABYTE\x10\n\x12\x0c\n\x08TERABYTE\x10\x0b\x12\x0c\n\x08PETABYTE\x10\x0c\x12\t\n\x05HERTZ\x10\r\x12\r\n\tKILOHERTZ\x10\x0e\x12\r\n\tMEGAHERTZ\x10\x0f\x12\r\n\tGIGAHERTZ\x10\x10\x12\r\n\tTERAHERTZ\x10\x11\x12\r\n\tPETAHERTZ\x10\x12\x12\x0e\n\nNANOSECOND\x10\x13\x12\x0f\n\x0bMICROSECOND\x10\x14\x12\x0f\n\x0bMILLISECOND\x10\x15\x12\n\n\x06SECOND\x10\x16\x12\n\n\x06MINUTE\x10\x17\x12\x08\n\x04HOUR\x10\x18\x12\n\n\x06VERTEX\x10\x19\x12\t\n\x05PIXEL\x10\x1a\x12\x0c\n\x08TRIANGLE\x10\x1b\x12\r\n\tPRIMITIVE\x10&\x12\x0c\n\x08\x46RAGMENT\x10\'\x12\r\n\tMILLIWATT\x10\x1c\x12\x08\n\x04WATT\x10\x1d\x12\x0c\n\x08KILOWATT\x10\x1e\x12\t\n\x05JOULE\x10\x1f\x12\x08\n\x04VOLT\x10 \x12\n\n\x06\x41MPERE\x10!\x12\x0b\n\x07\x43\x45LSIUS\x10\"\x12\x0e\n\nFAHRENHEIT\x10#\x12\n\n\x06KELVIN\x10$\x12\x0b\n\x07PERCENT\x10%\x12\x0f\n\x0bINSTRUCTION\x10(\"E\n\x12TrackEventCategory\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04tags\x18\x03 \x03(\t\"Y\n\x14TrackEventDescriptor\x12\x41\n\x14\x61vailable_categories\x18\x01 \x03(\x0b\x32#.perfetto.protos.TrackEventCategory\"\xfe\x02\n\x14\x44\x61taSourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x07 \x01(\x04\x12\x1b\n\x13will_notify_on_stop\x18\x02 \x01(\x08\x12\x1c\n\x14will_notify_on_start\x18\x03 \x01(\x08\x12\'\n\x1fhandles_incremental_state_clear\x18\x04 \x01(\x08\x12\x10\n\x08no_flush\x18\t \x01(\x08\x12I\n\x16gpu_counter_descriptor\x18\x05 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptorB\x02(\x01\x12I\n\x16track_event_descriptor\x18\x06 \x01(\x0b\x32%.perfetto.protos.TrackEventDescriptorB\x02(\x01\x12@\n\x11\x66trace_descriptor\x18\x08 \x01(\x0b\x32!.perfetto.protos.FtraceDescriptorB\x02(\x01\"\xb7\x06\n\x13TracingServiceState\x12@\n\tproducers\x18\x01 \x03(\x0b\x32-.perfetto.protos.TracingServiceState.Producer\x12\x45\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32/.perfetto.protos.TracingServiceState.DataSource\x12M\n\x10tracing_sessions\x18\x06 \x03(\x0b\x32\x33.perfetto.protos.TracingServiceState.TracingSession\x12!\n\x19supports_tracing_sessions\x18\x07 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x03 \x01(\x05\x12\x1c\n\x14num_sessions_started\x18\x04 \x01(\x05\x12\x1f\n\x17tracing_service_version\x18\x05 \x01(\t\x1a\x63\n\x08Producer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\x12\x0b\n\x03uid\x18\x03 \x01(\x05\x12\x13\n\x0bsdk_version\x18\x04 \x01(\t\x12\x0e\n\x06\x66rozen\x18\x06 \x01(\x08\x1a_\n\nDataSource\x12<\n\rds_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\x12\x13\n\x0bproducer_id\x18\x02 \x01(\x05\x1a\x89\x02\n\x0eTracingSession\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onsumer_uid\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\t\x12\x1b\n\x13unique_session_name\x18\x04 \x01(\t\x12\x16\n\x0e\x62uffer_size_kb\x18\x05 \x03(\r\x12\x13\n\x0b\x64uration_ms\x18\x06 \x01(\r\x12\x18\n\x10num_data_sources\x18\x07 \x01(\r\x12\x19\n\x11start_realtime_ns\x18\x08 \x01(\x03\x12\x17\n\x0f\x62ugreport_score\x18\t \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18\n \x01(\t\x12\x12\n\nis_started\x18\x0b \x01(\x08\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\xd3\x04\n\x17\x41ndroidInputEventConfig\x12@\n\x04mode\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceMode\x12\x41\n\x05rules\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidInputEventConfig.TraceRule\x12%\n\x1dtrace_dispatcher_input_events\x18\x03 \x01(\x08\x12(\n trace_dispatcher_window_dispatch\x18\x04 \x01(\x08\x1a\xc8\x01\n\tTraceRule\x12H\n\x0btrace_level\x18\x01 \x01(\x0e\x32\x33.perfetto.protos.AndroidInputEventConfig.TraceLevel\x12\x1a\n\x12match_all_packages\x18\x02 \x03(\t\x12\x1a\n\x12match_any_packages\x18\x03 \x03(\t\x12\x14\n\x0cmatch_secure\x18\x04 \x01(\x08\x12#\n\x1bmatch_ime_connection_active\x18\x05 \x01(\x08\"?\n\tTraceMode\x12\x18\n\x14TRACE_MODE_TRACE_ALL\x10\x00\x12\x18\n\x14TRACE_MODE_USE_RULES\x10\x01\"V\n\nTraceLevel\x12\x14\n\x10TRACE_LEVEL_NONE\x10\x00\x12\x18\n\x14TRACE_LEVEL_REDACTED\x10\x01\x12\x18\n\x14TRACE_LEVEL_COMPLETE\x10\x02\"\x94\x01\n\x10\x41ndroidLogConfig\x12.\n\x07log_ids\x18\x01 \x03(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x35\n\x08min_prio\x18\x03 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x13\n\x0b\x66ilter_tags\x18\x04 \x03(\tJ\x04\x08\x02\x10\x03\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\x8a\x01\n\x1c\x41ndroidSdkSyspropGuardConfig\x12(\n surfaceflinger_skia_track_events\x18\x01 \x01(\x08\x12\x1e\n\x16hwui_skia_track_events\x18\x02 \x01(\x08\x12 \n\x18hwui_package_name_filter\x18\x03 \x03(\t\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t\"f\n\x12\x41ppWakelocksConfig\x12\x16\n\x0ewrite_delay_ms\x18\x01 \x01(\x05\x12 \n\x18\x66ilter_duration_below_ms\x18\x02 \x01(\x05\x12\x16\n\x0e\x64rop_owner_pid\x18\x03 \x01(\x08\"\"\n\x0f\x43puPerUidConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"(\n\x15KernelWakelocksConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\"\xab\x01\n\x18NetworkPacketTraceConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x1d\n\x15\x61ggregation_threshold\x18\x02 \x01(\r\x12\x14\n\x0cintern_limit\x18\x03 \x01(\r\x12\x17\n\x0f\x64rop_local_port\x18\x04 \x01(\x08\x12\x18\n\x10\x64rop_remote_port\x18\x05 \x01(\x08\x12\x16\n\x0e\x64rop_tcp_flags\x18\x06 \x01(\x08\"Y\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\x12&\n\x1eonly_write_on_cpu_use_every_ms\x18\x02 \x01(\r\"\x84\x02\n\x10PixelModemConfig\x12\x41\n\x0b\x65vent_group\x18\x01 \x01(\x0e\x32,.perfetto.protos.PixelModemConfig.EventGroup\x12\x1f\n\x17pigweed_hash_allow_list\x18\x02 \x03(\x03\x12\x1e\n\x16pigweed_hash_deny_list\x18\x03 \x03(\x03\"l\n\nEventGroup\x12\x17\n\x13\x45VENT_GROUP_UNKNOWN\x10\x00\x12\x1d\n\x19\x45VENT_GROUP_LOW_BANDWIDTH\x10\x01\x12&\n\"EVENT_GROUP_HIGH_AND_LOW_BANDWIDTH\x10\x02\"\xf8\x01\n\x0eProtoLogConfig\x12\x37\n\x0fgroup_overrides\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.ProtoLogGroup\x12\x41\n\x0ctracing_mode\x18\x02 \x01(\x0e\x32+.perfetto.protos.ProtoLogConfig.TracingMode\x12>\n\x16\x64\x65\x66\x61ult_log_from_level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\"*\n\x0bTracingMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0e\n\nENABLE_ALL\x10\x01\"q\n\rProtoLogGroup\x12\x12\n\ngroup_name\x18\x01 \x01(\t\x12\x30\n\x08log_from\x18\x02 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x1a\n\x12\x63ollect_stacktrace\x18\x03 \x01(\x08\"\xf0\x03\n\x1aSurfaceFlingerLayersConfig\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.SurfaceFlingerLayersConfig.Mode\x12J\n\x0btrace_flags\x18\x02 \x03(\x0e\x32\x35.perfetto.protos.SurfaceFlingerLayersConfig.TraceFlag\"s\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_ACTIVE\x10\x01\x12\x12\n\x0eMODE_GENERATED\x10\x02\x12\r\n\tMODE_DUMP\x10\x03\x12!\n\x1dMODE_GENERATED_BUGREPORT_ONLY\x10\x04\"\xd0\x01\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10TRACE_FLAG_INPUT\x10\x02\x12\x1a\n\x16TRACE_FLAG_COMPOSITION\x10\x04\x12\x14\n\x10TRACE_FLAG_EXTRA\x10\x08\x12\x12\n\x0eTRACE_FLAG_HWC\x10\x10\x12\x16\n\x12TRACE_FLAG_BUFFERS\x10 \x12\x1f\n\x1bTRACE_FLAG_VIRTUAL_DISPLAYS\x10@\x12\x12\n\x0eTRACE_FLAG_ALL\x10\x0e\"\xac\x01\n SurfaceFlingerTransactionsConfig\x12\x44\n\x04mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.SurfaceFlingerTransactionsConfig.Mode\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fMODE_CONTINUOUS\x10\x01\x12\x0f\n\x0bMODE_ACTIVE\x10\x02\"\x93\x03\n\x13WindowManagerConfig\x12H\n\rlog_frequency\x18\x01 \x01(\x0e\x32\x31.perfetto.protos.WindowManagerConfig.LogFrequency\x12@\n\tlog_level\x18\x02 \x01(\x0e\x32-.perfetto.protos.WindowManagerConfig.LogLevel\"\x84\x01\n\x0cLogFrequency\x12\x1d\n\x19LOG_FREQUENCY_UNSPECIFIED\x10\x00\x12\x17\n\x13LOG_FREQUENCY_FRAME\x10\x01\x12\x1d\n\x19LOG_FREQUENCY_TRANSACTION\x10\x02\x12\x1d\n\x19LOG_FREQUENCY_SINGLE_DUMP\x10\x03\"i\n\x08LogLevel\x12\x19\n\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x01\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x02\x12\x16\n\x12LOG_LEVEL_CRITICAL\x10\x03\"\xbd\x02\n\x0c\x43hromeConfig\x12\x14\n\x0ctrace_config\x18\x01 \x01(\t\x12!\n\x19privacy_filtering_enabled\x18\x02 \x01(\x08\x12\x1e\n\x16\x63onvert_to_legacy_json\x18\x03 \x01(\x08\x12\x45\n\x0f\x63lient_priority\x18\x04 \x01(\x0e\x32,.perfetto.protos.ChromeConfig.ClientPriority\x12\x1f\n\x17json_agent_label_filter\x18\x05 \x01(\t\x12)\n!event_package_name_filter_enabled\x18\x06 \x01(\x08\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"\xe6\x01\n\x1e\x43hromiumHistogramSamplesConfig\x12S\n\nhistograms\x18\x01 \x03(\x0b\x32?.perfetto.protos.ChromiumHistogramSamplesConfig.HistogramSample\x12\x1e\n\x16\x66ilter_histogram_names\x18\x02 \x01(\x08\x1aO\n\x0fHistogramSample\x12\x16\n\x0ehistogram_name\x18\x01 \x01(\t\x12\x11\n\tmin_value\x18\x02 \x01(\x03\x12\x11\n\tmax_value\x18\x03 \x01(\x03\";\n\x1b\x43hromiumSystemMetricsConfig\x12\x1c\n\x14sampling_interval_ms\x18\x01 \x01(\r\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"\xd4\x01\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\x12!\n\x19scheduler_provider_events\x18\x02 \x03(\t\x12\x1e\n\x16memory_provider_events\x18\x03 \x03(\t\x12\x1c\n\x14\x66ile_provider_events\x18\x04 \x03(\t\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"+\n\x12\x46rozenFtraceConfig\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xca\x0e\n\x0c\x46traceConfig\x12\x15\n\rftrace_events\x18\x01 \x03(\t\x12\x19\n\x11\x61trace_categories\x18\x02 \x03(\t\x12\x13\n\x0b\x61trace_apps\x18\x03 \x03(\t\x12$\n\x1c\x61trace_categories_prefer_sdk\x18\x1c \x03(\t\x12\x1d\n\x15\x61trace_userspace_only\x18\" \x01(\x08\x12\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1d \x01(\r\x12G\n\rcompact_sched\x18\x0c \x01(\x0b\x32\x30.perfetto.protos.FtraceConfig.CompactSchedConfig\x12?\n\x0cprint_filter\x18\x16 \x01(\x0b\x32).perfetto.protos.FtraceConfig.PrintFilter\x12\x17\n\x0fsymbolize_ksyms\x18\r \x01(\x08\x12\x46\n\x10ksyms_mem_policy\x18\x11 \x01(\x0e\x32,.perfetto.protos.FtraceConfig.KsymsMemPolicy\x12\x19\n\x11throttle_rss_stat\x18\x0f \x01(\x08\x12%\n\x1d\x64\x65nser_generic_event_encoding\x18 \x01(\x08\x12\x1e\n\x16\x64isable_generic_events\x18\x10 \x01(\x08\x12\x16\n\x0esyscall_events\x18\x12 \x03(\t\x12\x1d\n\x15\x65nable_function_graph\x18\x13 \x01(\x08\x12\x18\n\x10\x66unction_filters\x18\x14 \x03(\t\x12\x1c\n\x14\x66unction_graph_roots\x18\x15 \x03(\t\x12 \n\x18\x66unction_graph_max_depth\x18! \x01(\r\x12@\n\rkprobe_events\x18\x1e \x03(\x0b\x32).perfetto.protos.FtraceConfig.KprobeEvent\x12\x1e\n\x16preserve_ftrace_buffer\x18\x17 \x01(\x08\x12\x1f\n\x17use_monotonic_raw_clock\x18\x18 \x01(\x08\x12\x15\n\rinstance_name\x18\x19 \x01(\t\x12\x18\n\x10\x64\x65\x62ug_ftrace_abi\x18\x1f \x01(\x08\x12\x15\n\rtids_to_trace\x18# \x03(\r\x12\x44\n\x0ftracefs_options\x18$ \x03(\x0b\x32+.perfetto.protos.FtraceConfig.TracefsOption\x12\x17\n\x0ftracing_cpumask\x18% \x01(\t\x12\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x1a%\n\x12\x43ompactSchedConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a\x82\x02\n\x0bPrintFilter\x12=\n\x05rules\x18\x01 \x03(\x0b\x32..perfetto.protos.FtraceConfig.PrintFilter.Rule\x1a\xb3\x01\n\x04Rule\x12\x10\n\x06prefix\x18\x01 \x01(\tH\x00\x12R\n\natrace_msg\x18\x03 \x01(\x0b\x32<.perfetto.protos.FtraceConfig.PrintFilter.Rule.AtraceMessageH\x00\x12\r\n\x05\x61llow\x18\x02 \x01(\x08\x1a-\n\rAtraceMessage\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06prefix\x18\x02 \x01(\tB\x07\n\x05match\x1a\xd0\x01\n\x0bKprobeEvent\x12\r\n\x05probe\x18\x01 \x01(\t\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.FtraceConfig.KprobeEvent.KprobeType\"n\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x16\n\x12KPROBE_TYPE_KPROBE\x10\x01\x12\x19\n\x15KPROBE_TYPE_KRETPROBE\x10\x02\x12\x14\n\x10KPROBE_TYPE_BOTH\x10\x03\x1a\xa2\x01\n\rTracefsOption\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05state\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.FtraceConfig.TracefsOption.State\"A\n\x05State\x12\x11\n\rSTATE_UNKNOWN\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02\"T\n\x0eKsymsMemPolicy\x12\x15\n\x11KSYMS_UNSPECIFIED\x10\x00\x12\x19\n\x15KSYMS_CLEANUP_ON_STOP\x10\x01\x12\x10\n\x0cKSYMS_RETAIN\x10\x02J\x04\x08\x1a\x10\x1b\"x\n\x10GpuCounterConfig\x12\x19\n\x11\x63ounter_period_ns\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ounter_ids\x18\x02 \x03(\r\x12\x1d\n\x15instrumented_sampling\x18\x03 \x01(\x08\x12\x15\n\rfix_gpu_clock\x18\x04 \x01(\x08\"\\\n\x15GpuRenderStagesConfig\x12\x16\n\x0e\x66ull_loadstore\x18\x01 \x01(\x08\x12\x14\n\x0clow_overhead\x18\x02 \x01(\x08\x12\x15\n\rtrace_metrics\x18\x03 \x03(\t\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08\"\xa3\x02\n\x0fInodeFileConfig\x12\x18\n\x10scan_interval_ms\x18\x01 \x01(\r\x12\x15\n\rscan_delay_ms\x18\x02 \x01(\r\x12\x17\n\x0fscan_batch_size\x18\x03 \x01(\r\x12\x13\n\x0b\x64o_not_scan\x18\x04 \x01(\x08\x12\x19\n\x11scan_mount_points\x18\x05 \x03(\t\x12T\n\x13mount_point_mapping\x18\x06 \x03(\x0b\x32\x37.perfetto.protos.InodeFileConfig.MountPointMappingEntry\x1a@\n\x16MountPointMappingEntry\x12\x12\n\nmountpoint\x18\x01 \x01(\t\x12\x12\n\nscan_roots\x18\x02 \x03(\t\"\xa5\x01\n\rConsoleConfig\x12\x35\n\x06output\x18\x01 \x01(\x0e\x32%.perfetto.protos.ConsoleConfig.Output\x12\x15\n\renable_colors\x18\x02 \x01(\x08\"F\n\x06Output\x12\x16\n\x12OUTPUT_UNSPECIFIED\x10\x00\x12\x11\n\rOUTPUT_STDOUT\x10\x01\x12\x11\n\rOUTPUT_STDERR\x10\x02\"Y\n\x11InterceptorConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x0e\x63onsole_config\x18\x64 \x01(\x0b\x32\x1e.perfetto.protos.ConsoleConfig\"\xc0\x03\n\x12\x41ndroidPowerConfig\x12\x17\n\x0f\x62\x61ttery_poll_ms\x18\x01 \x01(\r\x12M\n\x10\x62\x61ttery_counters\x18\x02 \x03(\x0e\x32\x33.perfetto.protos.AndroidPowerConfig.BatteryCounters\x12\x1b\n\x13\x63ollect_power_rails\x18\x03 \x01(\x08\x12+\n#collect_energy_estimation_breakdown\x18\x04 \x01(\x08\x12&\n\x1e\x63ollect_entity_state_residency\x18\x05 \x01(\x08\"\xcf\x01\n\x0f\x42\x61tteryCounters\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42\x41TTERY_COUNTER_CHARGE\x10\x01\x12$\n BATTERY_COUNTER_CAPACITY_PERCENT\x10\x02\x12\x1b\n\x17\x42\x41TTERY_COUNTER_CURRENT\x10\x03\x12\x1f\n\x1b\x42\x41TTERY_COUNTER_CURRENT_AVG\x10\x04\x12\x1b\n\x17\x42\x41TTERY_COUNTER_VOLTAGE\x10\x05\"\xbf\x01\n\x13PriorityBoostConfig\x12@\n\x06policy\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.PriorityBoostConfig.BoostPolicy\x12\x10\n\x08priority\x18\x02 \x01(\r\"T\n\x0b\x42oostPolicy\x12\x16\n\x12POLICY_UNSPECIFIED\x10\x00\x12\x16\n\x12POLICY_SCHED_OTHER\x10\x01\x12\x15\n\x11POLICY_SCHED_FIFO\x10\x02\"\xc9\x03\n\x12ProcessStatsConfig\x12:\n\x06quirks\x18\x01 \x03(\x0e\x32*.perfetto.protos.ProcessStatsConfig.Quirks\x12#\n\x1bscan_all_processes_on_start\x18\x02 \x01(\x08\x12\x1b\n\x13record_thread_names\x18\x03 \x01(\x08\x12\x1a\n\x12proc_stats_poll_ms\x18\x04 \x01(\r\x12\x1f\n\x17proc_stats_cache_ttl_ms\x18\x06 \x01(\r\x12\x19\n\x11scan_smaps_rollup\x18\n \x01(\x08\x12\x1a\n\x12record_process_age\x18\x0b \x01(\x08\x12\x1e\n\x16record_process_runtime\x18\x0c \x01(\x08\x12!\n\x19record_process_dmabuf_rss\x18\r \x01(\x08\x12\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\"U\n\x06Quirks\x12\x16\n\x12QUIRKS_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x44ISABLE_INITIAL_DUMP\x10\x01\x1a\x02\x08\x01\x12\x15\n\x11\x44ISABLE_ON_DEMAND\x10\x02J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\xcc\x06\n\x0fHeapprofdConfig\x12\x1f\n\x17sampling_interval_bytes\x18\x01 \x01(\x04\x12)\n!adaptive_sampling_shmem_threshold\x18\x18 \x01(\x04\x12\x35\n-adaptive_sampling_max_sampling_interval_bytes\x18\x19 \x01(\x04\x12\x17\n\x0fprocess_cmdline\x18\x02 \x03(\t\x12\x0b\n\x03pid\x18\x04 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x1a \x03(\t\x12\r\n\x05heaps\x18\x14 \x03(\t\x12\x15\n\rexclude_heaps\x18\x1b \x03(\t\x12\x1a\n\x12stream_allocations\x18\x17 \x01(\x08\x12\x1f\n\x17heap_sampling_intervals\x18\x16 \x03(\x04\x12\x11\n\tall_heaps\x18\x15 \x01(\x08\x12\x0b\n\x03\x61ll\x18\x05 \x01(\x08\x12\x1f\n\x17min_anonymous_memory_kb\x18\x0f \x01(\r\x12\x1f\n\x17max_heapprofd_memory_kb\x18\x10 \x01(\r\x12\x1e\n\x16max_heapprofd_cpu_secs\x18\x11 \x01(\x04\x12\x1a\n\x12skip_symbol_prefix\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.HeapprofdConfig.ContinuousDumpConfig\x12\x18\n\x10shmem_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0c\x62lock_client\x18\t \x01(\x08\x12\x1f\n\x17\x62lock_client_timeout_us\x18\x0e \x01(\r\x12\x12\n\nno_startup\x18\n \x01(\x08\x12\x12\n\nno_running\x18\x0b \x01(\x08\x12\x13\n\x0b\x64ump_at_max\x18\r \x01(\x08\x12\x1d\n\x15\x64isable_fork_teardown\x18\x12 \x01(\x08\x12\x1f\n\x17\x64isable_vfork_detection\x18\x13 \x01(\x08\x1aG\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x05 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x06 \x01(\rJ\x04\x08\x0c\x10\r\"\xe1\x02\n\x0fJavaHprofConfig\x12\x17\n\x0fprocess_cmdline\x18\x01 \x03(\t\x12\x0b\n\x03pid\x18\x02 \x03(\x04\x12\x1b\n\x13target_installed_by\x18\x07 \x03(\t\x12U\n\x16\x63ontinuous_dump_config\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.JavaHprofConfig.ContinuousDumpConfig\x12\x1f\n\x17min_anonymous_memory_kb\x18\x04 \x01(\r\x12\x12\n\ndump_smaps\x18\x05 \x01(\x08\x12\x15\n\rignored_types\x18\x06 \x03(\t\x1ah\n\x14\x43ontinuousDumpConfig\x12\x15\n\rdump_phase_ms\x18\x01 \x01(\r\x12\x18\n\x10\x64ump_interval_ms\x18\x02 \x01(\r\x12\x1f\n\x17scan_pids_only_on_start\x18\x03 \x01(\x08\"\xb7\n\n\nPerfEvents\x1a\x9d\x03\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\x00\x12\x18\n\x0epoll_period_ms\x18\x06 \x01(\rH\x00\x12\x36\n\x07\x63ounter\x18\x04 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x01\x12<\n\ntracepoint\x18\x03 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x01\x12\x39\n\traw_event\x18\x05 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x01\x12<\n\tmodifiers\x18\x0c \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12>\n\x0ftimestamp_clock\x18\x0b \x01(\x0e\x32%.perfetto.protos.PerfEvents.PerfClock\x12\x0c\n\x04name\x18\n \x01(\tB\n\n\x08intervalB\x07\n\x05\x65vent\x1a*\n\nTracepoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x1aJ\n\x08RawEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\x04\x12\x0f\n\x07\x63onfig1\x18\x03 \x01(\x04\x12\x0f\n\x07\x63onfig2\x18\x04 \x01(\x04\"\xe8\x03\n\x07\x43ounter\x12\x13\n\x0fUNKNOWN_COUNTER\x10\x00\x12\x10\n\x0cSW_CPU_CLOCK\x10\x01\x12\x12\n\x0eSW_PAGE_FAULTS\x10\x02\x12\x11\n\rSW_TASK_CLOCK\x10\x03\x12\x17\n\x13SW_CONTEXT_SWITCHES\x10\x04\x12\x15\n\x11SW_CPU_MIGRATIONS\x10\x05\x12\x16\n\x12SW_PAGE_FAULTS_MIN\x10\x06\x12\x16\n\x12SW_PAGE_FAULTS_MAJ\x10\x07\x12\x17\n\x13SW_ALIGNMENT_FAULTS\x10\x08\x12\x17\n\x13SW_EMULATION_FAULTS\x10\t\x12\x0c\n\x08SW_DUMMY\x10\x14\x12\x11\n\rHW_CPU_CYCLES\x10\n\x12\x13\n\x0fHW_INSTRUCTIONS\x10\x0b\x12\x17\n\x13HW_CACHE_REFERENCES\x10\x0c\x12\x13\n\x0fHW_CACHE_MISSES\x10\r\x12\x1a\n\x16HW_BRANCH_INSTRUCTIONS\x10\x0e\x12\x14\n\x10HW_BRANCH_MISSES\x10\x0f\x12\x11\n\rHW_BUS_CYCLES\x10\x10\x12\x1e\n\x1aHW_STALLED_CYCLES_FRONTEND\x10\x11\x12\x1d\n\x19HW_STALLED_CYCLES_BACKEND\x10\x12\x12\x15\n\x11HW_REF_CPU_CYCLES\x10\x13\"\x8d\x01\n\tPerfClock\x12\x16\n\x12UNKNOWN_PERF_CLOCK\x10\x00\x12\x17\n\x13PERF_CLOCK_REALTIME\x10\x01\x12\x18\n\x14PERF_CLOCK_MONOTONIC\x10\x02\x12\x1c\n\x18PERF_CLOCK_MONOTONIC_RAW\x10\x03\x12\x17\n\x13PERF_CLOCK_BOOTTIME\x10\x04\"\x95\x01\n\rEventModifier\x12\x1a\n\x16UNKNOWN_EVENT_MODIFIER\x10\x00\x12\"\n\x1e\x45VENT_MODIFIER_COUNT_USERSPACE\x10\x01\x12\x1f\n\x1b\x45VENT_MODIFIER_COUNT_KERNEL\x10\x02\x12#\n\x1f\x45VENT_MODIFIER_COUNT_HYPERVISOR\x10\x03\"\x95\x02\n\rFollowerEvent\x12\x36\n\x07\x63ounter\x18\x01 \x01(\x0e\x32#.perfetto.protos.PerfEvents.CounterH\x00\x12<\n\ntracepoint\x18\x02 \x01(\x0b\x32&.perfetto.protos.PerfEvents.TracepointH\x00\x12\x39\n\traw_event\x18\x03 \x01(\x0b\x32$.perfetto.protos.PerfEvents.RawEventH\x00\x12<\n\tmodifiers\x18\x05 \x03(\x0e\x32).perfetto.protos.PerfEvents.EventModifier\x12\x0c\n\x04name\x18\x04 \x01(\tB\x07\n\x05\x65vent\"\xb8\x08\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x13 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\x12\x12\n\ntarget_cpu\x18\x14 \x03(\r\x12\"\n\x1aring_buffer_read_period_ms\x18\x08 \x01(\r\x12\x19\n\x11ring_buffer_pages\x18\x03 \x01(\r\x12!\n\x19max_enqueued_footprint_kb\x18\x11 \x01(\x04\x12\x1c\n\x14max_daemon_memory_kb\x18\r \x01(\r\x12$\n\x1cremote_descriptor_timeout_ms\x18\t \x01(\r\x12$\n\x1cunwind_state_clear_period_ms\x18\n \x01(\r\x12\x1b\n\x13target_installed_by\x18\x12 \x03(\t\x12\x10\n\x08\x61ll_cpus\x18\x01 \x01(\x08\x12\x1a\n\x12sampling_frequency\x18\x02 \x01(\r\x12\x15\n\rkernel_frames\x18\x0c \x01(\x08\x12\x12\n\ntarget_pid\x18\x04 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x05 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x06 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x07 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x0b \x01(\r\x1a\xa3\x01\n\x11\x43\x61llstackSampling\x12\x35\n\x05scope\x18\x01 \x01(\x0b\x32&.perfetto.protos.PerfEventConfig.Scope\x12\x15\n\rkernel_frames\x18\x02 \x01(\x08\x12@\n\x0buser_frames\x18\x03 \x01(\x0e\x32+.perfetto.protos.PerfEventConfig.UnwindMode\x1a\xa0\x01\n\x05Scope\x12\x12\n\ntarget_pid\x18\x01 \x03(\x05\x12\x16\n\x0etarget_cmdline\x18\x02 \x03(\t\x12\x13\n\x0b\x65xclude_pid\x18\x03 \x03(\x05\x12\x17\n\x0f\x65xclude_cmdline\x18\x04 \x03(\t\x12 \n\x18\x61\x64\x64itional_cmdline_count\x18\x05 \x01(\r\x12\x1b\n\x13process_shard_count\x18\x06 \x01(\r\"]\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02\x12\x18\n\x14UNWIND_FRAME_POINTER\x10\x03J\x04\x08\x0e\x10\x0f\"\x9a\x01\n\x13StatsdTracingConfig\x12-\n\x0cpush_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_push_atom_id\x18\x02 \x03(\x05\x12:\n\x0bpull_config\x18\x03 \x03(\x0b\x32%.perfetto.protos.StatsdPullAtomConfig\"\x8c\x01\n\x14StatsdPullAtomConfig\x12-\n\x0cpull_atom_id\x18\x01 \x03(\x0e\x32\x17.perfetto.protos.AtomId\x12\x18\n\x10raw_pull_atom_id\x18\x02 \x03(\x05\x12\x19\n\x11pull_frequency_ms\x18\x03 \x01(\x05\x12\x10\n\x08packages\x18\x04 \x03(\t\"\xec\x04\n\x0eSysStatsConfig\x12\x19\n\x11meminfo_period_ms\x18\x01 \x01(\r\x12:\n\x10meminfo_counters\x18\x02 \x03(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\x18\n\x10vmstat_period_ms\x18\x03 \x01(\r\x12\x38\n\x0fvmstat_counters\x18\x04 \x03(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\x16\n\x0estat_period_ms\x18\x05 \x01(\r\x12\x43\n\rstat_counters\x18\x06 \x03(\x0e\x32,.perfetto.protos.SysStatsConfig.StatCounters\x12\x19\n\x11\x64\x65vfreq_period_ms\x18\x07 \x01(\r\x12\x19\n\x11\x63pufreq_period_ms\x18\x08 \x01(\r\x12\x1b\n\x13\x62uddyinfo_period_ms\x18\t \x01(\r\x12\x1a\n\x12\x64iskstat_period_ms\x18\n \x01(\r\x12\x15\n\rpsi_period_ms\x18\x0b \x01(\r\x12\x19\n\x11thermal_period_ms\x18\x0c \x01(\r\x12\x19\n\x11\x63puidle_period_ms\x18\r \x01(\r\x12\x19\n\x11gpufreq_period_ms\x18\x0e \x01(\r\"{\n\x0cStatCounters\x12\x14\n\x10STAT_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAT_CPU_TIMES\x10\x01\x12\x13\n\x0fSTAT_IRQ_COUNTS\x10\x02\x12\x17\n\x13STAT_SOFTIRQ_COUNTS\x10\x03\x12\x13\n\x0fSTAT_FORK_COUNT\x10\x04\"\x12\n\x10SystemInfoConfig\"\x8d\x04\n\nTestConfig\x12\x15\n\rmessage_count\x18\x01 \x01(\r\x12\x1f\n\x17max_messages_per_second\x18\x02 \x01(\r\x12\x0c\n\x04seed\x18\x03 \x01(\r\x12\x14\n\x0cmessage_size\x18\x04 \x01(\r\x12\x1e\n\x16send_batch_on_register\x18\x05 \x01(\x08\x12=\n\x0c\x64ummy_fields\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TestConfig.DummyFields\x1a\xc3\x02\n\x0b\x44ummyFields\x12\x14\n\x0c\x66ield_uint32\x18\x01 \x01(\r\x12\x13\n\x0b\x66ield_int32\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ield_uint64\x18\x03 \x01(\x04\x12\x13\n\x0b\x66ield_int64\x18\x04 \x01(\x03\x12\x15\n\rfield_fixed64\x18\x05 \x01(\x06\x12\x16\n\x0e\x66ield_sfixed64\x18\x06 \x01(\x10\x12\x15\n\rfield_fixed32\x18\x07 \x01(\x07\x12\x16\n\x0e\x66ield_sfixed32\x18\x08 \x01(\x0f\x12\x14\n\x0c\x66ield_double\x18\t \x01(\x01\x12\x13\n\x0b\x66ield_float\x18\n \x01(\x02\x12\x14\n\x0c\x66ield_sint64\x18\x0b \x01(\x12\x12\x14\n\x0c\x66ield_sint32\x18\x0c \x01(\x11\x12\x14\n\x0c\x66ield_string\x18\r \x01(\t\x12\x13\n\x0b\x66ield_bytes\x18\x0e \x01(\x0c\"\xd2\x02\n\x10TrackEventConfig\x12\x1b\n\x13\x64isabled_categories\x18\x01 \x03(\t\x12\x1a\n\x12\x65nabled_categories\x18\x02 \x03(\t\x12\x15\n\rdisabled_tags\x18\x03 \x03(\t\x12\x14\n\x0c\x65nabled_tags\x18\x04 \x03(\t\x12&\n\x1e\x64isable_incremental_timestamps\x18\x05 \x01(\x08\x12!\n\x19timestamp_unit_multiplier\x18\x06 \x01(\x04\x12 \n\x18\x66ilter_debug_annotations\x18\x07 \x01(\x08\x12#\n\x1b\x65nable_thread_time_sampling\x18\x08 \x01(\x08\x12\"\n\x1athread_time_subsampling_ns\x18\n \x01(\x04\x12\"\n\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\x93\x1b\n\x10\x44\x61taSourceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\x12\x19\n\x11trace_duration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18z \x01(\x08\x12\x17\n\x0fstop_timeout_ms\x18\x07 \x01(\r\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x06 \x01(\x08\x12M\n\x11session_initiator\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.DataSourceConfig.SessionInitiator\x12\x1a\n\x12tracing_session_id\x18\x04 \x01(\x04\x12X\n\x17\x62uffer_exhausted_policy\x18\t \x01(\x0e\x32\x37.perfetto.protos.DataSourceConfig.BufferExhaustedPolicy\x12<\n\x0epriority_boost\x18\n \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x38\n\rftrace_config\x18\x64 \x01(\x0b\x32\x1d.perfetto.protos.FtraceConfigB\x02(\x01\x12?\n\x11inode_file_config\x18\x66 \x01(\x0b\x32 .perfetto.protos.InodeFileConfigB\x02(\x01\x12\x45\n\x14process_stats_config\x18g \x01(\x0b\x32#.perfetto.protos.ProcessStatsConfigB\x02(\x01\x12=\n\x10sys_stats_config\x18h \x01(\x0b\x32\x1f.perfetto.protos.SysStatsConfigB\x02(\x01\x12>\n\x10heapprofd_config\x18i \x01(\x0b\x32 .perfetto.protos.HeapprofdConfigB\x02(\x01\x12?\n\x11java_hprof_config\x18n \x01(\x0b\x32 .perfetto.protos.JavaHprofConfigB\x02(\x01\x12\x45\n\x14\x61ndroid_power_config\x18j \x01(\x0b\x32#.perfetto.protos.AndroidPowerConfigB\x02(\x01\x12\x41\n\x12\x61ndroid_log_config\x18k \x01(\x0b\x32!.perfetto.protos.AndroidLogConfigB\x02(\x01\x12\x41\n\x12gpu_counter_config\x18l \x01(\x0b\x32!.perfetto.protos.GpuCounterConfigB\x02(\x01\x12\x65\n%android_game_intervention_list_config\x18t \x01(\x0b\x32\x32.perfetto.protos.AndroidGameInterventionListConfigB\x02(\x01\x12\x45\n\x14packages_list_config\x18m \x01(\x0b\x32#.perfetto.protos.PackagesListConfigB\x02(\x01\x12?\n\x11perf_event_config\x18o \x01(\x0b\x32 .perfetto.protos.PerfEventConfigB\x02(\x01\x12\x45\n\x14vulkan_memory_config\x18p \x01(\x0b\x32#.perfetto.protos.VulkanMemoryConfigB\x02(\x01\x12\x41\n\x12track_event_config\x18q \x01(\x0b\x32!.perfetto.protos.TrackEventConfigB\x02(\x01\x12R\n\x1b\x61ndroid_polled_state_config\x18r \x01(\x0b\x32).perfetto.protos.AndroidPolledStateConfigB\x02(\x01\x12X\n\x1e\x61ndroid_system_property_config\x18v \x01(\x0b\x32,.perfetto.protos.AndroidSystemPropertyConfigB\x02(\x01\x12G\n\x15statsd_tracing_config\x18u \x01(\x0b\x32$.perfetto.protos.StatsdTracingConfigB\x02(\x01\x12=\n\x12system_info_config\x18w \x01(\x0b\x32!.perfetto.protos.SystemInfoConfig\x12\x46\n\x14\x66rozen_ftrace_config\x18\x88\x01 \x01(\x0b\x32#.perfetto.protos.FrozenFtraceConfigB\x02(\x01\x12\x34\n\rchrome_config\x18\x65 \x01(\x0b\x32\x1d.perfetto.protos.ChromeConfig\x12\x30\n\tv8_config\x18\x7f \x01(\x0b\x32\x19.perfetto.protos.V8ConfigB\x02(\x01\x12>\n\x12interceptor_config\x18s \x01(\x0b\x32\".perfetto.protos.InterceptorConfig\x12R\n\x1bnetwork_packet_trace_config\x18x \x01(\x0b\x32).perfetto.protos.NetworkPacketTraceConfigB\x02(\x01\x12U\n\x1csurfaceflinger_layers_config\x18y \x01(\x0b\x32+.perfetto.protos.SurfaceFlingerLayersConfigB\x02(\x01\x12\x61\n\"surfaceflinger_transactions_config\x18{ \x01(\x0b\x32\x31.perfetto.protos.SurfaceFlingerTransactionsConfigB\x02(\x01\x12[\n android_sdk_sysprop_guard_config\x18| \x01(\x0b\x32-.perfetto.protos.AndroidSdkSyspropGuardConfigB\x02(\x01\x12\x32\n\netw_config\x18} \x01(\x0b\x32\x1a.perfetto.protos.EtwConfigB\x02(\x01\x12<\n\x0fprotolog_config\x18~ \x01(\x0b\x32\x1f.perfetto.protos.ProtoLogConfigB\x02(\x01\x12Q\n\x1a\x61ndroid_input_event_config\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.AndroidInputEventConfigB\x02(\x01\x12\x42\n\x12pixel_modem_config\x18\x81\x01 \x01(\x0b\x32!.perfetto.protos.PixelModemConfigB\x02(\x01\x12G\n\x14windowmanager_config\x18\x82\x01 \x01(\x0b\x32$.perfetto.protos.WindowManagerConfigB\x02(\x01\x12R\n\x17\x63hromium_system_metrics\x18\x83\x01 \x01(\x0b\x32,.perfetto.protos.ChromiumSystemMetricsConfigB\x02(\x01\x12L\n\x17kernel_wakelocks_config\x18\x84\x01 \x01(\x0b\x32&.perfetto.protos.KernelWakelocksConfigB\x02(\x01\x12L\n\x17gpu_renderstages_config\x18\x85\x01 \x01(\x0b\x32&.perfetto.protos.GpuRenderStagesConfigB\x02(\x01\x12X\n\x1a\x63hromium_histogram_samples\x18\x86\x01 \x01(\x0b\x32/.perfetto.protos.ChromiumHistogramSamplesConfigB\x02(\x01\x12\x46\n\x14\x61pp_wakelocks_config\x18\x87\x01 \x01(\x0b\x32#.perfetto.protos.AppWakelocksConfigB\x02(\x01\x12\x41\n\x12\x63pu_per_uid_config\x18\x89\x01 \x01(\x0b\x32 .perfetto.protos.CpuPerUidConfigB\x02(\x01\x12\x16\n\rlegacy_config\x18\xe8\x07 \x01(\t\x12\x31\n\x0b\x66or_testing\x18\xe9\x07 \x01(\x0b\x32\x1b.perfetto.protos.TestConfig\"[\n\x10SessionInitiator\x12!\n\x1dSESSION_INITIATOR_UNSPECIFIED\x10\x00\x12$\n SESSION_INITIATOR_TRUSTED_SYSTEM\x10\x01\"\xa1\x01\n\x15\x42ufferExhaustedPolicy\x12 \n\x1c\x42UFFER_EXHAUSTED_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42UFFER_EXHAUSTED_DROP\x10\x01\x12%\n!BUFFER_EXHAUSTED_STALL_THEN_ABORT\x10\x02\x12$\n BUFFER_EXHAUSTED_STALL_THEN_DROP\x10\x03J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\x89%\n\x0bTraceConfig\x12:\n\x07\x62uffers\x18\x01 \x03(\x0b\x32).perfetto.protos.TraceConfig.BufferConfig\x12=\n\x0c\x64\x61ta_sources\x18\x02 \x03(\x0b\x32\'.perfetto.protos.TraceConfig.DataSource\x12L\n\x14\x62uiltin_data_sources\x18\x14 \x01(\x0b\x32..perfetto.protos.TraceConfig.BuiltinDataSource\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12)\n!prefer_suspend_clock_for_duration\x18$ \x01(\x08\x12\x1f\n\x17\x65nable_extra_guardrails\x18\x04 \x01(\x08\x12I\n\rlockdown_mode\x18\x05 \x01(\x0e\x32\x32.perfetto.protos.TraceConfig.LockdownModeOperation\x12>\n\tproducers\x18\x06 \x03(\x0b\x32+.perfetto.protos.TraceConfig.ProducerConfig\x12\x44\n\x0fstatsd_metadata\x18\x07 \x01(\x0b\x32+.perfetto.protos.TraceConfig.StatsdMetadata\x12\x17\n\x0fwrite_into_file\x18\x08 \x01(\x08\x12\x13\n\x0boutput_path\x18\x1d \x01(\t\x12\x1c\n\x14\x66ile_write_period_ms\x18\t \x01(\r\x12\x1b\n\x13max_file_size_bytes\x18\n \x01(\x04\x12L\n\x13guardrail_overrides\x18\x0b \x01(\x0b\x32/.perfetto.protos.TraceConfig.GuardrailOverrides\x12\x16\n\x0e\x64\x65\x66\x65rred_start\x18\x0c \x01(\x08\x12\x17\n\x0f\x66lush_period_ms\x18\r \x01(\r\x12\x18\n\x10\x66lush_timeout_ms\x18\x0e \x01(\r\x12#\n\x1b\x64\x61ta_source_stop_timeout_ms\x18\x17 \x01(\r\x12\x16\n\x0enotify_traceur\x18\x10 \x01(\x08\x12\x17\n\x0f\x62ugreport_score\x18\x1e \x01(\x05\x12\x1a\n\x12\x62ugreport_filename\x18& \x01(\t\x12\x42\n\x0etrigger_config\x18\x11 \x01(\x0b\x32*.perfetto.protos.TraceConfig.TriggerConfig\x12\x19\n\x11\x61\x63tivate_triggers\x18\x12 \x03(\t\x12U\n\x18incremental_state_config\x18\x15 \x01(\x0b\x32\x33.perfetto.protos.TraceConfig.IncrementalStateConfig\x12$\n\x18\x61llow_user_build_tracing\x18\x13 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13unique_session_name\x18\x16 \x01(\t\x12\x46\n\x10\x63ompression_type\x18\x18 \x01(\x0e\x32,.perfetto.protos.TraceConfig.CompressionType\x12Q\n\x16incident_report_config\x18\x19 \x01(\x0b\x32\x31.perfetto.protos.TraceConfig.IncidentReportConfig\x12\x42\n\x0estatsd_logging\x18\x1f \x01(\x0e\x32*.perfetto.protos.TraceConfig.StatsdLogging\x12\x1a\n\x0etrace_uuid_msb\x18\x1b \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0etrace_uuid_lsb\x18\x1c \x01(\x03\x42\x02\x18\x01\x12>\n\x0ctrace_filter\x18! \x01(\x0b\x32(.perfetto.protos.TraceConfig.TraceFilter\x12O\n\x15\x61ndroid_report_config\x18\" \x01(\x0b\x32\x30.perfetto.protos.TraceConfig.AndroidReportConfig\x12N\n\x15\x63md_trace_start_delay\x18# \x01(\x0b\x32/.perfetto.protos.TraceConfig.CmdTraceStartDelay\x12I\n\x12session_semaphores\x18\' \x03(\x0b\x32-.perfetto.protos.TraceConfig.SessionSemaphore\x12<\n\x0epriority_boost\x18( \x01(\x0b\x32$.perfetto.protos.PriorityBoostConfig\x12\x16\n\x0e\x65xclusive_prio\x18) \x01(\r\x12\'\n\x1fno_flush_before_write_into_file\x18* \x01(\x08\x1a\xea\x01\n\x0c\x42ufferConfig\x12\x0f\n\x07size_kb\x18\x01 \x01(\r\x12I\n\x0b\x66ill_policy\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.TraceConfig.BufferConfig.FillPolicy\x12\x19\n\x11transfer_on_clone\x18\x05 \x01(\x08\x12\x1a\n\x12\x63lear_before_clone\x18\x06 \x01(\x08\";\n\nFillPolicy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bRING_BUFFER\x10\x01\x12\x0b\n\x07\x44ISCARD\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x9e\x01\n\nDataSource\x12\x31\n\x06\x63onfig\x18\x01 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x12\x1c\n\x14producer_name_filter\x18\x02 \x03(\t\x12\"\n\x1aproducer_name_regex_filter\x18\x03 \x03(\t\x12\x1b\n\x13machine_name_filter\x18\x04 \x03(\t\x1a\xbf\x02\n\x11\x42uiltinDataSource\x12\"\n\x1a\x64isable_clock_snapshotting\x18\x01 \x01(\x08\x12\x1c\n\x14\x64isable_trace_config\x18\x02 \x01(\x08\x12\x1b\n\x13\x64isable_system_info\x18\x03 \x01(\x08\x12\x1e\n\x16\x64isable_service_events\x18\x04 \x01(\x08\x12:\n\x13primary_trace_clock\x18\x05 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x12\x1c\n\x14snapshot_interval_ms\x18\x06 \x01(\r\x12)\n!prefer_suspend_clock_for_snapshot\x18\x07 \x01(\x08\x12&\n\x1e\x64isable_chunk_usage_histograms\x18\x08 \x01(\x08\x1aR\n\x0eProducerConfig\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x13\n\x0bshm_size_kb\x18\x02 \x01(\r\x12\x14\n\x0cpage_size_kb\x18\x03 \x01(\r\x1a\x8e\x01\n\x0eStatsdMetadata\x12\x1b\n\x13triggering_alert_id\x18\x01 \x01(\x03\x12\x1d\n\x15triggering_config_uid\x18\x02 \x01(\x05\x12\x1c\n\x14triggering_config_id\x18\x03 \x01(\x03\x12\"\n\x1atriggering_subscription_id\x18\x04 \x01(\x03\x1a^\n\x12GuardrailOverrides\x12$\n\x18max_upload_per_day_bytes\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\"\n\x1amax_tracing_buffer_size_kb\x18\x02 \x01(\r\x1a\xca\x03\n\rTriggerConfig\x12L\n\x0ctrigger_mode\x18\x01 \x01(\x0e\x32\x36.perfetto.protos.TraceConfig.TriggerConfig.TriggerMode\x12\'\n\x1fuse_clone_snapshot_if_available\x18\x05 \x01(\x08\x12\x44\n\x08triggers\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.TraceConfig.TriggerConfig.Trigger\x12\x1a\n\x12trigger_timeout_ms\x18\x03 \x01(\r\x1a{\n\x07Trigger\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13producer_name_regex\x18\x02 \x01(\t\x12\x15\n\rstop_delay_ms\x18\x03 \x01(\r\x12\x14\n\x0cmax_per_24_h\x18\x04 \x01(\r\x12\x18\n\x10skip_probability\x18\x05 \x01(\x01\"]\n\x0bTriggerMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x11\n\rSTART_TRACING\x10\x01\x12\x10\n\x0cSTOP_TRACING\x10\x02\x12\x12\n\x0e\x43LONE_SNAPSHOT\x10\x04\"\x04\x08\x03\x10\x03J\x04\x08\x04\x10\x05\x1a\x31\n\x16IncrementalStateConfig\x12\x17\n\x0f\x63lear_period_ms\x18\x01 \x01(\r\x1a\x97\x01\n\x14IncidentReportConfig\x12\x1b\n\x13\x64\x65stination_package\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65stination_class\x18\x02 \x01(\t\x12\x15\n\rprivacy_level\x18\x03 \x01(\x05\x12\x16\n\x0eskip_incidentd\x18\x05 \x01(\x08\x12\x18\n\x0cskip_dropbox\x18\x04 \x01(\x08\x42\x02\x18\x01\x1a\xd5\x04\n\x0bTraceFilter\x12\x10\n\x08\x62ytecode\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62ytecode_v2\x18\x02 \x01(\x0c\x12W\n\x13string_filter_chain\x18\x03 \x01(\x0b\x32:.perfetto.protos.TraceConfig.TraceFilter.StringFilterChain\x1a\x9a\x01\n\x10StringFilterRule\x12K\n\x06policy\x18\x01 \x01(\x0e\x32;.perfetto.protos.TraceConfig.TraceFilter.StringFilterPolicy\x12\x15\n\rregex_pattern\x18\x02 \x01(\t\x12\"\n\x1a\x61trace_payload_starts_with\x18\x03 \x01(\t\x1a]\n\x11StringFilterChain\x12H\n\x05rules\x18\x01 \x03(\x0b\x32\x39.perfetto.protos.TraceConfig.TraceFilter.StringFilterRule\"\xc9\x01\n\x12StringFilterPolicy\x12\x13\n\x0fSFP_UNSPECIFIED\x10\x00\x12\x1b\n\x17SFP_MATCH_REDACT_GROUPS\x10\x01\x12\"\n\x1eSFP_ATRACE_MATCH_REDACT_GROUPS\x10\x02\x12\x13\n\x0fSFP_MATCH_BREAK\x10\x03\x12\x1a\n\x16SFP_ATRACE_MATCH_BREAK\x10\x04\x12,\n(SFP_ATRACE_REPEATED_SEARCH_REDACT_GROUPS\x10\x05\x1a\x97\x01\n\x13\x41ndroidReportConfig\x12 \n\x18reporter_service_package\x18\x01 \x01(\t\x12\x1e\n\x16reporter_service_class\x18\x02 \x01(\t\x12\x13\n\x0bskip_report\x18\x03 \x01(\x08\x12)\n!use_pipe_in_framework_for_testing\x18\x04 \x01(\x08\x1a@\n\x12\x43mdTraceStartDelay\x12\x14\n\x0cmin_delay_ms\x18\x01 \x01(\r\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\r\x1a\x41\n\x10SessionSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x17max_other_session_count\x18\x02 \x01(\x04\"U\n\x15LockdownModeOperation\x12\x16\n\x12LOCKDOWN_UNCHANGED\x10\x00\x12\x12\n\x0eLOCKDOWN_CLEAR\x10\x01\x12\x10\n\x0cLOCKDOWN_SET\x10\x02\"Q\n\x0f\x43ompressionType\x12 \n\x1c\x43OMPRESSION_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43OMPRESSION_TYPE_DEFLATE\x10\x01\"h\n\rStatsdLogging\x12\x1e\n\x1aSTATSD_LOGGING_UNSPECIFIED\x10\x00\x12\x1a\n\x16STATSD_LOGGING_ENABLED\x10\x01\x12\x1b\n\x17STATSD_LOGGING_DISABLED\x10\x02J\x04\x08\x0f\x10\x10J\x04\x08%\x10&J\x04\x08\x1a\x10\x1bJ\x04\x08 \x10!\"M\n\x07Utsname\x12\x0f\n\x07sysname\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0f\n\x07release\x18\x03 \x01(\t\x12\x0f\n\x07machine\x18\x04 \x01(\t\"\xc2\x03\n\nSystemInfo\x12)\n\x07utsname\x18\x01 \x01(\x0b\x32\x18.perfetto.protos.Utsname\x12!\n\x19\x61ndroid_build_fingerprint\x18\x02 \x01(\t\x12#\n\x1b\x61ndroid_device_manufacturer\x18\x0e \x01(\t\x12\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12\x1f\n\x17\x61ndroid_guest_soc_model\x18\r \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \x01(\t\x12\x1d\n\x15\x61ndroid_storage_model\x18\x0b \x01(\t\x12\x19\n\x11\x61ndroid_ram_model\x18\x0c \x01(\t\x12\x1e\n\x16\x61ndroid_serial_console\x18\x0f \x01(\t\x12\x1f\n\x17tracing_service_version\x18\x04 \x01(\t\x12\x1b\n\x13\x61ndroid_sdk_version\x18\x05 \x01(\x04\x12\x11\n\tpage_size\x18\x06 \x01(\r\x12\x10\n\x08num_cpus\x18\x08 \x01(\r\x12\x19\n\x11timezone_off_mins\x18\x07 \x01(\x05\x12\n\n\x02hz\x18\x03 \x01(\x03\"\x91\x0c\n\nTraceStats\x12=\n\x0c\x62uffer_stats\x18\x01 \x03(\x0b\x32\'.perfetto.protos.TraceStats.BufferStats\x12#\n\x1b\x63hunk_payload_histogram_def\x18\x11 \x03(\x03\x12=\n\x0cwriter_stats\x18\x12 \x03(\x0b\x32\'.perfetto.protos.TraceStats.WriterStats\x12\x1b\n\x13producers_connected\x18\x02 \x01(\r\x12\x16\n\x0eproducers_seen\x18\x03 \x01(\x04\x12\x1f\n\x17\x64\x61ta_sources_registered\x18\x04 \x01(\r\x12\x19\n\x11\x64\x61ta_sources_seen\x18\x05 \x01(\x04\x12\x18\n\x10tracing_sessions\x18\x06 \x01(\r\x12\x15\n\rtotal_buffers\x18\x07 \x01(\r\x12\x18\n\x10\x63hunks_discarded\x18\x08 \x01(\x04\x12\x19\n\x11patches_discarded\x18\t \x01(\x04\x12\x17\n\x0finvalid_packets\x18\n \x01(\x04\x12=\n\x0c\x66ilter_stats\x18\x0b \x01(\x0b\x32\'.perfetto.protos.TraceStats.FilterStats\x12\x19\n\x11\x66lushes_requested\x18\x0c \x01(\x04\x12\x19\n\x11\x66lushes_succeeded\x18\r \x01(\x04\x12\x16\n\x0e\x66lushes_failed\x18\x0e \x01(\x04\x12J\n\x13\x66inal_flush_outcome\x18\x0f \x01(\x0e\x32-.perfetto.protos.TraceStats.FinalFlushOutcome\x1a\x8a\x04\n\x0b\x42ufferStats\x12\x13\n\x0b\x62uffer_size\x18\x0c \x01(\x04\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\x12\x19\n\x11\x62ytes_overwritten\x18\r \x01(\x04\x12\x12\n\nbytes_read\x18\x0e \x01(\x04\x12\x1d\n\x15padding_bytes_written\x18\x0f \x01(\x04\x12\x1d\n\x15padding_bytes_cleared\x18\x10 \x01(\x04\x12\x16\n\x0e\x63hunks_written\x18\x02 \x01(\x04\x12\x18\n\x10\x63hunks_rewritten\x18\n \x01(\x04\x12\x1a\n\x12\x63hunks_overwritten\x18\x03 \x01(\x04\x12\x18\n\x10\x63hunks_discarded\x18\x12 \x01(\x04\x12\x13\n\x0b\x63hunks_read\x18\x11 \x01(\x04\x12%\n\x1d\x63hunks_committed_out_of_order\x18\x0b \x01(\x04\x12\x18\n\x10write_wrap_count\x18\x04 \x01(\x04\x12\x19\n\x11patches_succeeded\x18\x05 \x01(\x04\x12\x16\n\x0epatches_failed\x18\x06 \x01(\x04\x12\x1c\n\x14readaheads_succeeded\x18\x07 \x01(\x04\x12\x19\n\x11readaheads_failed\x18\x08 \x01(\x04\x12\x16\n\x0e\x61\x62i_violations\x18\t \x01(\x04\x12 \n\x18trace_writer_packet_loss\x18\x13 \x01(\x04\x1a\x87\x01\n\x0bWriterStats\x12\x13\n\x0bsequence_id\x18\x01 \x01(\x04\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\r\x12*\n\x1e\x63hunk_payload_histogram_counts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12\'\n\x1b\x63hunk_payload_histogram_sum\x18\x03 \x03(\x03\x42\x02\x10\x01\x1a\x9a\x01\n\x0b\x46ilterStats\x12\x15\n\rinput_packets\x18\x01 \x01(\x04\x12\x13\n\x0binput_bytes\x18\x02 \x01(\x04\x12\x14\n\x0coutput_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x04\x12\x15\n\rtime_taken_ns\x18\x05 \x01(\x04\x12\"\n\x1a\x62ytes_discarded_per_buffer\x18\x14 \x03(\x04\"c\n\x11\x46inalFlushOutcome\x12\x1b\n\x17\x46INAL_FLUSH_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INAL_FLUSH_SUCCEEDED\x10\x01\x12\x16\n\x12\x46INAL_FLUSH_FAILED\x10\x02\"\x8f\x03\n\x1b\x41ndroidGameInterventionList\x12S\n\rgame_packages\x18\x01 \x03(\x0b\x32<.perfetto.protos.AndroidGameInterventionList.GamePackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1aZ\n\x0cGameModeInfo\x12\x0c\n\x04mode\x18\x01 \x01(\r\x12\x11\n\tuse_angle\x18\x02 \x01(\x08\x12\x1c\n\x14resolution_downscale\x18\x03 \x01(\x02\x12\x0b\n\x03\x66ps\x18\x04 \x01(\x02\x1a\x95\x01\n\x0fGamePackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrent_mode\x18\x03 \x01(\r\x12Q\n\x0egame_mode_info\x18\x04 \x03(\x0b\x32\x39.perfetto.protos.AndroidGameInterventionList.GameModeInfo\"\xb2\x04\n\x10\x41ndroidLogPacket\x12:\n\x06\x65vents\x18\x01 \x03(\x0b\x32*.perfetto.protos.AndroidLogPacket.LogEvent\x12\x36\n\x05stats\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidLogPacket.Stats\x1a\xe4\x02\n\x08LogEvent\x12-\n\x06log_id\x18\x01 \x01(\x0e\x32\x1d.perfetto.protos.AndroidLogId\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03tid\x18\x03 \x01(\x05\x12\x0b\n\x03uid\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12\x0b\n\x03tag\x18\x06 \x01(\t\x12\x31\n\x04prio\x18\x07 \x01(\x0e\x32#.perfetto.protos.AndroidLogPriority\x12\x0f\n\x07message\x18\x08 \x01(\t\x12<\n\x04\x61rgs\x18\t \x03(\x0b\x32..perfetto.protos.AndroidLogPacket.LogEvent.Arg\x1a`\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x16\n\x0cstring_value\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\x1a\x43\n\x05Stats\x12\x11\n\tnum_total\x18\x01 \x01(\x04\x12\x12\n\nnum_failed\x18\x02 \x01(\x04\x12\x13\n\x0bnum_skipped\x18\x03 \x01(\x04\"\x8b\x01\n\x15\x41ndroidSystemProperty\x12\x44\n\x06values\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidSystemProperty.PropertyValue\x1a,\n\rPropertyValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"r\n\x0f\x41ppWakelockInfo\x12\x0b\n\x03iid\x18\x01 \x01(\x05\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x11\n\towner_pid\x18\x04 \x01(\x05\x12\x11\n\towner_uid\x18\x05 \x01(\x05\x12\x10\n\x08work_uid\x18\x06 \x01(\x05\"\x84\x01\n\x11\x41ppWakelockBundle\x12\x15\n\tintern_id\x18\x01 \x03(\rB\x02\x10\x01\x12\x16\n\nencoded_ts\x18\x02 \x03(\x04\x42\x02\x10\x01\x12.\n\x04info\x18\x03 \x01(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12\x10\n\x08\x61\x63quired\x18\x04 \x01(\x08\"\xdd\x01\n\x13\x42luetoothTraceEvent\x12>\n\x0bpacket_type\x18\x01 \x01(\x0e\x32).perfetto.protos.BluetoothTracePacketType\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x10\n\x08\x64uration\x18\x04 \x01(\r\x12\x0f\n\x07op_code\x18\x05 \x01(\r\x12\x12\n\nevent_code\x18\x06 \x01(\r\x12\x15\n\rsubevent_code\x18\x07 \x01(\r\x12\x19\n\x11\x63onnection_handle\x18\x08 \x01(\r\"\x82\x07\n\x17\x41ndroidCameraFrameEvent\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x11\n\tcamera_id\x18\x02 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x03 \x01(\x03\x12\x12\n\nrequest_id\x18\x04 \x01(\x03\x12\x1b\n\x13request_received_ns\x18\x05 \x01(\x03\x12%\n\x1drequest_processing_started_ns\x18\x06 \x01(\x03\x12\x1c\n\x14start_of_exposure_ns\x18\x07 \x01(\x03\x12\x19\n\x11start_of_frame_ns\x18\x08 \x01(\x03\x12\x1d\n\x15responses_all_sent_ns\x18\t \x01(\x03\x12[\n\x15\x63\x61pture_result_status\x18\n \x01(\x0e\x32<.perfetto.protos.AndroidCameraFrameEvent.CaptureResultStatus\x12\x1d\n\x15skipped_sensor_frames\x18\x0b \x01(\x05\x12\x16\n\x0e\x63\x61pture_intent\x18\x0c \x01(\x05\x12\x13\n\x0bnum_streams\x18\r \x01(\x05\x12\x65\n\x17node_processing_details\x18\x0e \x03(\x0b\x32\x44.perfetto.protos.AndroidCameraFrameEvent.CameraNodeProcessingDetails\x12\x1b\n\x13vendor_data_version\x18\x0f \x01(\x05\x12\x13\n\x0bvendor_data\x18\x10 \x01(\x0c\x1a\x85\x01\n\x1b\x43\x61meraNodeProcessingDetails\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x1b\n\x13start_processing_ns\x18\x02 \x01(\x03\x12\x19\n\x11\x65nd_processing_ns\x18\x03 \x01(\x03\x12\x1d\n\x15scheduling_latency_ns\x18\x04 \x01(\x03\"\xaf\x01\n\x13\x43\x61ptureResultStatus\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n\tSTATUS_OK\x10\x01\x12\x1f\n\x1bSTATUS_EARLY_METADATA_ERROR\x10\x02\x12\x1f\n\x1bSTATUS_FINAL_METADATA_ERROR\x10\x03\x12\x17\n\x13STATUS_BUFFER_ERROR\x10\x04\x12\x16\n\x12STATUS_FLUSH_ERROR\x10\x05\"\xb7\x04\n\x19\x41ndroidCameraSessionStats\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x45\n\x05graph\x18\x02 \x01(\x0b\x32\x36.perfetto.protos.AndroidCameraSessionStats.CameraGraph\x1a\xbe\x03\n\x0b\x43\x61meraGraph\x12P\n\x05nodes\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraNode\x12P\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidCameraSessionStats.CameraGraph.CameraEdge\x1av\n\nCameraNode\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x11\n\tinput_ids\x18\x02 \x03(\x03\x12\x12\n\noutput_ids\x18\x03 \x03(\x03\x12\x1b\n\x13vendor_data_version\x18\x04 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x05 \x01(\x0c\x1a\x92\x01\n\nCameraEdge\x12\x16\n\x0eoutput_node_id\x18\x01 \x01(\x03\x12\x11\n\toutput_id\x18\x02 \x01(\x03\x12\x15\n\rinput_node_id\x18\x03 \x01(\x03\x12\x10\n\x08input_id\x18\x04 \x01(\x03\x12\x1b\n\x13vendor_data_version\x18\x05 \x01(\x05\x12\x13\n\x0bvendor_data\x18\x06 \x01(\x0c\"R\n\rCpuPerUidData\x12\x15\n\rcluster_count\x18\x01 \x01(\r\x12\x0f\n\x03uid\x18\x02 \x03(\rB\x02\x10\x01\x12\x19\n\rtotal_time_ms\x18\x03 \x03(\x04\x42\x02\x10\x01\"\xd1\x14\n\x12\x46rameTimelineEvent\x12\x65\n\x1c\x65xpected_display_frame_start\x18\x01 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedDisplayFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_display_frame_start\x18\x02 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualDisplayFrameStartH\x00\x12\x65\n\x1c\x65xpected_surface_frame_start\x18\x03 \x01(\x0b\x32=.perfetto.protos.FrameTimelineEvent.ExpectedSurfaceFrameStartH\x00\x12\x61\n\x1a\x61\x63tual_surface_frame_start\x18\x04 \x01(\x0b\x32;.perfetto.protos.FrameTimelineEvent.ActualSurfaceFrameStartH\x00\x12\x41\n\tframe_end\x18\x05 \x01(\x0b\x32,.perfetto.protos.FrameTimelineEvent.FrameEndH\x00\x1ax\n\x19\x45xpectedSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x1a\x88\x05\n\x17\x41\x63tualSurfaceFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isplay_frame_token\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x12\n\nlayer_name\x18\x05 \x01(\t\x12\x45\n\x0cpresent_type\x18\x06 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x07 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x08 \x01(\x08\x12\x11\n\tjank_type\x18\t \x01(\x05\x12K\n\x0fprediction_type\x18\n \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12\x11\n\tis_buffer\x18\x0b \x01(\x08\x12P\n\x12jank_severity_type\x18\x0c \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\r \x01(\x02\x12$\n\x1cvsync_resynced_jitter_millis\x18\x0e \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0f \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x10 \x01(\x05\x12R\n\x19present_type_experimental\x18\x11 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1aG\n\x19\x45xpectedDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x1a\x9e\x04\n\x17\x41\x63tualDisplayFrameStart\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\x12\r\n\x05token\x18\x02 \x01(\x03\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x45\n\x0cpresent_type\x18\x04 \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x12\x16\n\x0eon_time_finish\x18\x05 \x01(\x08\x12\x17\n\x0fgpu_composition\x18\x06 \x01(\x08\x12\x11\n\tjank_type\x18\x07 \x01(\x05\x12K\n\x0fprediction_type\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.FrameTimelineEvent.PredictionType\x12P\n\x12jank_severity_type\x18\t \x01(\x0e\x32\x34.perfetto.protos.FrameTimelineEvent.JankSeverityType\x12\x1c\n\x14present_delay_millis\x18\n \x01(\x02\x12\x1b\n\x13jank_severity_score\x18\x0b \x01(\x02\x12\x1e\n\x16jank_type_experimental\x18\x0c \x01(\x05\x12R\n\x19present_type_experimental\x18\r \x01(\x0e\x32/.perfetto.protos.FrameTimelineEvent.PresentType\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xe8\x02\n\x08JankType\x12\x14\n\x10JANK_UNSPECIFIED\x10\x00\x12\r\n\tJANK_NONE\x10\x01\x12\x16\n\x12JANK_SF_SCHEDULING\x10\x02\x12\x19\n\x15JANK_PREDICTION_ERROR\x10\x04\x12\x14\n\x10JANK_DISPLAY_HAL\x10\x08\x12\x1f\n\x1bJANK_SF_CPU_DEADLINE_MISSED\x10\x10\x12\x1f\n\x1bJANK_SF_GPU_DEADLINE_MISSED\x10 \x12\x1c\n\x18JANK_APP_DEADLINE_MISSED\x10@\x12\x19\n\x14JANK_BUFFER_STUFFING\x10\x80\x01\x12\x11\n\x0cJANK_UNKNOWN\x10\x80\x02\x12\x15\n\x10JANK_SF_STUFFING\x10\x80\x04\x12\x11\n\x0cJANK_DROPPED\x10\x80\x08\x12\x17\n\x12JANK_NON_ANIMATING\x10\x80\x10\x12\x1d\n\x18JANK_APP_RESYNCED_JITTER\x10\x80 \"d\n\x10JankSeverityType\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_NONE\x10\x01\x12\x14\n\x10SEVERITY_PARTIAL\x10\x02\x12\x11\n\rSEVERITY_FULL\x10\x03\"\x8a\x01\n\x0bPresentType\x12\x17\n\x13PRESENT_UNSPECIFIED\x10\x00\x12\x13\n\x0fPRESENT_ON_TIME\x10\x01\x12\x10\n\x0cPRESENT_LATE\x10\x02\x12\x11\n\rPRESENT_EARLY\x10\x03\x12\x13\n\x0fPRESENT_DROPPED\x10\x04\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x05\"r\n\x0ePredictionType\x12\x1a\n\x16PREDICTION_UNSPECIFIED\x10\x00\x12\x14\n\x10PREDICTION_VALID\x10\x01\x12\x16\n\x12PREDICTION_EXPIRED\x10\x02\x12\x16\n\x12PREDICTION_UNKNOWN\x10\x03\x42\x07\n\x05\x65vent\"=\n\x10GpuMemTotalEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"\xf1\x03\n\x12GraphicsFrameEvent\x12\x45\n\x0c\x62uffer_event\x18\x01 \x01(\x0b\x32/.perfetto.protos.GraphicsFrameEvent.BufferEvent\x1a\xa2\x01\n\x0b\x42ufferEvent\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\r\x12\x41\n\x04type\x18\x02 \x01(\x0e\x32\x33.perfetto.protos.GraphicsFrameEvent.BufferEventType\x12\x12\n\nlayer_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ns\x18\x04 \x01(\x04\x12\x11\n\tbuffer_id\x18\x05 \x01(\r\"\xee\x01\n\x0f\x42ufferEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45QUEUE\x10\x01\x12\t\n\x05QUEUE\x10\x02\x12\x08\n\x04POST\x10\x03\x12\x11\n\rACQUIRE_FENCE\x10\x04\x12\t\n\x05LATCH\x10\x05\x12\x1a\n\x16HWC_COMPOSITION_QUEUED\x10\x06\x12\x18\n\x14\x46\x41LLBACK_COMPOSITION\x10\x07\x12\x11\n\rPRESENT_FENCE\x10\x08\x12\x11\n\rRELEASE_FENCE\x10\t\x12\n\n\x06MODIFY\x10\n\x12\n\n\x06\x44\x45TACH\x10\x0b\x12\n\n\x06\x41TTACH\x10\x0c\x12\n\n\x06\x43\x41NCEL\x10\r\"@\n\x13InitialDisplayState\x12\x15\n\rdisplay_state\x18\x01 \x01(\x05\x12\x12\n\nbrightness\x18\x02 \x01(\x01\"\xfa\x02\n\x12KernelWakelockData\x12>\n\x08wakelock\x18\x01 \x03(\x0b\x32,.perfetto.protos.KernelWakelockData.Wakelock\x12\x17\n\x0bwakelock_id\x18\x02 \x03(\rB\x02\x10\x01\x12\x1c\n\x10time_held_millis\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x13\n\x0b\x65rror_flags\x18\x04 \x01(\x04\x1a\xd7\x01\n\x08Wakelock\x12\x13\n\x0bwakelock_id\x18\x01 \x01(\r\x12\x15\n\rwakelock_name\x18\x02 \x01(\t\x12H\n\rwakelock_type\x18\x03 \x01(\x0e\x32\x31.perfetto.protos.KernelWakelockData.Wakelock.Type\"U\n\x04Type\x12\x19\n\x15WAKELOCK_TYPE_UNKNOWN\x10\x00\x12\x18\n\x14WAKELOCK_TYPE_KERNEL\x10\x01\x12\x18\n\x14WAKELOCK_TYPE_NATIVE\x10\x02\"\x83\x02\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x19\n\x11network_interface\x18\x02 \x01(\t\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03tag\x18\x05 \x01(\r\x12\x10\n\x08ip_proto\x18\x06 \x01(\r\x12\x11\n\ttcp_flags\x18\x07 \x01(\r\x12\x12\n\nlocal_port\x18\x08 \x01(\r\x12\x13\n\x0bremote_port\x18\t \x01(\r\x12\x11\n\ticmp_type\x18\n \x01(\r\x12\x11\n\ticmp_code\x18\x0b \x01(\r\"\xea\x01\n\x13NetworkPacketBundle\x12\r\n\x03iid\x18\x01 \x01(\x04H\x00\x12\x32\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x1d\n\x11packet_timestamps\x18\x03 \x03(\x04\x42\x02\x10\x01\x12\x1a\n\x0epacket_lengths\x18\x04 \x03(\rB\x02\x10\x01\x12\x15\n\rtotal_packets\x18\x05 \x01(\r\x12\x16\n\x0etotal_duration\x18\x06 \x01(\x04\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x42\x10\n\x0epacket_context\"U\n\x14NetworkPacketContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x30\n\x03\x63tx\x18\x02 \x01(\x0b\x32#.perfetto.protos.NetworkPacketEvent\"\xe8\x01\n\x0cPackagesList\x12;\n\x08packages\x18\x01 \x03(\x0b\x32).perfetto.protos.PackagesList.PackageInfo\x12\x13\n\x0bparse_error\x18\x02 \x01(\x08\x12\x12\n\nread_error\x18\x03 \x01(\x08\x1ar\n\x0bPackageInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x04\x12\x12\n\ndebuggable\x18\x03 \x01(\x08\x12\x1e\n\x16profileable_from_shell\x18\x04 \x01(\x08\x12\x14\n\x0cversion_code\x18\x05 \x01(\x03\"<\n\x10PixelModemEvents\x12\x0e\n\x06\x65vents\x18\x01 \x03(\x0c\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x03(\x04\"+\n\x17PixelModemTokenDatabase\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\x0c\"\x9b\x01\n\x0fProtoLogMessage\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x16\n\x0estr_param_iids\x18\x02 \x03(\r\x12\x15\n\rsint64_params\x18\x03 \x03(\x12\x12\x15\n\rdouble_params\x18\x04 \x03(\x01\x12\x16\n\x0e\x62oolean_params\x18\x05 \x03(\x05\x12\x16\n\x0estacktrace_iid\x18\x06 \x01(\r\"\xd0\x02\n\x14ProtoLogViewerConfig\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.ProtoLogViewerConfig.MessageData\x12;\n\x06groups\x18\x02 \x03(\x0b\x32+.perfetto.protos.ProtoLogViewerConfig.Group\x1a\x85\x01\n\x0bMessageData\x12\x12\n\nmessage_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12-\n\x05level\x18\x03 \x01(\x0e\x32\x1e.perfetto.protos.ProtoLogLevel\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12\x10\n\x08location\x18\x05 \x01(\t\x1a.\n\x05Group\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\t\"\x99\x04\n\x0fShellTransition\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x63reate_time_ns\x18\x02 \x01(\x03\x12\x14\n\x0csend_time_ns\x18\x03 \x01(\x03\x12\x18\n\x10\x64ispatch_time_ns\x18\x04 \x01(\x03\x12\x15\n\rmerge_time_ns\x18\x05 \x01(\x03\x12\x1d\n\x15merge_request_time_ns\x18\x06 \x01(\x03\x12\x1b\n\x13shell_abort_time_ns\x18\x07 \x01(\x03\x12\x18\n\x10wm_abort_time_ns\x18\x08 \x01(\x03\x12\x16\n\x0e\x66inish_time_ns\x18\t \x01(\x03\x12\x1c\n\x14start_transaction_id\x18\n \x01(\x04\x12\x1d\n\x15\x66inish_transaction_id\x18\x0b \x01(\x04\x12\x0f\n\x07handler\x18\x0c \x01(\x05\x12\x0c\n\x04type\x18\r \x01(\x05\x12\x38\n\x07targets\x18\x0e \x03(\x0b\x32\'.perfetto.protos.ShellTransition.Target\x12\x14\n\x0cmerge_target\x18\x0f \x01(\x05\x12\r\n\x05\x66lags\x18\x10 \x01(\x05\x12&\n\x1estarting_window_remove_time_ns\x18\x11 \x01(\x03\x1aJ\n\x06Target\x12\x0c\n\x04mode\x18\x01 \x01(\x05\x12\x10\n\x08layer_id\x18\x02 \x01(\x05\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12\r\n\x05\x66lags\x18\x04 \x01(\x05\"M\n\x14ShellHandlerMappings\x12\x35\n\x07mapping\x18\x01 \x03(\x0b\x32$.perfetto.protos.ShellHandlerMapping\"/\n\x13ShellHandlerMapping\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\tRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x05\x12\x0b\n\x03top\x18\x02 \x01(\x05\x12\r\n\x05right\x18\x03 \x01(\x05\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x05\"=\n\x0bRegionProto\x12(\n\x04rect\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoJ\x04\x08\x01\x10\x02\"!\n\tSizeProto\x12\t\n\x01w\x18\x01 \x01(\x05\x12\t\n\x01h\x18\x02 \x01(\x05\"V\n\x0eTransformProto\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x04 \x01(\x02\x12\x0c\n\x04type\x18\x05 \x01(\x05\"8\n\nColorProto\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x12\t\n\x01\x61\x18\x04 \x01(\x02\"\xbf\x04\n\x14InputWindowInfoProto\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12)\n\x05\x66rame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x10touchable_region\x18\x04 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x05 \x01(\x05\x12\x0f\n\x07visible\x18\x06 \x01(\x08\x12\x1c\n\x10\x63\x61n_receive_keys\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x11\n\tfocusable\x18\x08 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\t \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\n \x01(\x02\x12\x1a\n\x0ewindow_x_scale\x18\x0b \x01(\x02\x42\x02\x18\x01\x12\x1a\n\x0ewindow_y_scale\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x15\n\rcrop_layer_id\x18\r \x01(\x05\x12*\n\"replace_touchable_region_with_crop\x18\x0e \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x10 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x14\n\x0cinput_config\x18\x11 \x01(\r\"\xba\x03\n\nBlurRegion\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\r\x12\x1c\n\x10\x63orner_radius_tl\x18\x02 \x01(\rB\x02\x18\x01\x12\x1c\n\x10\x63orner_radius_tr\x18\x03 \x01(\rB\x02\x18\x01\x12\x1c\n\x10\x63orner_radius_bl\x18\x04 \x01(\rB\x02\x18\x01\x12\x1c\n\x10\x63orner_radius_br\x18\x05 \x01(\x02\x42\x02\x18\x01\x12\x19\n\x11\x63orner_radius_tlx\x18\x0b \x01(\x02\x12\x19\n\x11\x63orner_radius_tly\x18\x0c \x01(\x02\x12\x19\n\x11\x63orner_radius_trx\x18\r \x01(\x02\x12\x19\n\x11\x63orner_radius_try\x18\x0e \x01(\x02\x12\x19\n\x11\x63orner_radius_blx\x18\x0f \x01(\x02\x12\x19\n\x11\x63orner_radius_bly\x18\x10 \x01(\x02\x12\x19\n\x11\x63orner_radius_brx\x18\x11 \x01(\x02\x12\x19\n\x11\x63orner_radius_bry\x18\x12 \x01(\x02\x12\r\n\x05\x61lpha\x18\x06 \x01(\x02\x12\x0c\n\x04left\x18\x07 \x01(\x05\x12\x0b\n\x03top\x18\x08 \x01(\x05\x12\r\n\x05right\x18\t \x01(\x05\x12\x0e\n\x06\x62ottom\x18\n \x01(\x05\"&\n\x13\x43olorTransformProto\x12\x0f\n\x03val\x18\x01 \x03(\x02\x42\x02\x10\x01\"\xce\x01\n\x11\x42oxShadowSettings\x12G\n\x0b\x62ox_shadows\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.BoxShadowSettings.BoxShadowParams\x1ap\n\x0f\x42oxShadowParams\x12\x13\n\x0b\x62lur_radius\x18\x01 \x01(\x02\x12\x15\n\rspread_radius\x18\x02 \x01(\x02\x12\r\n\x05\x63olor\x18\x03 \x01(\x05\x12\x10\n\x08offset_x\x18\x04 \x01(\x02\x12\x10\n\x08offset_y\x18\x05 \x01(\x02\"5\n\x0e\x42orderSettings\x12\x14\n\x0cstroke_width\x18\x01 \x01(\x02\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\"\xd8\x01\n\x14LayersTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x33\n\x05\x65ntry\x18\x02 \x03(\x0b\x32$.perfetto.protos.LayersSnapshotProto\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xcc\xb2\xc9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x83\x02\n\x13LayersSnapshotProto\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x10\x12\r\n\x05where\x18\x02 \x01(\t\x12,\n\x06layers\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.LayersProto\x12\x10\n\x08hwc_blob\x18\x04 \x01(\t\x12\"\n\x1a\x65xcludes_composition_state\x18\x05 \x01(\x08\x12\x16\n\x0emissed_entries\x18\x06 \x01(\r\x12/\n\x08\x64isplays\x18\x07 \x03(\x0b\x32\x1d.perfetto.protos.DisplayProto\x12\x10\n\x08vsync_id\x18\x08 \x01(\x03\":\n\x0bLayersProto\x12+\n\x06layers\x18\x01 \x03(\x0b\x32\x1b.perfetto.protos.LayerProto\"\x89\x02\n\x0c\x44isplayProto\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0blayer_stack\x18\x03 \x01(\r\x12(\n\x04size\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12:\n\x16layer_stack_space_rect\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\ttransform\x18\x06 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x12\n\nis_virtual\x18\x07 \x01(\x08\x12\r\n\x05\x64pi_x\x18\x08 \x01(\x01\x12\r\n\x05\x64pi_y\x18\t \x01(\x01\"\xcb\x15\n\nLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x08\x63hildren\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x15\n\trelatives\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x0c\n\x04type\x18\x05 \x01(\t\x12\x38\n\x12transparent_region\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x34\n\x0evisible_region\x18\x07 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x33\n\rdamage_region\x18\x08 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x13\n\x0blayer_stack\x18\t \x01(\r\x12\t\n\x01z\x18\n \x01(\x05\x12\x30\n\x08position\x18\x0b \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12:\n\x12requested_position\x18\x0c \x01(\x0b\x32\x1e.perfetto.protos.PositionProto\x12(\n\x04size\x18\r \x01(\x0b\x32\x1a.perfetto.protos.SizeProto\x12(\n\x04\x63rop\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x32\n\nfinal_crop\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x11\n\tis_opaque\x18\x10 \x01(\x08\x12\x12\n\ninvalidate\x18\x11 \x01(\x08\x12\x11\n\tdataspace\x18\x12 \x01(\t\x12\x14\n\x0cpixel_format\x18\x13 \x01(\t\x12*\n\x05\x63olor\x18\x14 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\x34\n\x0frequested_color\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.ColorProto\x12\r\n\x05\x66lags\x18\x16 \x01(\r\x12\x32\n\ttransform\x18\x17 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12<\n\x13requested_transform\x18\x18 \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x0e\n\x06parent\x18\x19 \x01(\x05\x12\x1b\n\x13z_order_relative_of\x18\x1a \x01(\x05\x12\x39\n\ractive_buffer\x18\x1b \x01(\x0b\x32\".perfetto.protos.ActiveBufferProto\x12\x15\n\rqueued_frames\x18\x1c \x01(\x05\x12\x17\n\x0frefresh_pending\x18\x1d \x01(\x08\x12-\n\thwc_frame\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\x08hwc_crop\x18\x1f \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rhwc_transform\x18 \x01(\x05\x12\x17\n\x0bwindow_type\x18! \x01(\x05\x42\x02\x18\x01\x12\x12\n\x06\x61pp_id\x18\" \x01(\x05\x42\x02\x18\x01\x12\x41\n\x14hwc_composition_type\x18# \x01(\x0e\x32#.perfetto.protos.HwcCompositionType\x12\x14\n\x0cis_protected\x18$ \x01(\x08\x12\x12\n\ncurr_frame\x18% \x01(\x04\x12\x39\n\rbarrier_layer\x18& \x03(\x0b\x32\".perfetto.protos.BarrierLayerProto\x12\x39\n\x10\x62uffer_transform\x18\' \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x1e\n\x16\x65\x66\x66\x65\x63tive_scaling_mode\x18( \x01(\x05\x12\x19\n\rcorner_radius\x18) \x01(\x02\x42\x02\x18\x01\x12;\n\x08metadata\x18* \x03(\x0b\x32).perfetto.protos.LayerProto.MetadataEntry\x12<\n\x13\x65\x66\x66\x65\x63tive_transform\x18+ \x01(\x0b\x32\x1f.perfetto.protos.TransformProto\x12\x36\n\rsource_bounds\x18, \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12/\n\x06\x62ounds\x18- \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x36\n\rscreen_bounds\x18. \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12@\n\x11input_window_info\x18/ \x01(\x0b\x32%.perfetto.protos.InputWindowInfoProto\x12;\n\x12\x63orner_radius_crop\x18\x30 \x01(\x0b\x32\x1f.perfetto.protos.FloatRectProto\x12\x15\n\rshadow_radius\x18\x31 \x01(\x02\x12=\n\x0f\x63olor_transform\x18\x32 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x16\n\x0eis_relative_of\x18\x33 \x01(\x08\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\x34 \x01(\x05\x12\x11\n\towner_uid\x18\x35 \x01(\r\x12\x31\n\x0c\x62lur_regions\x18\x36 \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x1a\n\x12is_trusted_overlay\x18\x37 \x01(\x08\x12#\n\x17requested_corner_radius\x18\x38 \x01(\x02\x42\x02\x18\x01\x12\x35\n\x11\x64\x65stination_frame\x18\x39 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x13\n\x0boriginal_id\x18: \x01(\r\x12\x38\n\x0ftrusted_overlay\x18; \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18< \x01(\x02\x12\x37\n\x0c\x63orner_radii\x18= \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x41\n\x16requested_corner_radii\x18> \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x44\n\x19\x63lient_drawn_corner_radii\x18? \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x12\x1f\n\x17system_content_priority\x18@ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x41 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x42 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x12:\n\x0f\x65\x66\x66\x65\x63tive_radii\x18\x43 \x01(\x0b\x32!.perfetto.protos.CornerRadiiProto\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\rPositionProto\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"J\n\x0e\x46loatRectProto\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"B\n\x10\x43ornerRadiiProto\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\"a\n\x11\x41\x63tiveBufferProto\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\x0e\n\x06stride\x18\x03 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\x05\x12\r\n\x05usage\x18\x05 \x01(\x04\"5\n\x11\x42\x61rrierLayerProto\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x14\n\x0c\x66rame_number\x18\x02 \x01(\x04\"\xeb\x01\n\x14TransactionTraceFile\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x35\n\x05\x65ntry\x18\x02 \x03(\x0b\x32&.perfetto.protos.TransactionTraceEntry\x12)\n!real_to_elapsed_time_offset_nanos\x18\x03 \x01(\x06\x12\x0f\n\x07version\x18\x04 \x01(\r\"J\n\x0bMagicNumber\x12\x0b\n\x07INVALID\x10\x00\x12\x16\n\x0eMAGIC_NUMBER_L\x10\xd4\x9c\xe1\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x92\x03\n\x15TransactionTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x03\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x37\n\x0ctransactions\x18\x03 \x03(\x0b\x32!.perfetto.protos.TransactionState\x12\x38\n\x0c\x61\x64\x64\x65\x64_layers\x18\x04 \x03(\x0b\x32\".perfetto.protos.LayerCreationArgs\x12\x18\n\x10\x64\x65stroyed_layers\x18\x05 \x03(\r\x12\x35\n\x0e\x61\x64\x64\x65\x64_displays\x18\x06 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x18\n\x10removed_displays\x18\x07 \x03(\x05\x12\x1f\n\x17\x64\x65stroyed_layer_handles\x18\x08 \x03(\r\x12\x18\n\x10\x64isplays_changed\x18\t \x01(\x08\x12.\n\x08\x64isplays\x18\n \x03(\x0b\x32\x1c.perfetto.protos.DisplayInfo\"\xce\x02\n\x0b\x44isplayInfo\x12\x13\n\x0blayer_stack\x18\x01 \x01(\r\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12\x15\n\rlogical_width\x18\x03 \x01(\x05\x12\x16\n\x0elogical_height\x18\x04 \x01(\x05\x12\x35\n\x11transform_inverse\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12-\n\ttransform\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x16\n\x0ereceives_input\x18\x07 \x01(\x08\x12\x11\n\tis_secure\x18\x08 \x01(\x08\x12\x12\n\nis_primary\x18\t \x01(\x08\x12\x12\n\nis_virtual\x18\n \x01(\x08\x12\x16\n\x0erotation_flags\x18\x0b \x01(\x05\x12\x16\n\x0etransform_hint\x18\x0c \x01(\x05\"\xa1\x01\n\x11LayerCreationArgs\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\tparent_id\x18\x04 \x01(\r\x12\x16\n\x0emirror_from_id\x18\x05 \x01(\r\x12\x13\n\x0b\x61\x64\x64_to_root\x18\x06 \x01(\x08\x12\x1d\n\x15layer_stack_to_mirror\x18\x07 \x01(\r\"[\n\tTransform\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x12\n\n\x02tx\x18\x05 \x01(\x02\x12\n\n\x02ty\x18\x06 \x01(\x02\"9\n\x12TransactionBarrier\x12\x15\n\rbarrier_token\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\r\"\xe5\x02\n\x10TransactionState\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x10\n\x08vsync_id\x18\x03 \x01(\x03\x12\x16\n\x0einput_event_id\x18\x04 \x01(\x05\x12\x11\n\tpost_time\x18\x05 \x01(\x03\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x04\x12\x32\n\rlayer_changes\x18\x07 \x03(\x0b\x32\x1b.perfetto.protos.LayerState\x12\x36\n\x0f\x64isplay_changes\x18\x08 \x03(\x0b\x32\x1d.perfetto.protos.DisplayState\x12\x1e\n\x16merged_transaction_ids\x18\t \x03(\x04\x12\x13\n\x0b\x61pply_token\x18\n \x01(\x04\x12\x41\n\x14transaction_barriers\x18\x0b \x03(\x0b\x32#.perfetto.protos.TransactionBarrier\"\xd4$\n\nLayerState\x12\x10\n\x08layer_id\x18\x01 \x01(\r\x12\x0c\n\x04what\x18\x02 \x01(\x04\x12\t\n\x01x\x18\x03 \x01(\x02\x12\t\n\x01y\x18\x04 \x01(\x02\x12\t\n\x01z\x18\x05 \x01(\x05\x12\t\n\x01w\x18\x06 \x01(\r\x12\t\n\x01h\x18\x07 \x01(\r\x12\x13\n\x0blayer_stack\x18\x08 \x01(\r\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x0c\n\x04mask\x18\n \x01(\r\x12\x34\n\x06matrix\x18\x0b \x01(\x0b\x32$.perfetto.protos.LayerState.Matrix22\x12\x19\n\rcorner_radius\x18\x0c \x01(\x02\x42\x02\x18\x01\x12\x1e\n\x16\x62\x61\x63kground_blur_radius\x18\r \x01(\r\x12\x11\n\tparent_id\x18\x0e \x01(\r\x12\x1a\n\x12relative_parent_id\x18\x0f \x01(\r\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x31\n\x05\x63olor\x18\x11 \x01(\x0b\x32\".perfetto.protos.LayerState.Color3\x12\x38\n\x12transparent_region\x18\x12 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x11\n\ttransform\x18\x13 \x01(\r\x12$\n\x1ctransform_to_display_inverse\x18\x14 \x01(\x08\x12(\n\x04\x63rop\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x0b\x62uffer_data\x18\x16 \x01(\x0b\x32&.perfetto.protos.LayerState.BufferData\x12\x0b\n\x03\x61pi\x18\x17 \x01(\x05\x12\x1b\n\x13has_sideband_stream\x18\x18 \x01(\x08\x12=\n\x0f\x63olor_transform\x18\x19 \x01(\x0b\x32$.perfetto.protos.ColorTransformProto\x12\x31\n\x0c\x62lur_regions\x18\x1a \x03(\x0b\x32\x1b.perfetto.protos.BlurRegion\x12\x42\n\x12window_info_handle\x18\x1b \x01(\x0b\x32&.perfetto.protos.LayerState.WindowInfo\x12\x16\n\x0e\x62g_color_alpha\x18\x1c \x01(\x02\x12\x1a\n\x12\x62g_color_dataspace\x18\x1d \x01(\x05\x12\x1c\n\x14\x63olor_space_agnostic\x18\x1e \x01(\x08\x12\x15\n\rshadow_radius\x18\x1f \x01(\x02\x12%\n\x1d\x66rame_rate_selection_priority\x18 \x01(\x05\x12\x12\n\nframe_rate\x18! \x01(\x02\x12 \n\x18\x66rame_rate_compatibility\x18\" \x01(\x05\x12\"\n\x1a\x63hange_frame_rate_strategy\x18# \x01(\x05\x12\x1c\n\x14\x66ixed_transform_hint\x18$ \x01(\r\x12\x14\n\x0c\x66rame_number\x18% \x01(\x04\x12\x14\n\x0c\x61uto_refresh\x18& \x01(\x08\x12\x1a\n\x12is_trusted_overlay\x18\' \x01(\x08\x12/\n\x0b\x62uffer_crop\x18( \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\x11\x64\x65stination_frame\x18) \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x42\n\x0f\x64rop_input_mode\x18* \x01(\x0e\x32).perfetto.protos.LayerState.DropInputMode\x12\x38\n\x0ftrusted_overlay\x18+ \x01(\x0e\x32\x1f.perfetto.protos.TrustedOverlay\x12\x1d\n\x15\x62\x61\x63kground_blur_scale\x18, \x01(\x02\x12=\n\x0c\x63orner_radii\x18- \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12J\n\x19\x63lient_drawn_corner_radii\x18. \x01(\x0b\x32\'.perfetto.protos.LayerState.CornerRadii\x12\x1f\n\x17system_content_priority\x18/ \x01(\x05\x12?\n\x13\x62ox_shadow_settings\x18\x30 \x01(\x0b\x32\".perfetto.protos.BoxShadowSettings\x12\x38\n\x0f\x62order_settings\x18\x31 \x01(\x0b\x32\x1f.perfetto.protos.BorderSettings\x1a\x42\n\x08Matrix22\x12\x0c\n\x04\x64sdx\x18\x01 \x01(\x02\x12\x0c\n\x04\x64tdx\x18\x02 \x01(\x02\x12\x0c\n\x04\x64tdy\x18\x03 \x01(\x02\x12\x0c\n\x04\x64sdy\x18\x04 \x01(\x02\x1a=\n\x0b\x43ornerRadii\x12\n\n\x02tl\x18\x01 \x01(\x02\x12\n\n\x02tr\x18\x02 \x01(\x02\x12\n\n\x02\x62l\x18\x03 \x01(\x02\x12\n\n\x02\x62r\x18\x04 \x01(\x02\x1a)\n\x06\x43olor3\x12\t\n\x01r\x18\x01 \x01(\x02\x12\t\n\x01g\x18\x02 \x01(\x02\x12\t\n\x01\x62\x18\x03 \x01(\x02\x1a\x94\x06\n\nBufferData\x12\x11\n\tbuffer_id\x18\x01 \x01(\x04\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x14\n\x0c\x66rame_number\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x18\n\x10\x63\x61\x63hed_buffer_id\x18\x06 \x01(\x04\x12H\n\x0cpixel_format\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.LayerState.BufferData.PixelFormat\x12\r\n\x05usage\x18\x08 \x01(\x04\"o\n\x10\x42ufferDataChange\x12\x18\n\x14\x42ufferDataChangeNone\x10\x00\x12\x10\n\x0c\x66\x65nceChanged\x10\x01\x12\x16\n\x12\x66rameNumberChanged\x10\x02\x12\x17\n\x13\x63\x61\x63hedBufferChanged\x10\x04\"\xca\x03\n\x0bPixelFormat\x12\x18\n\x14PIXEL_FORMAT_UNKNOWN\x10\x00\x12 \n\x13PIXEL_FORMAT_CUSTOM\x10\xfc\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSLUCENT\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12%\n\x18PIXEL_FORMAT_TRANSPARENT\x10\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x13PIXEL_FORMAT_OPAQUE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBA_8888\x10\x01\x12\x1a\n\x16PIXEL_FORMAT_RGBX_8888\x10\x02\x12\x18\n\x14PIXEL_FORMAT_RGB_888\x10\x03\x12\x18\n\x14PIXEL_FORMAT_RGB_565\x10\x04\x12\x1a\n\x16PIXEL_FORMAT_BGRA_8888\x10\x05\x12\x1a\n\x16PIXEL_FORMAT_RGBA_5551\x10\x06\x12\x1a\n\x16PIXEL_FORMAT_RGBA_4444\x10\x07\x12\x1a\n\x16PIXEL_FORMAT_RGBA_FP16\x10\x16\x12\x1d\n\x19PIXEL_FORMAT_RGBA_1010102\x10+\x12\x14\n\x10PIXEL_FORMAT_R_8\x10\x38\x1a\x9e\x03\n\nWindowInfo\x12\x1b\n\x13layout_params_flags\x18\x01 \x01(\r\x12\x1a\n\x12layout_params_type\x18\x02 \x01(\x05\x12\x36\n\x10touchable_region\x18\x03 \x01(\x0b\x32\x1c.perfetto.protos.RegionProto\x12\x15\n\rsurface_inset\x18\x04 \x01(\x05\x12\x11\n\tfocusable\x18\x05 \x01(\x08\x12\x15\n\rhas_wallpaper\x18\x06 \x01(\x08\x12\x1b\n\x13global_scale_factor\x18\x07 \x01(\x02\x12\x15\n\rcrop_layer_id\x18\x08 \x01(\r\x12*\n\"replace_touchable_region_with_crop\x18\t \x01(\x08\x12\x39\n\x15touchable_region_crop\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\ttransform\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.Transform\x12\x14\n\x0cinput_config\x18\x0c \x01(\r\"\xf8\x05\n\nChangesLsb\x12\x13\n\x0f\x65\x43hangesLsbNone\x10\x00\x12\x14\n\x10\x65PositionChanged\x10\x01\x12\x11\n\reLayerChanged\x10\x02\x12\x11\n\reAlphaChanged\x10\x08\x12\x12\n\x0e\x65MatrixChanged\x10\x10\x12\x1d\n\x19\x65TransparentRegionChanged\x10 \x12\x11\n\reFlagsChanged\x10@\x12\x17\n\x12\x65LayerStackChanged\x10\x80\x01\x12\"\n\x1d\x65ReleaseBufferListenerChanged\x10\x80\x08\x12\x19\n\x14\x65ShadowRadiusChanged\x10\x80\x10\x12\x17\n\x12\x65\x42ufferCropChanged\x10\x80@\x12\x1b\n\x15\x65RelativeLayerChanged\x10\x80\x80\x01\x12\x0f\n\teReparent\x10\x80\x80\x02\x12\x13\n\reColorChanged\x10\x80\x80\x04\x12\x1d\n\x17\x65\x42ufferTransformChanged\x10\x80\x80\x10\x12\'\n!eTransformToDisplayInverseChanged\x10\x80\x80 \x12\x12\n\x0c\x65\x43ropChanged\x10\x80\x80@\x12\x15\n\x0e\x65\x42ufferChanged\x10\x80\x80\x80\x01\x12\x1b\n\x14\x65\x41\x63quireFenceChanged\x10\x80\x80\x80\x02\x12\x18\n\x11\x65\x44\x61taspaceChanged\x10\x80\x80\x80\x04\x12\x1a\n\x13\x65HdrMetadataChanged\x10\x80\x80\x80\x08\x12\"\n\x1b\x65SurfaceDamageRegionChanged\x10\x80\x80\x80\x10\x12\x12\n\x0b\x65\x41piChanged\x10\x80\x80\x80 \x12\x1d\n\x16\x65SidebandStreamChanged\x10\x80\x80\x80@\x12\x1e\n\x16\x65\x43olorTransformChanged\x10\x80\x80\x80\x80\x01\x12$\n\x1c\x65HasListenerCallbacksChanged\x10\x80\x80\x80\x80\x02\x12\x19\n\x11\x65InputInfoChanged\x10\x80\x80\x80\x80\x04\x12!\n\x14\x65\x43ornerRadiusChanged\x10\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\"\xec\x04\n\nChangesMsb\x12\x13\n\x0f\x65\x43hangesMsbNone\x10\x00\x12\x1c\n\x18\x65\x44\x65stinationFrameChanged\x10\x01\x12\x18\n\x14\x65\x43\x61\x63hedBufferChanged\x10\x02\x12\x1b\n\x17\x65\x42\x61\x63kgroundColorChanged\x10\x04\x12\x14\n\x10\x65MetadataChanged\x10\x08\x12\x1e\n\x1a\x65\x43olorSpaceAgnosticChanged\x10\x10\x12\x1f\n\x1b\x65\x46rameRateSelectionPriority\x10 \x12\x15\n\x11\x65\x46rameRateChanged\x10@\x12!\n\x1c\x65\x42\x61\x63kgroundBlurRadiusChanged\x10\x80\x01\x12\x18\n\x13\x65ProducerDisconnect\x10\x80\x02\x12\x1f\n\x1a\x65\x46ixedTransformHintChanged\x10\x80\x04\x12\x18\n\x13\x65\x46rameNumberChanged\x10\x80\x08\x12\x18\n\x13\x65\x42lurRegionsChanged\x10\x80\x10\x12\x18\n\x13\x65\x41utoRefreshChanged\x10\x80 \x12\x14\n\x0f\x65StretchChanged\x10\x80@\x12\x1c\n\x16\x65TrustedOverlayChanged\x10\x80\x80\x01\x12\x1b\n\x15\x65\x44ropInputModeChanged\x10\x80\x80\x02\x12%\n\x1f\x65\x43lientDrawnCornerRadiusChanged\x10\x80\x80\x04\x12#\n\x1d\x65SystemContentPriorityChanged\x10\x80\x80\x08\x12\x1f\n\x19\x65\x42oxShadowSettingsChanged\x10\x80\x80\x10\x12\x1c\n\x16\x65\x42orderSettingsChanged\x10\x80\x80 \"\xa2\x01\n\x05\x46lags\x12\x0e\n\neFlagsNone\x10\x00\x12\x10\n\x0c\x65LayerHidden\x10\x01\x12\x10\n\x0c\x65LayerOpaque\x10\x02\x12\x18\n\x14\x65LayerSkipScreenshot\x10@\x12\x11\n\x0c\x65LayerSecure\x10\x80\x01\x12\x18\n\x13\x65\x45nableBackpressure\x10\x80\x02\x12\x1e\n\x19\x65LayerIsDisplayDecoration\x10\x80\x04\"0\n\rDropInputMode\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x0c\n\x08OBSCURED\x10\x02\"\x93\x03\n\x0c\x44isplayState\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04what\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x13\n\x0blayer_stack\x18\x04 \x01(\r\x12\x13\n\x0borientation\x18\x05 \x01(\r\x12:\n\x16layer_stack_space_rect\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x1boriented_display_space_rect\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\x93\x01\n\x07\x43hanges\x12\x10\n\x0c\x65\x43hangesNone\x10\x00\x12\x13\n\x0f\x65SurfaceChanged\x10\x01\x12\x16\n\x12\x65LayerStackChanged\x10\x02\x12\x1d\n\x19\x65\x44isplayProjectionChanged\x10\x04\x12\x17\n\x13\x65\x44isplaySizeChanged\x10\x08\x12\x11\n\reFlagsChanged\x10\x10\"\x1a\n\x12WinscopeExtensions*\x04\x08\x01\x10\x07\"\xf2\x01\n\x17\x43hromeBenchmarkMetadata\x12\x1f\n\x17\x62\x65nchmark_start_time_us\x18\x01 \x01(\x03\x12\x19\n\x11story_run_time_us\x18\x02 \x01(\x03\x12\x16\n\x0e\x62\x65nchmark_name\x18\x03 \x01(\t\x12\x1d\n\x15\x62\x65nchmark_description\x18\x04 \x01(\t\x12\r\n\x05label\x18\x05 \x01(\t\x12\x12\n\nstory_name\x18\x06 \x01(\t\x12\x12\n\nstory_tags\x18\x07 \x03(\t\x12\x17\n\x0fstory_run_index\x18\x08 \x01(\x05\x12\x14\n\x0chad_failures\x18\t \x01(\x08\"\x97\x02\n\x14\x43hromeMetadataPacket\x12O\n\x1b\x62\x61\x63kground_tracing_metadata\x18\x01 \x01(\x0b\x32*.perfetto.protos.BackgroundTracingMetadata\x12\x1b\n\x13\x63hrome_version_code\x18\x02 \x01(\x05\x12\x1a\n\x12\x65nabled_categories\x18\x03 \x01(\t\x12K\n\x12\x66ield_trial_hashes\x18\x04 \x03(\x0b\x32/.perfetto.protos.ChromeMetadataPacket.FinchHash\x1a(\n\tFinchHash\x12\x0c\n\x04name\x18\x01 \x01(\r\x12\r\n\x05group\x18\x02 \x01(\r\"\x95\x08\n\x19\x42\x61\x63kgroundTracingMetadata\x12N\n\x0etriggered_rule\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12L\n\x0c\x61\x63tive_rules\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.BackgroundTracingMetadata.TriggerRule\x12\x1a\n\x12scenario_name_hash\x18\x03 \x01(\x07\x1a\xbd\x06\n\x0bTriggerRule\x12X\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.BackgroundTracingMetadata.TriggerRule.TriggerType\x12\\\n\x0ehistogram_rule\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.BackgroundTracingMetadata.TriggerRule.HistogramRule\x12T\n\nnamed_rule\x18\x03 \x01(\x0b\x32@.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule\x12\x11\n\tname_hash\x18\x04 \x01(\x07\x1aj\n\rHistogramRule\x12\x1b\n\x13histogram_name_hash\x18\x01 \x01(\x06\x12\x1d\n\x15histogram_min_trigger\x18\x02 \x01(\x03\x12\x1d\n\x15histogram_max_trigger\x18\x03 \x01(\x03\x1a\x96\x02\n\tNamedRule\x12^\n\nevent_type\x18\x01 \x01(\x0e\x32J.perfetto.protos.BackgroundTracingMetadata.TriggerRule.NamedRule.EventType\x12!\n\x19\x63ontent_trigger_name_hash\x18\x02 \x01(\x06\"\x85\x01\n\tEventType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x13\n\x0fSESSION_RESTORE\x10\x01\x12\x0e\n\nNAVIGATION\x10\x02\x12\x0b\n\x07STARTUP\x10\x03\x12\x10\n\x0cREACHED_CODE\x10\x04\x12\x13\n\x0f\x43ONTENT_TRIGGER\x10\x05\x12\x0e\n\tTEST_RULE\x10\xe8\x07\"\x87\x01\n\x0bTriggerType\x12\x17\n\x13TRIGGER_UNSPECIFIED\x10\x00\x12\x36\n2MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE\x10\x01\x12\'\n#MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\x10\x02\"\xd3\x02\n\x11\x43hromeTracedValue\x12\x42\n\x0bnested_type\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeTracedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x37\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x38\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32\".perfetto.protos.ChromeTracedValue\x12\x11\n\tint_value\x18\x05 \x01(\x05\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"!\n\nNestedType\x12\x08\n\x04\x44ICT\x10\x00\x12\t\n\x05\x41RRAY\x10\x01\"6\n\x16\x43hromeStringTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\"\x81\x05\n\x10\x43hromeTraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05phase\x18\x03 \x01(\x05\x12\x11\n\tthread_id\x18\x04 \x01(\x05\x12\x10\n\x08\x64uration\x18\x05 \x01(\x03\x12\x17\n\x0fthread_duration\x18\x06 \x01(\x03\x12\r\n\x05scope\x18\x07 \x01(\t\x12\n\n\x02id\x18\x08 \x01(\x04\x12\r\n\x05\x66lags\x18\t \x01(\r\x12\x1b\n\x13\x63\x61tegory_group_name\x18\n \x01(\t\x12\x12\n\nprocess_id\x18\x0b \x01(\x05\x12\x18\n\x10thread_timestamp\x18\x0c \x01(\x03\x12\x0f\n\x07\x62ind_id\x18\r \x01(\x04\x12\x33\n\x04\x61rgs\x18\x0e \x03(\x0b\x32%.perfetto.protos.ChromeTraceEvent.Arg\x12\x12\n\nname_index\x18\x0f \x01(\r\x12!\n\x19\x63\x61tegory_group_name_index\x18\x10 \x01(\r\x1a\x8c\x02\n\x03\x41rg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x00\x12\x14\n\njson_value\x18\x08 \x01(\tH\x00\x12:\n\x0ctraced_value\x18\n \x01(\x0b\x32\".perfetto.protos.ChromeTracedValueH\x00\x12\x12\n\nname_index\x18\t \x01(\rB\x07\n\x05value\"\x80\x01\n\x0e\x43hromeMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\njson_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x94\x01\n\x15\x43hromeLegacyJsonTrace\x12>\n\x04type\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeLegacyJsonTrace.TraceType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"-\n\tTraceType\x12\x0e\n\nUSER_TRACE\x10\x00\x12\x10\n\x0cSYSTEM_TRACE\x10\x01\"\xa7\x02\n\x11\x43hromeEventBundle\x12;\n\x0ctrace_events\x18\x01 \x03(\x0b\x32!.perfetto.protos.ChromeTraceEventB\x02\x18\x01\x12\x31\n\x08metadata\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.ChromeMetadata\x12\x1c\n\x14legacy_ftrace_output\x18\x04 \x03(\t\x12\x41\n\x11legacy_json_trace\x18\x05 \x03(\x0b\x32&.perfetto.protos.ChromeLegacyJsonTrace\x12\x41\n\x0cstring_table\x18\x03 \x03(\x0b\x32\'.perfetto.protos.ChromeStringTableEntryB\x02\x18\x01\"Q\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\x12\x0f\n\x07\x66low_id\x18\x03 \x01(\x06\"V\n\x08V8String\x12\x10\n\x06latin1\x18\x01 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x03 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"k\n\x10InternedV8String\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x06latin1\x18\x02 \x01(\x0cH\x00\x12\x12\n\x08utf16_le\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08utf16_be\x18\x04 \x01(\x0cH\x00\x42\x10\n\x0e\x65ncoded_string\"\xc5\x02\n\x12InternedV8JsScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InternedV8JsScript.Type\x12\'\n\x04name\x18\x04 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12)\n\x06source\x18\x05 \x01(\x0b\x32\x19.perfetto.protos.V8String\"\x82\x01\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_NORMAL\x10\x01\x12\r\n\tTYPE_EVAL\x10\x02\x12\x0f\n\x0bTYPE_MODULE\x10\x03\x12\x0f\n\x0bTYPE_NATIVE\x10\x04\x12\x12\n\x0eTYPE_EXTENSION\x10\x05\x12\x12\n\x0eTYPE_INSPECTOR\x10\x06\"W\n\x14InternedV8WasmScript\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tscript_id\x18\x02 \x01(\x05\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nwire_bytes\x18\x04 \x01(\x0c\"\xd5\x08\n\x14InternedV8JsFunction\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x1f\n\x17v8_js_function_name_iid\x18\x02 \x01(\x04\x12\x18\n\x10v8_js_script_iid\x18\x03 \x01(\x04\x12\x13\n\x0bis_toplevel\x18\x04 \x01(\x08\x12\x38\n\x04kind\x18\x05 \x01(\x0e\x32*.perfetto.protos.InternedV8JsFunction.Kind\x12\x13\n\x0b\x62yte_offset\x18\x06 \x01(\r\x12\x0c\n\x04line\x18\x07 \x01(\r\x12\x0e\n\x06\x63olumn\x18\x08 \x01(\r\"\xf2\x06\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x18\n\x14KIND_NORMAL_FUNCTION\x10\x01\x12\x0f\n\x0bKIND_MODULE\x10\x02\x12\x15\n\x11KIND_ASYNC_MODULE\x10\x03\x12\x19\n\x15KIND_BASE_CONSTRUCTOR\x10\x04\x12!\n\x1dKIND_DEFAULT_BASE_CONSTRUCTOR\x10\x05\x12$\n KIND_DEFAULT_DERIVED_CONSTRUCTOR\x10\x06\x12\x1c\n\x18KIND_DERIVED_CONSTRUCTOR\x10\x07\x12\x18\n\x14KIND_GETTER_FUNCTION\x10\x08\x12\x1f\n\x1bKIND_STATIC_GETTER_FUNCTION\x10\t\x12\x18\n\x14KIND_SETTER_FUNCTION\x10\n\x12\x1f\n\x1bKIND_STATIC_SETTER_FUNCTION\x10\x0b\x12\x17\n\x13KIND_ARROW_FUNCTION\x10\x0c\x12\x1d\n\x19KIND_ASYNC_ARROW_FUNCTION\x10\r\x12\x17\n\x13KIND_ASYNC_FUNCTION\x10\x0e\x12\x1d\n\x19KIND_ASYNC_CONCISE_METHOD\x10\x0f\x12$\n KIND_STATIC_ASYNC_CONCISE_METHOD\x10\x10\x12\'\n#KIND_ASYNC_CONCISE_GENERATOR_METHOD\x10\x11\x12.\n*KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD\x10\x12\x12!\n\x1dKIND_ASYNC_GENERATOR_FUNCTION\x10\x13\x12\x1b\n\x17KIND_GENERATOR_FUNCTION\x10\x14\x12!\n\x1dKIND_CONCISE_GENERATOR_METHOD\x10\x15\x12(\n$KIND_STATIC_CONCISE_GENERATOR_METHOD\x10\x16\x12\x17\n\x13KIND_CONCISE_METHOD\x10\x17\x12\x1e\n\x1aKIND_STATIC_CONCISE_METHOD\x10\x18\x12+\n\'KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION\x10\x19\x12*\n&KIND_CLASS_STATIC_INITIALIZER_FUNCTION\x10\x1a\x12\x10\n\x0cKIND_INVALID\x10\x1b\"\xc7\x02\n\x11InternedV8Isolate\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nisolate_id\x18\x03 \x01(\x05\x12@\n\ncode_range\x18\x04 \x01(\x0b\x32,.perfetto.protos.InternedV8Isolate.CodeRange\x12(\n embedded_blob_code_start_address\x18\x05 \x01(\x04\x12\x1f\n\x17\x65mbedded_blob_code_size\x18\x06 \x01(\x04\x1aw\n\tCodeRange\x12\x14\n\x0c\x62\x61se_address\x18\x01 \x01(\x04\x12\x0c\n\x04size\x18\x02 \x01(\x04\x12-\n%embedded_blob_code_copy_start_address\x18\x03 \x01(\x04\x12\x17\n\x0fis_process_wide\x18\x04 \x01(\x08\"\xea\x02\n\x08V8JsCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_js_function_iid\x18\x03 \x01(\x04\x12,\n\x04tier\x18\x04 \x01(\x0e\x32\x1e.perfetto.protos.V8JsCode.Tier\x12\x19\n\x11instruction_start\x18\x05 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x06 \x01(\x04\x12\x16\n\x0cmachine_code\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x62ytecode\x18\x08 \x01(\x0cH\x00\"x\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x11\n\rTIER_IGNITION\x10\x01\x12\x12\n\x0eTIER_SPARKPLUG\x10\x02\x12\x0f\n\x0bTIER_MAGLEV\x10\x03\x12\x13\n\x0fTIER_TURBOSHAFT\x10\x04\x12\x11\n\rTIER_TURBOFAN\x10\x05\x42\x0e\n\x0cinstructions\"\xe1\x03\n\x0eV8InternalCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.perfetto.protos.V8InternalCode.Type\x12\x12\n\nbuiltin_id\x18\x05 \x01(\x05\x12\x19\n\x11instruction_start\x18\x06 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x08 \x01(\x0c\"\x82\x02\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x19\n\x15TYPE_BYTECODE_HANDLER\x10\x01\x12\x14\n\x10TYPE_FOR_TESTING\x10\x02\x12\x10\n\x0cTYPE_BUILTIN\x10\x03\x12\x16\n\x12TYPE_WASM_FUNCTION\x10\x04\x12\x1e\n\x1aTYPE_WASM_TO_CAPI_FUNCTION\x10\x05\x12\x1c\n\x18TYPE_WASM_TO_JS_FUNCTION\x10\x06\x12\x1c\n\x18TYPE_JS_TO_WASM_FUNCTION\x10\x07\x12\x1a\n\x16TYPE_JS_TO_JS_FUNCTION\x10\x08\x12\x15\n\x11TYPE_C_WASM_ENTRY\x10\t\"\xc3\x02\n\nV8WasmCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12\x1a\n\x12v8_wasm_script_iid\x18\x03 \x01(\x04\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12.\n\x04tier\x18\x05 \x01(\x0e\x32 .perfetto.protos.V8WasmCode.Tier\x12\x1d\n\x15\x63ode_offset_in_module\x18\x06 \x01(\x05\x12\x19\n\x11instruction_start\x18\x07 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x08 \x01(\x04\x12\x14\n\x0cmachine_code\x18\t \x01(\x0c\"=\n\x04Tier\x12\x10\n\x0cTIER_UNKNOWN\x10\x00\x12\x10\n\x0cTIER_LIFTOFF\x10\x01\x12\x11\n\rTIER_TURBOFAN\x10\x02\"\xb0\x01\n\x0cV8RegExpCode\x12\x16\n\x0ev8_isolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12*\n\x07pattern\x18\x03 \x01(\x0b\x32\x19.perfetto.protos.V8String\x12\x19\n\x11instruction_start\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x14\n\x0cmachine_code\x18\x06 \x01(\x0c\"\xe1\x01\n\nV8CodeMove\x12\x13\n\x0bisolate_iid\x18\x01 \x01(\x04\x12\x0b\n\x03tid\x18\x02 \x01(\r\x12&\n\x1e\x66rom_instruction_start_address\x18\x03 \x01(\x04\x12$\n\x1cto_instruction_start_address\x18\x04 \x01(\x04\x12\x1e\n\x16instruction_size_bytes\x18\x05 \x01(\x04\x12\x19\n\x0fto_machine_code\x18\x06 \x01(\x0cH\x00\x12\x15\n\x0bto_bytecode\x18\x07 \x01(\x0cH\x00\x42\x11\n\x0fto_instructions\"\x1d\n\x0eV8CodeDefaults\x12\x0b\n\x03tid\x18\x01 \x01(\r\"\x92\x03\n\rClockSnapshot\x12\x34\n\x06\x63locks\x18\x01 \x03(\x0b\x32$.perfetto.protos.ClockSnapshot.Clock\x12:\n\x13primary_trace_clock\x18\x02 \x01(\x0e\x32\x1d.perfetto.protos.BuiltinClock\x1a\x8e\x02\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\x12\x1a\n\x12unit_multiplier_ns\x18\x04 \x01(\x04\"\xab\x01\n\rBuiltinClocks\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x13\n\x0fREALTIME_COARSE\x10\x02\x12\r\n\tMONOTONIC\x10\x03\x12\x14\n\x10MONOTONIC_COARSE\x10\x04\x12\x11\n\rMONOTONIC_RAW\x10\x05\x12\x0c\n\x08\x42OOTTIME\x10\x06\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08\"\xd2\x0c\n\x0f\x43SwitchEtwEvent\x12\x15\n\rnew_thread_id\x18\x01 \x01(\r\x12\x15\n\rold_thread_id\x18\x02 \x01(\r\x12\x1b\n\x13new_thread_priority\x18\x03 \x01(\x11\x12\x1b\n\x13old_thread_priority\x18\x04 \x01(\x11\x12\x18\n\x10previous_c_state\x18\x05 \x01(\r\x12V\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReasonH\x00\x12$\n\x1aold_thread_wait_reason_int\x18\x0b \x01(\x05H\x00\x12R\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitModeH\x01\x12\"\n\x18old_thread_wait_mode_int\x18\x0c \x01(\x05H\x01\x12K\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadStateH\x02\x12\x1e\n\x14old_thread_state_int\x18\r \x01(\x11H\x02\x12\'\n\x1fold_thread_wait_ideal_processor\x18\t \x01(\x11\x12\x1c\n\x14new_thread_wait_time\x18\n \x01(\r\"\xe9\x05\n\x13OldThreadWaitReason\x12\r\n\tEXECUTIVE\x10\x00\x12\r\n\tFREE_PAGE\x10\x01\x12\x0b\n\x07PAGE_IN\x10\x02\x12\x13\n\x0fPOOL_ALLOCATION\x10\x03\x12\x13\n\x0f\x44\x45LAY_EXECUTION\x10\x04\x12\x0b\n\x07SUSPEND\x10\x05\x12\x10\n\x0cUSER_REQUEST\x10\x06\x12\x10\n\x0cWR_EXECUTIVE\x10\x07\x12\x10\n\x0cWR_FREE_PAGE\x10\x08\x12\x0e\n\nWR_PAGE_IN\x10\t\x12\x16\n\x12WR_POOL_ALLOCATION\x10\n\x12\x16\n\x12WR_DELAY_EXECUTION\x10\x0b\x12\x10\n\x0cWR_SUSPENDED\x10\x0c\x12\x13\n\x0fWR_USER_REQUEST\x10\r\x12\x11\n\rWR_EVENT_PAIR\x10\x0e\x12\x0c\n\x08WR_QUEUE\x10\x0f\x12\x13\n\x0fWR_LPC_RECEIVER\x10\x10\x12\x10\n\x0cWR_LPC_REPLY\x10\x11\x12\x15\n\x11WR_VIRTUAL_MEMORY\x10\x12\x12\x0f\n\x0bWR_PAGE_OUT\x10\x13\x12\x12\n\x0eWR_RENDEZ_VOUS\x10\x14\x12\x12\n\x0eWR_KEYED_EVENT\x10\x15\x12\x11\n\rWR_TERMINATED\x10\x16\x12\x16\n\x12WR_PROCESS_IN_SWAP\x10\x17\x12\x17\n\x13WR_CPU_RATE_CONTROL\x10\x18\x12\x14\n\x10WR_CALLOUT_STACK\x10\x19\x12\r\n\tWR_KERNEL\x10\x1a\x12\x0f\n\x0bWR_RESOURCE\x10\x1b\x12\x10\n\x0cWR_PUSH_LOCK\x10\x1c\x12\x0c\n\x08WR_MUTEX\x10\x1d\x12\x12\n\x0eWR_QUANTUM_END\x10\x1e\x12\x13\n\x0fWR_DISPATCH_INT\x10\x1f\x12\x10\n\x0cWR_PREEMPTED\x10 \x12\x16\n\x12WR_YIELD_EXECUTION\x10!\x12\x11\n\rWR_FAST_MUTEX\x10\"\x12\x12\n\x0eWR_GUARD_MUTEX\x10#\x12\x0e\n\nWR_RUNDOWN\x10$\x12\x17\n\x13MAXIMUM_WAIT_REASON\x10%\"3\n\x11OldThreadWaitMode\x12\x0f\n\x0bKERNEL_MODE\x10\x00\x12\r\n\tUSER_MODE\x10\x01\"\x87\x01\n\x0eOldThreadState\x12\x0f\n\x0bINITIALIZED\x10\x00\x12\t\n\x05READY\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\x0b\n\x07STANDBY\x10\x03\x12\x0e\n\nTERMINATED\x10\x04\x12\x0b\n\x07WAITING\x10\x05\x12\x0e\n\nTRANSITION\x10\x06\x12\x12\n\x0e\x44\x45\x46\x45RRED_READY\x10\x07\x42$\n\"old_thread_wait_reason_enum_or_intB\"\n old_thread_wait_mode_enum_or_intB\x1e\n\x1cold_thread_state_enum_or_int\"\x88\x04\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12J\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReasonH\x00\x12\x1b\n\x11\x61\x64just_reason_int\x18\x05 \x01(\x05H\x00\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12>\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlagH\x01\x12\x12\n\x08\x66lag_int\x18\x06 \x01(\x05H\x01\"X\n\x0c\x41\x64justReason\x12\x18\n\x14IGNORE_THE_INCREMENT\x10\x00\x12\x13\n\x0f\x41PPLY_INCREMENT\x10\x01\x12\x19\n\x15\x41PPLY_INCREMENT_BOOST\x10\x02\"z\n\tTraceFlag\x12\x1a\n\x16TRACE_FLAG_UNSPECIFIED\x10\x00\x12\x12\n\x0eTHREAD_READIED\x10\x01\x12\x1c\n\x18KERNEL_STACK_SWAPPED_OUT\x10\x02\x12\x1f\n\x1bPROCESS_ADDRESS_SWAPPED_OUT\x10\x04\x42\x1b\n\x19\x61\x64just_reason_enum_or_intB\x12\n\x10\x66lag_enum_or_int\"\x90\x03\n\x0fMemInfoEtwEvent\x12\x17\n\x0fpriority_levels\x18\x01 \x01(\r\x12\x17\n\x0fzero_page_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x66ree_page_count\x18\x03 \x01(\x04\x12\x1b\n\x13modified_page_count\x18\x04 \x01(\x04\x12$\n\x1cmodified_no_write_page_count\x18\x05 \x01(\x04\x12\x16\n\x0e\x62\x61\x64_page_count\x18\x06 \x01(\x04\x12\x1b\n\x13standby_page_counts\x18\x07 \x03(\x04\x12\x1e\n\x16repurposed_page_counts\x18\x08 \x03(\x04\x12%\n\x1dmodified_page_count_page_file\x18\t \x01(\x04\x12\x1d\n\x15paged_pool_page_count\x18\n \x01(\x04\x12!\n\x19non_paged_pool_page_count\x18\x0b \x01(\x04\x12\x16\n\x0emdl_page_count\x18\x0c \x01(\x04\x12\x19\n\x11\x63ommit_page_count\x18\r \x01(\x04\"\xa4\x01\n\x14\x46ileIoCreateEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x0c\n\x04ttid\x18\x03 \x01(\r\x12\x16\n\x0e\x63reate_options\x18\x04 \x01(\r\x12\x17\n\x0f\x66ile_attributes\x18\x05 \x01(\r\x12\x14\n\x0cshare_access\x18\x06 \x01(\r\x12\x11\n\topen_path\x18\x07 \x01(\t\"\xa8\x01\n\x15\x46ileIoDirEnumEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\x12\x12\n\nfile_index\x18\x07 \x01(\r\x12\x11\n\tfile_name\x18\x08 \x01(\t\"\x82\x01\n\x12\x46ileIoInfoEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x12\n\nextra_info\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x12\n\ninfo_class\x18\x06 \x01(\r\"\x92\x01\n\x17\x46ileIoReadWriteEtwEvent\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0f\n\x07irp_ptr\x18\x02 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x03 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x04 \x01(\x04\x12\x0c\n\x04ttid\x18\x05 \x01(\r\x12\x0f\n\x07io_size\x18\x06 \x01(\r\x12\x10\n\x08io_flags\x18\x07 \x01(\r\"^\n\x16\x46ileIoSimpleOpEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x13\n\x0b\x66ile_object\x18\x02 \x01(\x04\x12\x10\n\x08\x66ile_key\x18\x03 \x01(\x04\x12\x0c\n\x04ttid\x18\x04 \x01(\r\"M\n\x13\x46ileIoOpEndEtwEvent\x12\x0f\n\x07irp_ptr\x18\x01 \x01(\x04\x12\x12\n\nextra_info\x18\x02 \x01(\x04\x12\x11\n\tnt_status\x18\x03 \x01(\r\"\x85\x05\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x34\n\x08\x63_switch\x18\x02 \x01(\x0b\x32 .perfetto.protos.CSwitchEtwEventH\x00\x12<\n\x0cready_thread\x18\x03 \x01(\x0b\x32$.perfetto.protos.ReadyThreadEtwEventH\x00\x12\x34\n\x08mem_info\x18\x06 \x01(\x0b\x32 .perfetto.protos.MemInfoEtwEventH\x00\x12?\n\x0e\x66ile_io_create\x18\x07 \x01(\x0b\x32%.perfetto.protos.FileIoCreateEtwEventH\x00\x12\x42\n\x10\x66ile_io_dir_enum\x18\x08 \x01(\x0b\x32&.perfetto.protos.FileIoDirEnumEtwEventH\x00\x12;\n\x0c\x66ile_io_info\x18\t \x01(\x0b\x32#.perfetto.protos.FileIoInfoEtwEventH\x00\x12\x46\n\x12\x66ile_io_read_write\x18\n \x01(\x0b\x32(.perfetto.protos.FileIoReadWriteEtwEventH\x00\x12\x44\n\x11\x66ile_io_simple_op\x18\x0b \x01(\x0b\x32\'.perfetto.protos.FileIoSimpleOpEtwEventH\x00\x12>\n\x0e\x66ile_io_op_end\x18\x0c \x01(\x0b\x32$.perfetto.protos.FileIoOpEndEtwEventH\x00\x42\x07\n\x05\x65vent\"Q\n\x13\x45twTraceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12-\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1e.perfetto.protos.EtwTraceEvent\"\xba\x01\n\nEvdevEvent\x12\x11\n\tdevice_id\x18\x01 \x01(\r\x12=\n\x0binput_event\x18\x02 \x01(\x0b\x32&.perfetto.protos.EvdevEvent.InputEventH\x00\x1aQ\n\nInputEvent\x12\x18\n\x10kernel_timestamp\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x11\x42\x07\n\x05\x65vent\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.perfetto.protos.FileDescriptorProto\"\xbf\x02\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProtoJ\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\x0c\x10\r\"\xd2\x03\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.perfetto.protos.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.perfetto.protos.EnumDescriptorProto\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.perfetto.protos.OneofDescriptorProto\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..perfetto.protos.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.perfetto.protos.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x01(\t\x12\x14\n\x0cis_extension\x18\x02 \x01(\x08\"c\n\x0c\x46ieldOptions\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.perfetto.protos.UninterpretedOption\"\xaf\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.perfetto.protos.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.perfetto.protos.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.perfetto.protos.FieldOptions\x12\x13\n\x0boneof_index\x18\t \x01(\x05\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03J\x04\x08\n\x10\x0b\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.perfetto.protos.OneofOptions\"\x80\x01\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).perfetto.protos.EnumValueDescriptorProto\x12\x15\n\rreserved_name\x18\x05 \x03(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\">\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\"!\n\x0cOneofOptions*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x06\x08\xe7\x07\x10\xe8\x07\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet\"\x88\x02\n\x0cInodeFileMap\x12\x17\n\x0f\x62lock_device_id\x18\x01 \x01(\x04\x12\x14\n\x0cmount_points\x18\x02 \x03(\t\x12\x34\n\x07\x65ntries\x18\x03 \x03(\x0b\x32#.perfetto.protos.InodeFileMap.Entry\x1a\x92\x01\n\x05\x45ntry\x12\x14\n\x0cinode_number\x18\x01 \x01(\x04\x12\r\n\x05paths\x18\x02 \x03(\t\x12\x36\n\x04type\x18\x03 \x01(\x0e\x32(.perfetto.protos.InodeFileMap.Entry.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\r\n\tDIRECTORY\x10\x02\"M\n\x1f\x41ndroidFsDatareadEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8e\x01\n!AndroidFsDatareadStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"N\n AndroidFsDatawriteEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"\x8f\x01\n\"AndroidFsDatawriteStartFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x01(\t\x12\x0e\n\x06i_size\x18\x03 \x01(\x03\x12\x0b\n\x03ino\x18\x04 \x01(\x04\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x0f\n\x07pathbuf\x18\x06 \x01(\t\x12\x0b\n\x03pid\x18\x07 \x01(\x05\"J\n\x1c\x41ndroidFsFsyncEndFtraceEvent\x12\r\n\x05\x62ytes\x18\x01 \x01(\x05\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"l\n\x1e\x41ndroidFsFsyncStartFtraceEvent\x12\x0f\n\x07\x63mdline\x18\x01 \x01(\t\x12\x0e\n\x06i_size\x18\x02 \x01(\x03\x12\x0b\n\x03ino\x18\x03 \x01(\x04\x12\x0f\n\x07pathbuf\x18\x04 \x01(\t\x12\x0b\n\x03pid\x18\x05 \x01(\x05\"\xbd\x01\n\x18\x42\x63lIrqTriggerFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x10\n\x08throttle\x18\x02 \x01(\x05\x12\x12\n\ncpu0_limit\x18\x03 \x01(\x05\x12\x12\n\ncpu1_limit\x18\x04 \x01(\x05\x12\x12\n\ncpu2_limit\x18\x05 \x01(\x05\x12\x11\n\ttpu_limit\x18\x06 \x01(\x05\x12\x11\n\tgpu_limit\x18\x07 \x01(\x05\x12\x0f\n\x07voltage\x18\x08 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\t \x01(\x05\"\x95\x01\n\x1c\x42inderTransactionFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\x12\x13\n\x0btarget_node\x18\x02 \x01(\x05\x12\x0f\n\x07to_proc\x18\x03 \x01(\x05\x12\x11\n\tto_thread\x18\x04 \x01(\x05\x12\r\n\x05reply\x18\x05 \x01(\x05\x12\x0c\n\x04\x63ode\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"8\n$BinderTransactionReceivedFtraceEvent\x12\x10\n\x08\x64\x65\x62ug_id\x18\x01 \x01(\x05\"v\n\x1c\x42inderSetPriorityFtraceEvent\x12\x0c\n\x04proc\x18\x01 \x01(\x05\x12\x0e\n\x06thread\x18\x02 \x01(\x05\x12\x10\n\x08old_prio\x18\x03 \x01(\r\x12\x10\n\x08new_prio\x18\x04 \x01(\r\x12\x14\n\x0c\x64\x65sired_prio\x18\x05 \x01(\r\"$\n\x15\x42inderLockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderLockedFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"&\n\x17\x42inderUnlockFtraceEvent\x12\x0b\n\x03tag\x18\x01 \x01(\t\"}\n$BinderTransactionAllocBufFtraceEvent\x12\x11\n\tdata_size\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x65\x62ug_id\x18\x02 \x01(\x05\x12\x14\n\x0coffsets_size\x18\x03 \x01(\x04\x12\x1a\n\x12\x65xtra_buffers_size\x18\x04 \x01(\x04\"\'\n\x18\x42inderCommandFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"&\n\x17\x42inderReturnFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\"\x81\x01\n\x17\x42lockRqIssueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"j\n\x1c\x42lockBioBackmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"g\n\x19\x42lockBioBounceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"j\n\x1b\x42lockBioCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\"k\n\x1d\x42lockBioFrontmergeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"f\n\x18\x42lockBioQueueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"}\n\x18\x42lockBioRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\"H\n\x1b\x42lockDirtyBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x15\x42lockGetrqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"$\n\x14\x42lockPlugFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\"t\n\x17\x42lockRqAbortFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"\x86\x01\n\x1a\x42lockRqCompleteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\x12\r\n\x05\x65rror\x18\x07 \x01(\x05\"\x82\x01\n\x18\x42lockRqInsertFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0c\n\x04\x63omm\x18\x06 \x01(\t\x12\x0b\n\x03\x63md\x18\x07 \x01(\t\"\x8d\x01\n\x17\x42lockRqRemapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0f\n\x07old_dev\x18\x04 \x01(\x04\x12\x12\n\nold_sector\x18\x05 \x01(\x04\x12\x0f\n\x07nr_bios\x18\x06 \x01(\r\x12\x0c\n\x04rwbs\x18\x07 \x01(\t\"v\n\x19\x42lockRqRequeueFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0e\n\x06\x65rrors\x18\x04 \x01(\x05\x12\x0c\n\x04rwbs\x18\x05 \x01(\t\x12\x0b\n\x03\x63md\x18\x06 \x01(\t\"e\n\x17\x42lockSleeprqFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"d\n\x15\x42lockSplitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x12\n\nnew_sector\x18\x03 \x01(\x04\x12\x0c\n\x04rwbs\x18\x04 \x01(\t\x12\x0c\n\x04\x63omm\x18\x05 \x01(\t\"H\n\x1b\x42lockTouchBufferFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x16\x42lockUnplugFtraceEvent\x12\r\n\x05nr_rq\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\x91\x01\n\x17\x42lockIoStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x90\x01\n\x16\x42lockIoDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06sector\x18\x02 \x01(\x04\x12\x11\n\tnr_sector\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\r\x12\x0e\n\x06ioprio\x18\x05 \x01(\r\x12\x0c\n\x04rwbs\x18\x06 \x01(\t\x12\x0c\n\x04\x63omm\x18\x07 \x01(\t\x12\x0b\n\x03\x63md\x18\x08 \x01(\t\"\x8e\x01\n\x1b\x43groupAttachTaskFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"^\n\x16\x43groupMkdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"G\n\x18\x43groupRemountFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"^\n\x16\x43groupRmdirFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"\x91\x01\n\x1e\x43groupTransferTasksFtraceEvent\x12\x10\n\x08\x64st_root\x18\x01 \x01(\x05\x12\x0e\n\x06\x64st_id\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x04 \x01(\t\x12\r\n\x05\x63name\x18\x05 \x01(\t\x12\x11\n\tdst_level\x18\x06 \x01(\x05\x12\x10\n\x08\x64st_path\x18\x07 \x01(\t\"K\n\x1c\x43groupDestroyRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"`\n\x18\x43groupReleaseFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"_\n\x17\x43groupRenameFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x63name\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\x05\x12\x0c\n\x04path\x18\x05 \x01(\t\"I\n\x1a\x43groupSetupRootFtraceEvent\x12\x0c\n\x04root\x18\x01 \x01(\x05\x12\x0f\n\x07ss_mask\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\x14\x43lkEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"%\n\x15\x43lkDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n\x15\x43lkSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\x04\"F\n\x18\x43maAllocStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xc4\x01\n\x17\x43maAllocInfoFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07\x65rr_iso\x18\x03 \x01(\r\x12\x0f\n\x07\x65rr_mig\x18\x04 \x01(\r\x12\x10\n\x08\x65rr_test\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\x11\n\tnr_mapped\x18\x07 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x08 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\t \x01(\x04\x12\x0b\n\x03pfn\x18\n \x01(\x04\"s\n\x19\x43maAllocFinishFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pfn\x18\x02 \x01(\x04\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x61lign\x18\x05 \x01(\r\x12\x0f\n\x07\x65rrorno\x18\x06 \x01(\x05\"y\n\x1cMmCompactionBeginFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\"\x90\x01\n&MmCompactionDeferCompactionFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x89\x01\n\x1fMmCompactionDeferredFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x8b\x01\n!MmCompactionDeferResetFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x12\n\nconsidered\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65\x66\x65r_shift\x18\x05 \x01(\r\x12\x14\n\x0corder_failed\x18\x06 \x01(\x05\"\x87\x01\n\x1aMmCompactionEndFtraceEvent\x12\x12\n\nzone_start\x18\x01 \x01(\x04\x12\x13\n\x0bmigrate_pfn\x18\x02 \x01(\x04\x12\x10\n\x08\x66ree_pfn\x18\x03 \x01(\x04\x12\x10\n\x08zone_end\x18\x04 \x01(\x04\x12\x0c\n\x04sync\x18\x05 \x01(\r\x12\x0e\n\x06status\x18\x06 \x01(\x05\"W\n\x1fMmCompactionFinishedFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"s\n\'MmCompactionIsolateFreepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"v\n*MmCompactionIsolateMigratepagesFtraceEvent\x12\x11\n\tstart_pfn\x18\x01 \x01(\x04\x12\x0f\n\x07\x65nd_pfn\x18\x02 \x01(\x04\x12\x12\n\nnr_scanned\x18\x03 \x01(\x04\x12\x10\n\x08nr_taken\x18\x04 \x01(\x04\"4\n%MmCompactionKcompactdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"r\n$MmCompactionKcompactdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n#MmCompactionMigratepagesFtraceEvent\x12\x13\n\x0bnr_migrated\x18\x01 \x01(\x04\x12\x11\n\tnr_failed\x18\x02 \x01(\x04\"W\n\x1fMmCompactionSuitableFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12\r\n\x05order\x18\x03 \x01(\x05\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"g\n(MmCompactionTryToCompactPagesFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x10\n\x08gfp_mask\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"t\n&MmCompactionWakeupKcompactdFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x15\n\rclasszone_idx\x18\x03 \x01(\r\x12\x17\n\x0fhighest_zoneidx\x18\x04 \x01(\r\"M\n\x1bParamSetValueCpmFtraceEvent\x12\x0c\n\x04\x62ody\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"L\n\x14\x43puhpExitFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03idx\x18\x02 \x01(\x05\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\"S\n\x1a\x43puhpMultiEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"N\n\x15\x43puhpEnterFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03\x66un\x18\x02 \x01(\x04\x12\x0b\n\x03idx\x18\x03 \x01(\x05\x12\x0e\n\x06target\x18\x04 \x01(\x05\"P\n\x17\x43puhpLatencyFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x04\"W\n\x15\x43puhpPauseFtraceEvent\x12\x13\n\x0b\x61\x63tive_cpus\x18\x01 \x01(\r\x12\x0c\n\x04\x63pus\x18\x02 \x01(\r\x12\r\n\x05pause\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\r\"\xaa\x01\n\x1e\x43rosEcSensorhubDataFtraceEvent\x12\x14\n\x0c\x63urrent_time\x18\x01 \x01(\x03\x12\x19\n\x11\x63urrent_timestamp\x18\x02 \x01(\x03\x12\r\n\x05\x64\x65lta\x18\x03 \x01(\x03\x12\x19\n\x11\x65\x63_fifo_timestamp\x18\x04 \x01(\r\x12\x15\n\rec_sensor_num\x18\x05 \x01(\r\x12\x16\n\x0e\x66ifo_timestamp\x18\x06 \x01(\x03\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\"w\n\x1b\x44\x65vfreqFrequencyFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04\x12\x11\n\tprev_freq\x18\x03 \x01(\x04\x12\x11\n\tbusy_time\x18\x04 \x01(\x04\x12\x12\n\ntotal_time\x18\x05 \x01(\x04\"[\n\x17\x44maFenceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x44maFenceEmitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"_\n\x1b\x44maFenceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x44maFenceWaitStartFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"^\n\x1a\x44maFenceWaitEndFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"M\n\x16\x44maHeapStatFtraceEvent\x12\r\n\x05inode\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"\x81\x01\n\x1e\x44puTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"A\n\x1e\x44puDsiCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"2\n\x13\x44puDsiRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\"S\n\x13\x44puDsiTxFtraceEvent\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04last\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"X\n\x1d\x44puDispDpuUnderrunFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x16\n\x0e\x66rames_pending\x18\x02 \x01(\x05\x12\x13\n\x0bvsync_count\x18\x03 \x01(\x05\"R\n!DpuDispVblankIrqEnableFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\toutput_id\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x05\"W\n\x19\x44rmVblankEventFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x11\n\thigh_prec\x18\x02 \x01(\r\x12\x0b\n\x03seq\x18\x03 \x01(\r\x12\x0c\n\x04time\x18\x04 \x01(\x03\"M\n\"DrmVblankEventDeliveredFtraceEvent\x12\x0c\n\x04\x63rtc\x18\x01 \x01(\x05\x12\x0c\n\x04\x66ile\x18\x02 \x01(\x04\x12\x0b\n\x03seq\x18\x03 \x01(\r\"\xa2\x01\n\x1b\x44wc3AllocRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xc0\x01\n\x1a\x44wc3CompleteTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"~\n\x16\x44wc3CtrlReqFtraceEvent\x12\x14\n\x0c\x62RequestType\x18\x01 \x01(\r\x12\x10\n\x08\x62Request\x18\x02 \x01(\r\x12\x0e\n\x06wValue\x18\x03 \x01(\r\x12\x0e\n\x06wIndex\x18\x04 \x01(\r\x12\x0f\n\x07wLength\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\"\x9f\x01\n\x18\x44wc3EpDequeueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\x9d\x01\n\x16\x44wc3EpQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"D\n\x14\x44wc3EventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\r\x12\x10\n\x08\x65p0state\x18\x02 \x01(\r\x12\x0b\n\x03str\x18\x03 \x01(\t\"\xa1\x01\n\x1a\x44wc3FreeRequestFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"{\n\x1a\x44wc3GadgetEpCmdFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63md\x18\x02 \x01(\r\x12\x0e\n\x06param0\x18\x03 \x01(\r\x12\x0e\n\x06param1\x18\x04 \x01(\r\x12\x0e\n\x06param2\x18\x05 \x01(\r\x12\x12\n\ncmd_status\x18\x06 \x01(\x05\"\xcd\x01\n\x1e\x44wc3GadgetEpDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"\xcc\x01\n\x1d\x44wc3GadgetEpEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmaxpacket\x18\x02 \x01(\r\x12\x17\n\x0fmaxpacket_limit\x18\x03 \x01(\r\x12\x13\n\x0bmax_streams\x18\x04 \x01(\r\x12\x10\n\x08maxburst\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x11\n\tdirection\x18\x07 \x01(\r\x12\x13\n\x0btrb_enqueue\x18\x08 \x01(\r\x12\x13\n\x0btrb_dequeue\x18\t \x01(\r\"M\n\x1f\x44wc3GadgetGenericCmdFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\r\n\x05param\x18\x02 \x01(\r\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\xa4\x01\n\x1d\x44wc3GadgetGivebackFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03req\x18\x02 \x01(\x04\x12\x0e\n\x06\x61\x63tual\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\x12\x0e\n\x06status\x18\x05 \x01(\x05\x12\x0c\n\x04zero\x18\x06 \x01(\x05\x12\x14\n\x0cshort_not_ok\x18\x07 \x01(\x05\x12\x14\n\x0cno_interrupt\x18\x08 \x01(\x05\"\xbf\x01\n\x19\x44wc3PrepareTrbFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03trb\x18\x02 \x01(\x04\x12\x11\n\tallocated\x18\x03 \x01(\r\x12\x0e\n\x06queued\x18\x04 \x01(\r\x12\x0b\n\x03\x62pl\x18\x05 \x01(\r\x12\x0b\n\x03\x62ph\x18\x06 \x01(\r\x12\x0c\n\x04size\x18\x07 \x01(\r\x12\x0c\n\x04\x63trl\x18\x08 \x01(\r\x12\x0c\n\x04type\x18\t \x01(\r\x12\x0f\n\x07\x65nqueue\x18\n \x01(\r\x12\x0f\n\x07\x64\x65queue\x18\x0b \x01(\r\"P\n\x14\x44wc3ReadlFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"Q\n\x15\x44wc3WritelFtraceEvent\x12\x0c\n\x04\x62\x61se\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\r\x12\x0b\n\x03msg\x18\x04 \x01(\t\"`\n\x1b\x45xt4DaWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"_\n\x19\x45xt4DaWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"Z\n\x1c\x45xt4SyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\"D\n\x1b\x45xt4SyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"b\n\x1c\x45xt4AllocDaBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0b\x64\x61ta_blocks\x18\x03 \x01(\r\x12\x13\n\x0bmeta_blocks\x18\x04 \x01(\r\"\xc1\x01\n\x1d\x45xt4AllocateBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0f\n\x07logical\x18\x05 \x01(\r\x12\r\n\x05lleft\x18\x06 \x01(\r\x12\x0e\n\x06lright\x18\x07 \x01(\r\x12\x0c\n\x04goal\x18\x08 \x01(\x04\x12\r\n\x05pleft\x18\t \x01(\x04\x12\x0e\n\x06pright\x18\n \x01(\x04\x12\r\n\x05\x66lags\x18\x0b \x01(\r\"S\n\x1c\x45xt4AllocateInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\"Q\n#Ext4BeginOrderedTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08new_size\x18\x03 \x01(\x03\"U\n\x1c\x45xt4CollapseRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"\xca\x01\n\x1d\x45xt4DaReleaseSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x14\n\x0c\x66reed_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x0c\n\x04mode\x18\x08 \x01(\r\"\xa8\x01\n\x1d\x45xt4DaReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x1c\n\x14reserved_data_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\x12\x11\n\tmd_needed\x18\x07 \x01(\x05\"\xe4\x01\n#Ext4DaUpdateReserveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08i_blocks\x18\x03 \x01(\x04\x12\x13\n\x0bused_blocks\x18\x04 \x01(\x05\x12\x1c\n\x14reserved_data_blocks\x18\x05 \x01(\x05\x12\x1c\n\x14reserved_meta_blocks\x18\x06 \x01(\x05\x12\x1d\n\x15\x61llocated_meta_blocks\x18\x07 \x01(\x05\x12\x13\n\x0bquota_claim\x18\x08 \x01(\x05\x12\x0c\n\x04mode\x18\t \x01(\r\"\xcf\x01\n\x1b\x45xt4DaWritePagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x12\n\nfirst_page\x18\x03 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x04 \x01(\x03\x12\x11\n\tsync_mode\x18\x05 \x01(\x05\x12\x11\n\tb_blocknr\x18\x06 \x01(\x04\x12\x0e\n\x06\x62_size\x18\x07 \x01(\r\x12\x0f\n\x07\x62_state\x18\x08 \x01(\r\x12\x0f\n\x07io_done\x18\t \x01(\x05\x12\x15\n\rpages_written\x18\n \x01(\x05\"g\n!Ext4DaWritePagesExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x04\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"^\n\x1c\x45xt4DirectIOEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\"j\n\x1b\x45xt4DirectIOExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\n\n\x02rw\x18\x05 \x01(\x05\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"G\n\x1c\x45xt4DiscardBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x62lk\x18\x02 \x01(\x04\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\"]\n$Ext4DiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0e\n\x06needed\x18\x04 \x01(\r\"B\n\x18\x45xt4DropInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x64rop\x18\x03 \x01(\x05\"q\n\x1c\x45xt4EsCacheExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\r\"V\n,Ext4EsFindDelayedExtentRangeEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x80\x01\n+Ext4EsFindDelayedExtentRangeExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"r\n\x1d\x45xt4EsInsertExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\"L\n\"Ext4EsLookupExtentEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\"\x85\x01\n!Ext4EsLookupExtentExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0e\n\x06status\x18\x06 \x01(\x04\x12\r\n\x05\x66ound\x18\x07 \x01(\x05\"T\n\x1d\x45xt4EsRemoveExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"q\n\x17\x45xt4EsShrinkFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tscan_time\x18\x03 \x01(\x04\x12\x12\n\nnr_skipped\x18\x04 \x01(\x05\x12\x0f\n\x07retried\x18\x05 \x01(\x05\"R\n\x1c\x45xt4EsShrinkCountFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"V\n Ext4EsShrinkScanEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x12\n\nnr_to_scan\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"T\n\x1f\x45xt4EsShrinkScanExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tnr_shrunk\x18\x02 \x01(\x05\x12\x11\n\tcache_cnt\x18\x03 \x01(\x05\"D\n\x19\x45xt4EvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05nlink\x18\x03 \x01(\x05\"\x95\x01\n+Ext4ExtConvertToInitializedEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\"\xc7\x01\n.Ext4ExtConvertToInitializedFastpathFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06m_lblk\x18\x03 \x01(\r\x12\r\n\x05m_len\x18\x04 \x01(\r\x12\x0e\n\x06u_lblk\x18\x05 \x01(\r\x12\r\n\x05u_len\x18\x06 \x01(\r\x12\x0e\n\x06u_pblk\x18\x07 \x01(\x04\x12\x0e\n\x06i_lblk\x18\x08 \x01(\r\x12\r\n\x05i_len\x18\t \x01(\r\x12\x0e\n\x06i_pblk\x18\n \x01(\x04\"\x9f\x01\n(Ext4ExtHandleUnwrittenExtentsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0c\n\x04pblk\x18\x05 \x01(\x04\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x11\n\tallocated\x18\x07 \x01(\r\x12\x0e\n\x06newblk\x18\x08 \x01(\x04\"P\n\x19\x45xt4ExtInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03ret\x18\x04 \x01(\x05\"T\n\x1c\x45xt4ExtLoadExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\"f\n Ext4ExtMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4ExtMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"b\n\x1c\x45xt4ExtPutInCacheFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05start\x18\x05 \x01(\x04\"d\n\x1d\x45xt4ExtRemoveSpaceFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\"\xc1\x01\n!Ext4ExtRemoveSpaceDoneFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05start\x18\x03 \x01(\r\x12\x0b\n\x03\x65nd\x18\x04 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x05 \x01(\x05\x12\x0f\n\x07partial\x18\x06 \x01(\x03\x12\x12\n\neh_entries\x18\x07 \x01(\r\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"A\n\x17\x45xt4ExtRmIdxFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\"\xba\x01\n\x18\x45xt4ExtRmLeafFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07partial\x18\x03 \x01(\x03\x12\r\n\x05start\x18\x04 \x01(\r\x12\x0f\n\x07\x65\x65_lblk\x18\x05 \x01(\r\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0e\n\x06\x65\x65_len\x18\x07 \x01(\x05\x12\x0f\n\x07pc_lblk\x18\x08 \x01(\r\x12\x0f\n\x07pc_pclu\x18\t \x01(\x04\x12\x10\n\x08pc_state\x18\n \x01(\x05\"a\n\x1c\x45xt4ExtShowExtentFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pblk\x18\x03 \x01(\x04\x12\x0c\n\x04lblk\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"q\n\x1d\x45xt4FallocateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\x12\x0b\n\x03pos\x18\x06 \x01(\x03\"b\n\x1c\x45xt4FallocateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\"\x89\x01\n Ext4FindDelallocRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07reverse\x18\x05 \x01(\x05\x12\r\n\x05\x66ound\x18\x06 \x01(\x05\x12\x11\n\tfound_blk\x18\x07 \x01(\r\"c\n\x15\x45xt4ForgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\x13\n\x0bis_metadata\x18\x04 \x01(\x05\x12\x0c\n\x04mode\x18\x05 \x01(\r\"p\n\x19\x45xt4FreeBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\x04\x12\r\n\x05\x66lags\x18\x05 \x01(\x05\x12\x0c\n\x04mode\x18\x06 \x01(\r\"l\n\x18\x45xt4FreeInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03uid\x18\x03 \x01(\r\x12\x0b\n\x03gid\x18\x04 \x01(\r\x12\x0e\n\x06\x62locks\x18\x05 \x01(\x04\x12\x0c\n\x04mode\x18\x06 \x01(\r\"}\n)Ext4GetImpliedClusterAllocExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"]\n&Ext4GetReservedClusterAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\"f\n Ext4IndMapBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04lblk\x18\x03 \x01(\r\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"\x90\x01\n\x1f\x45xt4IndMapBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04pblk\x18\x04 \x01(\x04\x12\x0c\n\x04lblk\x18\x05 \x01(\r\x12\x0b\n\x03len\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\r\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"S\n\x1a\x45xt4InsertRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\"h\n\x1d\x45xt4InvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"\x81\x01\n\x1b\x45xt4JournalStartFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\x12\x12\n\nrsv_blocks\x18\x04 \x01(\x05\x12\x0f\n\x07nblocks\x18\x05 \x01(\x05\x12\x14\n\x0crevoke_creds\x18\x06 \x01(\x05\"N\n#Ext4JournalStartReservedFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\n\n\x02ip\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x05\"r\n\'Ext4JournalledInvalidatepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0e\n\x06offset\x18\x04 \x01(\x04\x12\x0e\n\x06length\x18\x05 \x01(\r\"g\n!Ext4JournalledWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"4\n\x18\x45xt4LoadInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\"<\n\x1e\x45xt4LoadInodeBitmapFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n\x1d\x45xt4MarkInodeDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\n\n\x02ip\x18\x03 \x01(\x04\"9\n\x1b\x45xt4MbBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\">\n Ext4MbBuddyBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\"E\n&Ext4MbDiscardPreallocationsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0e\n\x06needed\x18\x02 \x01(\x05\"m\n\x1b\x45xt4MbNewGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"m\n\x1b\x45xt4MbNewInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x11\n\tpa_pstart\x18\x03 \x01(\x04\x12\x11\n\tpa_lstart\x18\x04 \x01(\x04\x12\x0e\n\x06pa_len\x18\x05 \x01(\r\"Q\n\x1f\x45xt4MbReleaseGroupPaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tpa_pstart\x18\x02 \x01(\x04\x12\x0e\n\x06pa_len\x18\x03 \x01(\r\"Y\n\x1f\x45xt4MbReleaseInodePaFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05\x62lock\x18\x03 \x01(\x04\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\x86\x03\n\x1b\x45xt4MballocAllocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x14\n\x0cgoal_logical\x18\x07 \x01(\r\x12\x12\n\ngoal_start\x18\x08 \x01(\x05\x12\x12\n\ngoal_group\x18\t \x01(\r\x12\x10\n\x08goal_len\x18\n \x01(\x05\x12\x16\n\x0eresult_logical\x18\x0b \x01(\r\x12\x14\n\x0cresult_start\x18\x0c \x01(\x05\x12\x14\n\x0cresult_group\x18\r \x01(\r\x12\x12\n\nresult_len\x18\x0e \x01(\x05\x12\r\n\x05\x66ound\x18\x0f \x01(\r\x12\x0e\n\x06groups\x18\x10 \x01(\r\x12\r\n\x05\x62uddy\x18\x11 \x01(\r\x12\r\n\x05\x66lags\x18\x12 \x01(\r\x12\x0c\n\x04tail\x18\x13 \x01(\r\x12\n\n\x02\x63r\x18\x14 \x01(\r\"y\n\x1d\x45xt4MballocDiscardFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"v\n\x1a\x45xt4MballocFreeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0cresult_start\x18\x03 \x01(\x05\x12\x14\n\x0cresult_group\x18\x04 \x01(\r\x12\x12\n\nresult_len\x18\x05 \x01(\x05\"\xe2\x01\n\x1e\x45xt4MballocPreallocFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x14\n\x0corig_logical\x18\x03 \x01(\r\x12\x12\n\norig_start\x18\x04 \x01(\x05\x12\x12\n\norig_group\x18\x05 \x01(\r\x12\x10\n\x08orig_len\x18\x06 \x01(\x05\x12\x16\n\x0eresult_logical\x18\x07 \x01(\r\x12\x14\n\x0cresult_start\x18\x08 \x01(\x05\x12\x14\n\x0cresult_group\x18\t \x01(\r\x12\x12\n\nresult_len\x18\n \x01(\x05\"y\n#Ext4OtherInodeUpdateTimeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x10\n\x08orig_ino\x18\x03 \x01(\x04\x12\x0b\n\x03uid\x18\x04 \x01(\r\x12\x0b\n\x03gid\x18\x05 \x01(\r\x12\x0c\n\x04mode\x18\x06 \x01(\r\"_\n\x18\x45xt4PunchHoleFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"R\n\"Ext4ReadBlockBitmapLoadFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05group\x18\x02 \x01(\r\x12\x10\n\x08prefetch\x18\x03 \x01(\r\"B\n\x17\x45xt4ReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"E\n\x1a\x45xt4ReleasepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xc8\x01\n\x1b\x45xt4RemoveBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x03 \x01(\r\x12\n\n\x02to\x18\x04 \x01(\r\x12\x0f\n\x07partial\x18\x05 \x01(\x03\x12\x0f\n\x07\x65\x65_pblk\x18\x06 \x01(\x04\x12\x0f\n\x07\x65\x65_lblk\x18\x07 \x01(\r\x12\x0e\n\x06\x65\x65_len\x18\x08 \x01(\r\x12\x0f\n\x07pc_lblk\x18\t \x01(\r\x12\x0f\n\x07pc_pclu\x18\n \x01(\x04\x12\x10\n\x08pc_state\x18\x0b \x01(\x05\"\xb1\x01\n\x1c\x45xt4RequestBlocksFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x0f\n\x07logical\x18\x04 \x01(\r\x12\r\n\x05lleft\x18\x05 \x01(\r\x12\x0e\n\x06lright\x18\x06 \x01(\r\x12\x0c\n\x04goal\x18\x07 \x01(\x04\x12\r\n\x05pleft\x18\x08 \x01(\x04\x12\x0e\n\x06pright\x18\t \x01(\x04\x12\r\n\x05\x66lags\x18\n \x01(\r\"E\n\x1b\x45xt4RequestInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03\x64ir\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\r\"2\n\x15\x45xt4SyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04wait\x18\x02 \x01(\x05\"m\n\x1a\x45xt4TrimAllFreeFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"l\n\x19\x45xt4TrimExtentFtraceEvent\x12\x11\n\tdev_major\x18\x01 \x01(\x05\x12\x11\n\tdev_minor\x18\x02 \x01(\x05\x12\r\n\x05group\x18\x03 \x01(\r\x12\r\n\x05start\x18\x04 \x01(\x05\x12\x0b\n\x03len\x18\x05 \x01(\x05\"H\n\x1c\x45xt4TruncateEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"G\n\x1b\x45xt4TruncateExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06\x62locks\x18\x03 \x01(\x04\"T\n\x1a\x45xt4UnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06parent\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x03\"B\n\x19\x45xt4UnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"^\n\x19\x45xt4WriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x17\x45xt4WriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"C\n\x18\x45xt4WritepageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\"\xe0\x01\n\x19\x45xt4WritepagesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x13\n\x0bnr_to_write\x18\x03 \x01(\x03\x12\x15\n\rpages_skipped\x18\x04 \x01(\x03\x12\x13\n\x0brange_start\x18\x05 \x01(\x03\x12\x11\n\trange_end\x18\x06 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x07 \x01(\x04\x12\x11\n\tsync_mode\x18\x08 \x01(\x05\x12\x13\n\x0b\x66or_kupdate\x18\t \x01(\r\x12\x14\n\x0crange_cyclic\x18\n \x01(\r\"\xa2\x01\n\x1f\x45xt4WritepagesResultFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\x12\x15\n\rpages_written\x18\x04 \x01(\x05\x12\x15\n\rpages_skipped\x18\x05 \x01(\x03\x12\x17\n\x0fwriteback_index\x18\x06 \x01(\x04\x12\x11\n\tsync_mode\x18\x07 \x01(\x05\"_\n\x18\x45xt4ZeroRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\x05\"d\n\x1a\x46\x32\x66sDoSubmitBioFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x62type\x18\x02 \x01(\x05\x12\x0c\n\x04sync\x18\x03 \x01(\r\x12\x0e\n\x06sector\x18\x04 \x01(\x04\x12\x0c\n\x04size\x18\x05 \x01(\r\"\x8e\x01\n\x19\x46\x32\x66sEvictInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"\x8a\x01\n\x18\x46\x32\x66sFallocateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04mode\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x03\x12\x0b\n\x03len\x18\x05 \x01(\x03\x12\x0c\n\x04size\x18\x06 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0b\n\x03ret\x18\x08 \x01(\x05\"w\n\x1b\x46\x32\x66sGetDataBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0e\n\x06iblock\x18\x03 \x01(\x04\x12\x10\n\x08\x62h_start\x18\x04 \x01(\x04\x12\x0f\n\x07\x62h_size\x18\x05 \x01(\x04\x12\x0b\n\x03ret\x18\x06 \x01(\x05\"\xce\x01\n\x18\x46\x32\x66sGetVictimFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07gc_type\x18\x03 \x01(\x05\x12\x12\n\nalloc_mode\x18\x04 \x01(\x05\x12\x0f\n\x07gc_mode\x18\x05 \x01(\x05\x12\x0e\n\x06victim\x18\x06 \x01(\r\x12\x10\n\x08ofs_unit\x18\x07 \x01(\r\x12\x12\n\npre_victim\x18\x08 \x01(\r\x12\x0f\n\x07prefree\x18\t \x01(\r\x12\x0c\n\x04\x66ree\x18\n \x01(\r\x12\x0c\n\x04\x63ost\x18\x0b \x01(\r\"\x88\x01\n\x13\x46\x32\x66sIgetFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"@\n\x17\x46\x32\x66sIgetExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"@\n\x17\x46\x32\x66sNewInodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x8f\x01\n\x17\x46\x32\x66sReadpageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\x0f\n\x07\x62lkaddr\x18\x04 \x01(\x04\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x06 \x01(\x05\x12\r\n\x05\x64irty\x18\x07 \x01(\x05\x12\x10\n\x08uptodate\x18\x08 \x01(\x05\"O\n\x1e\x46\x32\x66sReserveNewBlockFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03nid\x18\x02 \x01(\r\x12\x13\n\x0bofs_in_node\x18\x03 \x01(\r\"\x82\x01\n\x1b\x46\x32\x66sSetPageDirtyFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"f\n\x1e\x46\x32\x66sSubmitWritePageFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\r\n\x05index\x18\x04 \x01(\x04\x12\r\n\x05\x62lock\x18\x05 \x01(\r\"\x91\x01\n\x1c\x46\x32\x66sSyncFileEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"z\n\x1b\x46\x32\x66sSyncFileExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0f\n\x07need_cp\x18\x03 \x01(\r\x12\x10\n\x08\x64\x61tasync\x18\x04 \x01(\x05\x12\x0b\n\x03ret\x18\x05 \x01(\x05\x12\x11\n\tcp_reason\x18\x06 \x01(\x05\"A\n\x15\x46\x32\x66sSyncFsFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\r\n\x05\x64irty\x18\x02 \x01(\x05\x12\x0c\n\x04wait\x18\x03 \x01(\x05\"\x8c\x01\n\x17\x46\x32\x66sTruncateFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04pino\x18\x03 \x01(\x04\x12\x0c\n\x04mode\x18\x04 \x01(\r\x12\x0c\n\x04size\x18\x05 \x01(\x03\x12\r\n\x05nlink\x18\x06 \x01(\r\x12\x0e\n\x06\x62locks\x18\x07 \x01(\x04\x12\x0e\n\x06\x61\x64vise\x18\x08 \x01(\r\"j\n\"F2fsTruncateBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"J\n!F2fsTruncateBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"j\n&F2fsTruncateDataBlocksRangeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x0b\n\x03ofs\x18\x04 \x01(\r\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x05\"o\n\'F2fsTruncateInodeBlocksEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04\x66rom\x18\x05 \x01(\x04\"O\n&F2fsTruncateInodeBlocksExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"V\n\x1b\x46\x32\x66sTruncateNodeFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"\\\n!F2fsTruncateNodesEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\x10\n\x08\x62lk_addr\x18\x04 \x01(\r\"I\n F2fsTruncateNodesExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"h\n#F2fsTruncatePartialNodesFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03nid\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pth\x18\x04 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x05 \x01(\x05\"b\n\x1a\x46\x32\x66sUnlinkEnterFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0e\n\x06\x62locks\x18\x04 \x01(\x04\x12\x0c\n\x04name\x18\x05 \x01(\t\"B\n\x19\x46\x32\x66sUnlinkExitFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"\x83\x01\n\x1c\x46\x32\x66sVmPageMkwriteFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0b\n\x03\x64ir\x18\x04 \x01(\x05\x12\r\n\x05index\x18\x05 \x01(\x04\x12\r\n\x05\x64irty\x18\x06 \x01(\x05\x12\x10\n\x08uptodate\x18\x07 \x01(\x05\"^\n\x19\x46\x32\x66sWriteBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\"]\n\x1e\x46\x32\x66sWriteCheckpointFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x11\n\tis_umount\x18\x02 \x01(\r\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\x05\"]\n\x17\x46\x32\x66sWriteEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ino\x18\x02 \x01(\x04\x12\x0b\n\x03pos\x18\x03 \x01(\x03\x12\x0b\n\x03len\x18\x04 \x01(\r\x12\x0e\n\x06\x63opied\x18\x05 \x01(\r\"\xa9\x03\n\x15\x46\x32\x66sIostatFtraceEvent\x12\x0f\n\x07\x61pp_bio\x18\x01 \x01(\x04\x12\x10\n\x08\x61pp_brio\x18\x02 \x01(\x04\x12\x0f\n\x07\x61pp_dio\x18\x03 \x01(\x04\x12\x10\n\x08\x61pp_drio\x18\x04 \x01(\x04\x12\x0f\n\x07\x61pp_mio\x18\x05 \x01(\x04\x12\x10\n\x08\x61pp_mrio\x18\x06 \x01(\x04\x12\x0f\n\x07\x61pp_rio\x18\x07 \x01(\x04\x12\x0f\n\x07\x61pp_wio\x18\x08 \x01(\x04\x12\x0b\n\x03\x64\x65v\x18\t \x01(\x04\x12\x10\n\x08\x66s_cdrio\x18\n \x01(\x04\x12\x11\n\tfs_cp_dio\x18\x0b \x01(\x04\x12\x11\n\tfs_cp_mio\x18\x0c \x01(\x04\x12\x11\n\tfs_cp_nio\x18\r \x01(\x04\x12\x0e\n\x06\x66s_dio\x18\x0e \x01(\x04\x12\x12\n\nfs_discard\x18\x0f \x01(\x04\x12\x0f\n\x07\x66s_drio\x18\x10 \x01(\x04\x12\x11\n\tfs_gc_dio\x18\x11 \x01(\x04\x12\x11\n\tfs_gc_nio\x18\x12 \x01(\x04\x12\x10\n\x08\x66s_gdrio\x18\x13 \x01(\x04\x12\x0e\n\x06\x66s_mio\x18\x14 \x01(\x04\x12\x0f\n\x07\x66s_mrio\x18\x15 \x01(\x04\x12\x0e\n\x06\x66s_nio\x18\x16 \x01(\x04\x12\x0f\n\x07\x66s_nrio\x18\x17 \x01(\x04\"\xc7\x04\n\x1c\x46\x32\x66sIostatLatencyFtraceEvent\x12\x10\n\x08\x64_rd_avg\x18\x01 \x01(\r\x12\x10\n\x08\x64_rd_cnt\x18\x02 \x01(\r\x12\x11\n\td_rd_peak\x18\x03 \x01(\r\x12\x13\n\x0b\x64_wr_as_avg\x18\x04 \x01(\r\x12\x13\n\x0b\x64_wr_as_cnt\x18\x05 \x01(\r\x12\x14\n\x0c\x64_wr_as_peak\x18\x06 \x01(\r\x12\x12\n\nd_wr_s_avg\x18\x07 \x01(\r\x12\x12\n\nd_wr_s_cnt\x18\x08 \x01(\r\x12\x13\n\x0b\x64_wr_s_peak\x18\t \x01(\r\x12\x0b\n\x03\x64\x65v\x18\n \x01(\x04\x12\x10\n\x08m_rd_avg\x18\x0b \x01(\r\x12\x10\n\x08m_rd_cnt\x18\x0c \x01(\r\x12\x11\n\tm_rd_peak\x18\r \x01(\r\x12\x13\n\x0bm_wr_as_avg\x18\x0e \x01(\r\x12\x13\n\x0bm_wr_as_cnt\x18\x0f \x01(\r\x12\x14\n\x0cm_wr_as_peak\x18\x10 \x01(\r\x12\x12\n\nm_wr_s_avg\x18\x11 \x01(\r\x12\x12\n\nm_wr_s_cnt\x18\x12 \x01(\r\x12\x13\n\x0bm_wr_s_peak\x18\x13 \x01(\r\x12\x10\n\x08n_rd_avg\x18\x14 \x01(\r\x12\x10\n\x08n_rd_cnt\x18\x15 \x01(\r\x12\x11\n\tn_rd_peak\x18\x16 \x01(\r\x12\x13\n\x0bn_wr_as_avg\x18\x17 \x01(\r\x12\x13\n\x0bn_wr_as_cnt\x18\x18 \x01(\r\x12\x14\n\x0cn_wr_as_peak\x18\x19 \x01(\r\x12\x12\n\nn_wr_s_avg\x18\x1a \x01(\r\x12\x12\n\nn_wr_s_cnt\x18\x1b \x01(\r\x12\x13\n\x0bn_wr_s_peak\x18\x1c \x01(\r\"Z\n\x1b\x46\x32\x66sBackgroundGcFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0f\n\x07wait_ms\x18\x02 \x01(\r\x12\x0f\n\x07prefree\x18\x03 \x01(\r\x12\x0c\n\x04\x66ree\x18\x04 \x01(\r\"\x8e\x02\n\x16\x46\x32\x66sGcBeginFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0c\n\x04sync\x18\x02 \x01(\r\x12\x12\n\nbackground\x18\x03 \x01(\r\x12\x13\n\x0b\x64irty_nodes\x18\x04 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x06 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x07 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\x08 \x01(\r\x12\x14\n\x0creserved_seg\x18\t \x01(\x05\x12\x13\n\x0bprefree_seg\x18\n \x01(\r\x12\x0f\n\x07gc_type\x18\x0b \x01(\x05\x12\x10\n\x08no_bg_gc\x18\x0c \x01(\r\x12\x14\n\x0cnr_free_secs\x18\r \x01(\r\"\xe4\x01\n\x14\x46\x32\x66sGcEndFtraceEvent\x12\x0b\n\x03\x64\x65v\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x11\n\tseg_freed\x18\x03 \x01(\x05\x12\x11\n\tsec_freed\x18\x04 \x01(\x05\x12\x13\n\x0b\x64irty_nodes\x18\x05 \x01(\x03\x12\x13\n\x0b\x64irty_dents\x18\x06 \x01(\x03\x12\x13\n\x0b\x64irty_imeta\x18\x07 \x01(\x03\x12\x10\n\x08\x66ree_sec\x18\x08 \x01(\r\x12\x10\n\x08\x66ree_seg\x18\t \x01(\r\x12\x14\n\x0creserved_seg\x18\n \x01(\x05\x12\x13\n\x0bprefree_seg\x18\x0b \x01(\r\"N\n\x19\x46\x61strpcDmaStatFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"D\n\x19\x46\x61strpcDmaFreeFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"c\n\x1a\x46\x61strpcDmaAllocFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x04 \x01(\x04\x12\x0e\n\x06mflags\x18\x05 \x01(\x05\"E\n\x1a\x46\x61strpcDmaUnmapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0c\n\x04phys\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x18\x46\x61strpcDmaMapFtraceEvent\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\n\n\x02\x66\x64\x18\x02 \x01(\x05\x12\x0c\n\x04phys\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04\x61ttr\x18\x06 \x01(\r\x12\x0e\n\x06mflags\x18\x07 \x01(\x05\"X\n\x14\x46\x65nceInitFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"[\n\x17\x46\x65nceDestroyFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"`\n\x1c\x46\x65nceEnableSignalFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"\\\n\x18\x46\x65nceSignaledFtraceEvent\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\r\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05seqno\x18\x03 \x01(\r\x12\x10\n\x08timeline\x18\x04 \x01(\t\"l\n\"MmFilemapAddToPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"q\n\'MmFilemapDeleteFromPageCacheFtraceEvent\x12\x0b\n\x03pfn\x18\x01 \x01(\x04\x12\r\n\x05i_ino\x18\x02 \x01(\x04\x12\r\n\x05index\x18\x03 \x01(\x04\x12\r\n\x05s_dev\x18\x04 \x01(\x04\x12\x0c\n\x04page\x18\x05 \x01(\x04\"E\n\x14\x44oSysOpenFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x0c\n\x04mode\x18\x03 \x01(\x05\"\'\n\x13OpenExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t\"8\n\x19\x46uncgraphEntryFtraceEvent\x12\r\n\x05\x64\x65pth\x18\x01 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x02 \x01(\x04\"k\n\x18\x46uncgraphExitFtraceEvent\x12\x10\n\x08\x63\x61lltime\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x0c\n\x04\x66unc\x18\x03 \x01(\x04\x12\x0f\n\x07overrun\x18\x04 \x01(\x04\x12\x0f\n\x07rettime\x18\x05 \x01(\x04\"X\n\x1eG2dTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\xc2\x01\n\x12GenericFtraceEvent\x12\x12\n\nevent_name\x18\x01 \x01(\t\x12\x38\n\x05\x66ield\x18\x02 \x03(\x0b\x32).perfetto.protos.GenericFtraceEvent.Field\x1a^\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\tstr_value\x18\x03 \x01(\tH\x00\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x05 \x01(\x04H\x00\x42\x07\n\x05value\"\xbe\x01\n\x0bKprobeEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.perfetto.protos.KprobeEvent.KprobeType\"j\n\nKprobeType\x12\x17\n\x13KPROBE_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11KPROBE_TYPE_BEGIN\x10\x01\x12\x13\n\x0fKPROBE_TYPE_END\x10\x02\x12\x17\n\x13KPROBE_TYPE_INSTANT\x10\x03\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"C\n\x16GpuMemTotalFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0c\n\x04size\x18\x03 \x01(\x04\"z\n\x16\x44rmSchedJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\"x\n\x14\x44rmRunJobFtraceEvent\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\x04\x12\r\n\x05\x66\x65nce\x18\x02 \x01(\x04\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\n\n\x02id\x18\x04 \x01(\x04\x12\x11\n\tjob_count\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x06 \x01(\t\".\n\x1d\x44rmSchedProcessJobFtraceEvent\x12\r\n\x05\x66\x65nce\x18\x01 \x01(\x04\"f\n\x1c\x44rmSchedJobAddDepFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"H\n\x1a\x44rmSchedJobDoneFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\"\xa0\x01\n\x1b\x44rmSchedJobQueueFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"\x9e\x01\n\x19\x44rmSchedJobRunFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tjob_count\x18\x02 \x01(\r\x12\x14\n\x0chw_job_count\x18\x03 \x01(\x05\x12\x0b\n\x03\x64\x65v\x18\x04 \x01(\t\x12\x15\n\rfence_context\x18\x05 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x06 \x01(\x04\x12\x11\n\tclient_id\x18\x07 \x01(\x04\"m\n#DrmSchedJobUnschedulableFtraceEvent\x12\x15\n\rfence_context\x18\x01 \x01(\x04\x12\x13\n\x0b\x66\x65nce_seqno\x18\x02 \x01(\x04\x12\x0b\n\x03\x63tx\x18\x03 \x01(\x04\x12\r\n\x05seqno\x18\x04 \x01(\x04\"\x15\n\x13HypEnterFtraceEvent\"\x14\n\x12HypExitFtraceEvent\"3\n\x14HostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"3\n\x12HostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"4\n\x17HostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x87\x01\n\x16HostFfaCallFtraceEvent\x12\x0f\n\x07\x66unc_id\x18\x01 \x01(\x04\x12\x0e\n\x06res_a1\x18\x02 \x01(\x04\x12\x0e\n\x06res_a2\x18\x03 \x01(\x04\x12\x0e\n\x06res_a3\x18\x04 \x01(\x04\x12\x0e\n\x06res_a4\x18\x05 \x01(\x04\x12\x0f\n\x07handled\x18\x06 \x01(\x05\x12\x0b\n\x03\x65rr\x18\x07 \x01(\x05\"?\n\x15IommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"7\n\x19PsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\"=\n\x1eHypervisorHostHcallFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0f\n\x07invalid\x18\x02 \x01(\r\"=\n\x1cHypervisorHostSmcFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tforwarded\x18\x02 \x01(\r\"\x1e\n\x1cHypervisorHypExitFtraceEvent\"I\n\x1fHypervisorIommuIdmapFtraceEvent\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\x12\x0c\n\x04prot\x18\x03 \x01(\x05\"A\n#HypervisorPsciMemProtectFtraceEvent\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x12\x0b\n\x03was\x18\x02 \x01(\x04\">\n!HypervisorHostMemAbortFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\x04\"\x1f\n\x1dHypervisorHypEnterFtraceEvent\"6\n\'HypervisorIommuIdmapCompleteFtraceEvent\x12\x0b\n\x03map\x18\x01 \x01(\r\"3\n$HypervisorVcpuIllegalTrapFtraceEvent\x12\x0b\n\x03\x65sr\x18\x01 \x01(\x04\"b\n\x12I2cReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\"p\n\x13I2cWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"H\n\x14I2cResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0f\n\x07nr_msgs\x18\x02 \x01(\r\x12\x0b\n\x03ret\x18\x03 \x01(\x05\"p\n\x13I2cReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0e\n\x06msg_nr\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x0b\n\x03\x62uf\x18\x06 \x01(\r\"j\n\x14SmbusReadFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\r\"x\n\x15SmbusWriteFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"\x8d\x01\n\x16SmbusResultFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x12\n\nread_write\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x0b\n\x03res\x18\x06 \x01(\x05\x12\x10\n\x08protocol\x18\x07 \x01(\r\"x\n\x15SmbusReplyFtraceEvent\x12\x12\n\nadapter_nr\x18\x01 \x01(\x05\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\r\x12\x0b\n\x03len\x18\x05 \x01(\r\x12\x10\n\x08protocol\x18\x06 \x01(\r\"M\n\x12IonStatFtraceEvent\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x03\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x04\"%\n\x13IpiEntryFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\"$\n\x12IpiExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\t\":\n\x13IpiRaiseFtraceEvent\x12\x13\n\x0btarget_cpus\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"&\n\x17SoftirqEntryFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"%\n\x16SoftirqExitFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"&\n\x17SoftirqRaiseFtraceEvent\x12\x0b\n\x03vec\x18\x01 \x01(\r\"H\n\x1aIrqHandlerEntryFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07handler\x18\x03 \x01(\r\"5\n\x19IrqHandlerExitFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\x0b\n\x03ret\x18\x02 \x01(\x05\",\n\x1aLocalTimerEntryFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"+\n\x19LocalTimerExitFtraceEvent\x12\x0e\n\x06vector\x18\x01 \x01(\x05\"?\n\x1bKgslGpuFrequencyFtraceEvent\x12\x10\n\x08gpu_freq\x18\x01 \x01(\r\x12\x0e\n\x06gpu_id\x18\x02 \x01(\r\"q\n#KgslAdrenoCmdbatchQueuedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0e\n\x06queued\x18\x03 \x01(\r\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04prio\x18\x05 \x01(\r\"\xf9\x01\n&KgslAdrenoCmdbatchSubmittedFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\r\n\x05ticks\x18\x05 \x01(\x04\x12\x0c\n\x04secs\x18\x06 \x01(\x04\x12\r\n\x05usecs\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x64ispatch_queue\x18\r \x01(\x05\"_\n!KgslAdrenoCmdbatchSyncFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\r\n\x05ticks\x18\x03 \x01(\x04\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"\xd5\x02\n$KgslAdrenoCmdbatchRetiredFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08inflight\x18\x03 \x01(\x03\x12\x10\n\x08recovery\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\r\n\x05start\x18\x06 \x01(\x04\x12\x0e\n\x06retire\x18\x07 \x01(\x04\x12\x0c\n\x04prio\x18\x08 \x01(\x05\x12\r\n\x05rb_id\x18\t \x01(\x05\x12\x0c\n\x04rptr\x18\n \x01(\r\x12\x0c\n\x04wptr\x18\x0b \x01(\r\x12\x12\n\nq_inflight\x18\x0c \x01(\x05\x12\x16\n\x0e\x66\x61ult_recovery\x18\r \x01(\x04\x12\x16\n\x0e\x64ispatch_queue\x18\x0e \x01(\r\x12\x17\n\x0fsubmitted_to_rb\x18\x0f \x01(\x04\x12\x16\n\x0eretired_on_gmu\x18\x10 \x01(\x04\x12\x0e\n\x06\x61\x63tive\x18\x11 \x01(\x04\"A\n\x1d\x41llocPagesIommuEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"B\n\x1e\x41llocPagesIommuFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"C\n\x1f\x41llocPagesIommuStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"?\n\x1b\x41llocPagesSysEndFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"@\n\x1c\x41llocPagesSysFailFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"A\n\x1d\x41llocPagesSysStartFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\r\n\x05order\x18\x02 \x01(\r\"3\n\"DmaAllocContiguousRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"S\n\x18IommuMapRangeFtraceEvent\x12\x12\n\nchunk_size\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\n\n\x02pa\x18\x03 \x01(\x04\x12\n\n\x02va\x18\x04 \x01(\x04\"f\n\"IommuSecPtblMapRangeEndFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"h\n$IommuSecPtblMapRangeStartFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\n\n\x02pa\x18\x03 \x01(\r\x12\x0e\n\x06sec_id\x18\x04 \x01(\x05\x12\n\n\x02va\x18\x05 \x01(\x04\"p\n\x1cIonAllocBufferEndFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"\x80\x01\n\x1dIonAllocBufferFailFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"\x84\x01\n!IonAllocBufferFallbackFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\x03\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x11\n\theap_name\x18\x04 \x01(\t\x12\x0b\n\x03len\x18\x05 \x01(\x04\x12\x0c\n\x04mask\x18\x06 \x01(\r\"r\n\x1eIonAllocBufferStartFtraceEvent\x12\x13\n\x0b\x63lient_name\x18\x01 \x01(\t\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\x12\x0c\n\x04mask\x18\x05 \x01(\r\"+\n\x1aIonCpAllocRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"_\n\x1fIonCpSecureBufferEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"a\n!IonCpSecureBufferStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"(\n\x19IonPrefetchingFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\"[\n#IonSecureCmaAddToPoolEndFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"]\n%IonSecureCmaAddToPoolStartFtraceEvent\x12\x13\n\x0bis_prefetch\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x12\n\npool_total\x18\x03 \x01(\x05\"b\n\"IonSecureCmaAllocateEndFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"d\n$IonSecureCmaAllocateStartFtraceEvent\x12\r\n\x05\x61lign\x18\x01 \x01(\x04\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\x12\x11\n\theap_name\x18\x03 \x01(\t\x12\x0b\n\x03len\x18\x04 \x01(\x04\"R\n$IonSecureCmaShrinkPoolEndFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"T\n&IonSecureCmaShrinkPoolStartFtraceEvent\x12\x14\n\x0c\x64rained_size\x18\x01 \x01(\x04\x12\x14\n\x0cskipped_size\x18\x02 \x01(\x04\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"o\n\x12KmallocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x81\x01\n\x16KmallocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\"v\n\x19KmemCacheAllocFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0b\n\x03ptr\x18\x05 \x01(\x04\"\x88\x01\n\x1dKmemCacheAllocNodeFtraceEvent\x12\x13\n\x0b\x62ytes_alloc\x18\x01 \x01(\x04\x12\x11\n\tbytes_req\x18\x02 \x01(\x04\x12\x11\n\tcall_site\x18\x03 \x01(\x04\x12\x11\n\tgfp_flags\x18\x04 \x01(\r\x12\x0c\n\x04node\x18\x05 \x01(\x05\x12\x0b\n\x03ptr\x18\x06 \x01(\x04\":\n\x18KmemCacheFreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04\"*\n\x1aMigratePagesEndFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\",\n\x1cMigratePagesStartFtraceEvent\x12\x0c\n\x04mode\x18\x01 \x01(\x05\"(\n\x17MigrateRetryFtraceEvent\x12\r\n\x05tries\x18\x01 \x01(\x05\"j\n\x16MmPageAllocFtraceEvent\x12\x11\n\tgfp_flags\x18\x01 \x01(\r\x12\x13\n\x0bmigratetype\x18\x02 \x01(\x05\x12\r\n\x05order\x18\x03 \x01(\r\x12\x0c\n\x04page\x18\x04 \x01(\x04\x12\x0b\n\x03pfn\x18\x05 \x01(\x04\"\xba\x01\n\x1dMmPageAllocExtfragFtraceEvent\x12\x19\n\x11\x61lloc_migratetype\x18\x01 \x01(\x05\x12\x13\n\x0b\x61lloc_order\x18\x02 \x01(\x05\x12\x1c\n\x14\x66\x61llback_migratetype\x18\x03 \x01(\x05\x12\x16\n\x0e\x66\x61llback_order\x18\x04 \x01(\x05\x12\x0c\n\x04page\x18\x05 \x01(\x04\x12\x18\n\x10\x63hange_ownership\x18\x06 \x01(\x05\x12\x0b\n\x03pfn\x18\x07 \x01(\x04\"a\n MmPageAllocZoneLockedFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"A\n\x15MmPageFreeFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\r\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"G\n\x1cMmPageFreeBatchedFtraceEvent\x12\x0c\n\x04\x63old\x18\x01 \x01(\x05\x12\x0c\n\x04page\x18\x02 \x01(\x04\x12\x0b\n\x03pfn\x18\x03 \x01(\x04\"[\n\x1aMmPagePcpuDrainFtraceEvent\x12\x13\n\x0bmigratetype\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\r\x12\x0c\n\x04page\x18\x03 \x01(\x04\x12\x0b\n\x03pfn\x18\x04 \x01(\x04\"O\n\x12RssStatFtraceEvent\x12\x0e\n\x06member\x18\x01 \x01(\x05\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x63urr\x18\x03 \x01(\r\x12\r\n\x05mm_id\x18\x04 \x01(\r\"S\n\x18IonHeapShrinkFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"Q\n\x16IonHeapGrowFtraceEvent\x12\x11\n\theap_name\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x17\n\x0ftotal_allocated\x18\x03 \x01(\x03\"7\n\x1aIonBufferCreateFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"8\n\x1bIonBufferDestroyFtraceEvent\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\"\x99\x01\n(MmAllocContigMigrateRangeInfoFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\x12\x13\n\x0bnr_migrated\x18\x03 \x01(\x04\x12\x14\n\x0cnr_reclaimed\x18\x04 \x01(\x04\x12\x11\n\tnr_mapped\x18\x05 \x01(\x04\x12\x13\n\x0bmigratetype\x18\x06 \x01(\x05\"I\n\x18\x44mabufRssStatFtraceEvent\x12\x0b\n\x03rss\x18\x01 \x01(\x04\x12\x11\n\trss_delta\x18\x02 \x01(\x03\x12\r\n\x05i_ino\x18\x03 \x01(\x04\"(\n\x19KvmAccessFaultFtraceEvent\x12\x0b\n\x03ipa\x18\x01 \x01(\x04\"4\n\x14KvmAckIrqFtraceEvent\x12\x0f\n\x07irqchip\x18\x01 \x01(\r\x12\x0b\n\x03pin\x18\x02 \x01(\r\"2\n\x14KvmAgeHvaFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"T\n\x15KvmAgePageFtraceEvent\x12\x0b\n\x03gfn\x18\x01 \x01(\x04\x12\x0b\n\x03hva\x18\x02 \x01(\x04\x12\r\n\x05level\x18\x03 \x01(\r\x12\x12\n\nreferenced\x18\x04 \x01(\r\"2\n\x1bKvmArmClearDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\"9\n\x1aKvmArmSetDreg32FtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r\"7\n\x1aKvmArmSetRegsetFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"@\n\x1bKvmArmSetupDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"&\n\x13KvmEntryFtraceEvent\x12\x0f\n\x07vcpu_pc\x18\x01 \x01(\x04\"B\n\x12KvmExitFtraceEvent\x12\x0e\n\x06\x65sr_ec\x18\x01 \x01(\r\x12\x0b\n\x03ret\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"!\n\x11KvmFpuFtraceEvent\x12\x0c\n\x04load\x18\x01 \x01(\r\"o\n\x19KvmGetTimerMapFtraceEvent\x12\x15\n\rdirect_ptimer\x18\x01 \x01(\x05\x12\x15\n\rdirect_vtimer\x18\x02 \x01(\x05\x12\x13\n\x0b\x65mul_ptimer\x18\x03 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x04 \x01(\x04\"T\n\x18KvmGuestFaultFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\x12\r\n\x05hxfar\x18\x02 \x01(\x04\x12\x0b\n\x03ipa\x18\x03 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x04 \x01(\x04\")\n\x1aKvmHandleSysRegFtraceEvent\x12\x0b\n\x03hsr\x18\x01 \x01(\x04\"B\n\x16KvmHvcArm64FtraceEvent\x12\x0b\n\x03imm\x18\x01 \x01(\x04\x12\n\n\x02r0\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"W\n\x15KvmIrqLineFtraceEvent\x12\x0f\n\x07irq_num\x18\x01 \x01(\x05\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08vcpu_idx\x18\x04 \x01(\x05\"I\n\x12KvmMmioFtraceEvent\x12\x0b\n\x03gpa\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x0b\n\x03val\x18\x04 \x01(\x04\"I\n\x19KvmMmioEmulateFtraceEvent\x12\x0c\n\x04\x63psr\x18\x01 \x01(\x04\x12\r\n\x05instr\x18\x02 \x01(\x04\x12\x0f\n\x07vcpu_pc\x18\x03 \x01(\x04\"@\n\x1bKvmSetGuestDebugFtraceEvent\x12\x13\n\x0bguest_debug\x18\x01 \x01(\r\x12\x0c\n\x04vcpu\x18\x02 \x01(\x04\"I\n\x14KvmSetIrqFtraceEvent\x12\x0b\n\x03gsi\x18\x01 \x01(\r\x12\x15\n\rirq_source_id\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\"\'\n\x18KvmSetSpteHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\";\n\x19KvmSetWayFlushFtraceEvent\x12\r\n\x05\x63\x61\x63he\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"\x8b\x01\n\x17KvmSysAccessFtraceEvent\x12\x0b\n\x03\x43Rm\x18\x01 \x01(\r\x12\x0b\n\x03\x43Rn\x18\x02 \x01(\r\x12\x0b\n\x03Op0\x18\x03 \x01(\r\x12\x0b\n\x03Op1\x18\x04 \x01(\r\x12\x0b\n\x03Op2\x18\x05 \x01(\r\x12\x10\n\x08is_write\x18\x06 \x01(\r\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x0f\n\x07vcpu_pc\x18\x08 \x01(\x04\"\'\n\x18KvmTestAgeHvaFtraceEvent\x12\x0b\n\x03hva\x18\x01 \x01(\x04\"D\n\x1aKvmTimerEmulateFtraceEvent\x12\x13\n\x0bshould_fire\x18\x01 \x01(\r\x12\x11\n\ttimer_idx\x18\x02 \x01(\x05\"5\n KvmTimerHrtimerExpireFtraceEvent\x12\x11\n\ttimer_idx\x18\x01 \x01(\x05\"O\n\x1fKvmTimerRestoreStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"L\n\x1cKvmTimerSaveStateFtraceEvent\x12\x0b\n\x03\x63tl\x18\x01 \x01(\x04\x12\x0c\n\x04\x63val\x18\x02 \x01(\x04\x12\x11\n\ttimer_idx\x18\x03 \x01(\x05\"K\n\x1cKvmTimerUpdateIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"F\n\x19KvmToggleCacheFtraceEvent\x12\x0b\n\x03now\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\x12\x0b\n\x03was\x18\x03 \x01(\r\"9\n\x1bKvmUnmapHvaRangeFtraceEvent\x12\x0b\n\x03\x65nd\x18\x01 \x01(\x04\x12\r\n\x05start\x18\x02 \x01(\x04\"-\n\x1bKvmUserspaceExitFtraceEvent\x12\x0e\n\x06reason\x18\x01 \x01(\r\"E\n\x18KvmVcpuWakeupFtraceEvent\x12\n\n\x02ns\x18\x01 \x01(\x04\x12\r\n\x05valid\x18\x02 \x01(\r\x12\x0e\n\x06waited\x18\x03 \x01(\r\"9\n\x16KvmWfxArm64FtraceEvent\x12\x0e\n\x06is_wfe\x18\x01 \x01(\r\x12\x0f\n\x07vcpu_pc\x18\x02 \x01(\x04\"T\n\x12TrapRegFtraceEvent\x12\n\n\x02\x66n\x18\x01 \x01(\t\x12\x10\n\x08is_write\x18\x02 \x01(\r\x12\x0b\n\x03reg\x18\x03 \x01(\x05\x12\x13\n\x0bwrite_value\x18\x04 \x01(\x04\"N\n\x1fVgicUpdateIrqPendingFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\x12\x0f\n\x07vcpu_id\x18\x03 \x01(\x04\"t\n\x18LowmemoryKillFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x16\n\x0epagecache_size\x18\x03 \x01(\x03\x12\x17\n\x0fpagecache_limit\x18\x04 \x01(\x03\x12\x0c\n\x04\x66ree\x18\x05 \x01(\x03\"q\n\x1fLwisTracingMarkWriteFtraceEvent\x12\x11\n\tlwis_name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x11\n\tfunc_name\x18\x04 \x01(\t\x12\r\n\x05value\x18\x05 \x01(\x03\"Y\n\x1fMaliTracingMarkWriteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\"u\n\x1dMaliMaliKCPUCQSSETFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"{\n#MaliMaliKCPUCQSWAITSTARTFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"y\n!MaliMaliKCPUCQSWAITENDFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\r\x12\x11\n\tinfo_val1\x18\x02 \x01(\x04\x12\x11\n\tinfo_val2\x18\x03 \x01(\x04\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\x11\n\tkctx_tgid\x18\x05 \x01(\x05\"z\n\"MaliMaliKCPUFENCESIGNALFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"}\n%MaliMaliKCPUFENCEWAITSTARTFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"{\n#MaliMaliKCPUFENCEWAITENDFtraceEvent\x12\x11\n\tinfo_val1\x18\x01 \x01(\x04\x12\x11\n\tinfo_val2\x18\x02 \x01(\x04\x12\x11\n\tkctx_tgid\x18\x03 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x04 \x01(\r\x12\n\n\x02id\x18\x05 \x01(\r\"\\\n$MaliMaliCSFINTERRUPTSTARTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliCSFINTERRUPTENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"l\n4MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"`\n(MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"f\n.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"b\n*MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"a\n)MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"c\n+MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUINSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"S\n\x1bMaliMaliPMMCUOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"R\n\x1aMaliMaliPMMCUONFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"d\n,MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONGLBREINITPENDFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"V\n\x1eMaliMaliPMMCUONHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"^\n&MaliMaliPMMCUONHWCNTDISABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"]\n%MaliMaliPMMCUONHWCNTENABLEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Z\n\"MaliMaliPMMCUONPENDHALTFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"[\n#MaliMaliPMMCUONPENDSLEEPFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"_\n\'MaliMaliPMMCUONSLEEPINITIATEFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1fMaliMaliPMMCUPENDOFFFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"\\\n$MaliMaliPMMCUPENDONRELOADFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCUPOWERDOWNFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"Y\n!MaliMaliPMMCURESETWAITFtraceEvent\x12\x11\n\tkctx_tgid\x18\x01 \x01(\x05\x12\x0f\n\x07kctx_id\x18\x02 \x01(\r\x12\x10\n\x08info_val\x18\x03 \x01(\x04\"W\n\x1cMaliGpuPowerStateFtraceEvent\x12\x11\n\tchange_ns\x18\x01 \x01(\x04\x12\x12\n\nfrom_state\x18\x02 \x01(\x05\x12\x10\n\x08to_state\x18\x03 \x01(\x05\"@\n\x18MdpCmdKickoffFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"Z\n\x14MdpCommitFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\x10\n\x08\x63lk_rate\x18\x03 \x01(\r\x12\x11\n\tbandwidth\x18\x04 \x01(\x04\"[\n\x17MdpPerfSetOtFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0e\n\x06xin_id\x18\x02 \x01(\r\x12\x0e\n\x06rd_lim\x18\x03 \x01(\r\x12\x12\n\nis_vbif_rt\x18\x04 \x01(\r\"\x8c\x02\n\x18MdpSsppChangeFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"S\n\x1bTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\"d\n\x1dMdpCmdPingpongDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08intf_num\x18\x02 \x01(\r\x12\x0e\n\x06pp_num\x18\x03 \x01(\r\x12\x10\n\x08koff_cnt\x18\x04 \x01(\x05\"\xa4\x01\n\x17MdpCompareBwFtraceEvent\x12\x0e\n\x06new_ab\x18\x01 \x01(\x04\x12\x0e\n\x06new_ib\x18\x02 \x01(\x04\x12\x0e\n\x06new_wb\x18\x03 \x01(\x04\x12\x0e\n\x06old_ab\x18\x04 \x01(\x04\x12\x0e\n\x06old_ib\x18\x05 \x01(\x04\x12\x0e\n\x06old_wb\x18\x06 \x01(\x04\x12\x16\n\x0eparams_changed\x18\x07 \x01(\r\x12\x11\n\tupdate_bw\x18\x08 \x01(\r\"p\n\x1eMdpPerfSetPanicLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x11\n\tpanic_lut\x18\x04 \x01(\r\x12\x12\n\nrobust_lut\x18\x05 \x01(\r\"\x89\x02\n\x15MdpSsppSetFtraceEvent\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x10\n\x08play_cnt\x18\x02 \x01(\r\x12\r\n\x05mixer\x18\x03 \x01(\r\x12\r\n\x05stage\x18\x04 \x01(\r\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0e\n\x06\x66ormat\x18\x06 \x01(\r\x12\r\n\x05img_w\x18\x07 \x01(\r\x12\r\n\x05img_h\x18\x08 \x01(\r\x12\r\n\x05src_x\x18\t \x01(\r\x12\r\n\x05src_y\x18\n \x01(\r\x12\r\n\x05src_w\x18\x0b \x01(\r\x12\r\n\x05src_h\x18\x0c \x01(\r\x12\r\n\x05\x64st_x\x18\r \x01(\r\x12\r\n\x05\x64st_y\x18\x0e \x01(\r\x12\r\n\x05\x64st_w\x18\x0f \x01(\r\x12\r\n\x05\x64st_h\x18\x10 \x01(\r\"A\n\x1cMdpCmdReadptrDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x10\n\x08koff_cnt\x18\x02 \x01(\x05\"I\n\x15MdpMisrCrcFtraceEvent\x12\x10\n\x08\x62lock_id\x18\x01 \x01(\r\x12\x11\n\tvsync_cnt\x18\x02 \x01(\r\x12\x0b\n\x03\x63rc\x18\x03 \x01(\r\"}\n\x1cMdpPerfSetQosLutsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0c\n\x04intf\x18\x03 \x01(\r\x12\x0b\n\x03rot\x18\x04 \x01(\r\x12\n\n\x02\x66l\x18\x05 \x01(\r\x12\x0b\n\x03lut\x18\x06 \x01(\r\x12\x0e\n\x06linear\x18\x07 \x01(\r\"N\n\x1aMdpTraceCounterFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ounter_name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x05\"-\n\x1aMdpCmdReleaseBwFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\".\n\x19MdpMixerUpdateFtraceEvent\x12\x11\n\tmixer_num\x18\x01 \x01(\r\"\xa0\x01\n\x1dMdpPerfSetWmLevelsFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x11\n\tuse_space\x18\x02 \x01(\r\x12\x16\n\x0epriority_bytes\x18\x03 \x01(\r\x12\x0b\n\x03wm0\x18\x04 \x01(\r\x12\x0b\n\x03wm1\x18\x05 \x01(\r\x12\x0b\n\x03wm2\x18\x06 \x01(\r\x12\x0e\n\x06mb_cnt\x18\x07 \x01(\r\x12\x0f\n\x07mb_size\x18\x08 \x01(\r\"H\n\x1fMdpVideoUnderrunDoneFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x14\n\x0cunderrun_cnt\x18\x02 \x01(\r\"E\n\x1dMdpCmdWaitPingpongFtraceEvent\x12\x0f\n\x07\x63tl_num\x18\x01 \x01(\r\x12\x13\n\x0bkickoff_cnt\x18\x02 \x01(\x05\"\xce\x01\n\x1dMdpPerfPrefillCalcFtraceEvent\x12\x0c\n\x04pnum\x18\x01 \x01(\r\x12\x13\n\x0blatency_buf\x18\x02 \x01(\r\x12\n\n\x02ot\x18\x03 \x01(\r\x12\r\n\x05y_buf\x18\x04 \x01(\r\x12\x10\n\x08y_scaler\x18\x05 \x01(\r\x12\x10\n\x08pp_lines\x18\x06 \x01(\r\x12\x10\n\x08pp_bytes\x18\x07 \x01(\r\x12\x0f\n\x07post_sc\x18\x08 \x01(\r\x12\x11\n\tfbc_bytes\x18\t \x01(\r\x12\x15\n\rprefill_bytes\x18\n \x01(\r\"Q\n\x1bMdpPerfUpdateBusFtraceEvent\x12\x0e\n\x06\x63lient\x18\x01 \x01(\x05\x12\x10\n\x08\x61\x62_quota\x18\x02 \x01(\x04\x12\x10\n\x08ib_quota\x18\x03 \x01(\x04\"0\n\x1fRotatorBwAoAsContextFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\"Y\n\x18MmEventRecordFtraceEvent\x12\x0f\n\x07\x61vg_lat\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0f\n\x07max_lat\x18\x03 \x01(\r\x12\x0c\n\x04type\x18\x04 \x01(\r\"H\n\x1aNetifReceiveSkbFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"O\n\x15NetDevXmitFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\n\n\x02rc\x18\x03 \x01(\x05\x12\x0f\n\x07skbaddr\x18\x04 \x01(\x04\"\xfb\x02\n\x1eNapiGroReceiveEntryFtraceEvent\x12\x10\n\x08\x64\x61ta_len\x18\x01 \x01(\r\x12\x10\n\x08gso_size\x18\x02 \x01(\r\x12\x10\n\x08gso_type\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\r\x12\x11\n\tip_summed\x18\x05 \x01(\r\x12\x0f\n\x07l4_hash\x18\x06 \x01(\r\x12\x0b\n\x03len\x18\x07 \x01(\r\x12\x12\n\nmac_header\x18\x08 \x01(\x05\x12\x18\n\x10mac_header_valid\x18\t \x01(\r\x12\x0c\n\x04name\x18\n \x01(\t\x12\x0f\n\x07napi_id\x18\x0b \x01(\r\x12\x10\n\x08nr_frags\x18\x0c \x01(\r\x12\x10\n\x08protocol\x18\r \x01(\r\x12\x15\n\rqueue_mapping\x18\x0e \x01(\r\x12\x0f\n\x07skbaddr\x18\x0f \x01(\x04\x12\x10\n\x08truesize\x18\x10 \x01(\r\x12\x12\n\nvlan_proto\x18\x11 \x01(\r\x12\x13\n\x0bvlan_tagged\x18\x12 \x01(\r\x12\x10\n\x08vlan_tci\x18\x13 \x01(\r\",\n\x1dNapiGroReceiveExitFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x05\"P\n\x1cOomScoreAdjUpdateFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0b\n\x03pid\x18\x03 \x01(\x05\"$\n\x15MarkVictimFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\">\n\x1b\x44siCmdFifoStatusFtraceEvent\x12\x0e\n\x06header\x18\x01 \x01(\r\x12\x0f\n\x07payload\x18\x02 \x01(\r\"/\n\x10\x44siRxFtraceEvent\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x0e\n\x06rx_buf\x18\x02 \x01(\r\">\n\x10\x44siTxFtraceEvent\x12\x0c\n\x04last\x18\x01 \x01(\r\x12\x0e\n\x06tx_buf\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\"\x7f\n\x1cPanelWriteGenericFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0c\n\x04type\x18\x05 \x01(\r\x12\r\n\x05value\x18\x06 \x01(\x05\"\x84\x03\n\x1eSchedSwitchWithCtrsFtraceEvent\x12\x0f\n\x07old_pid\x18\x01 \x01(\x05\x12\x0f\n\x07new_pid\x18\x02 \x01(\x05\x12\x0c\n\x04\x63\x63tr\x18\x03 \x01(\x04\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\x04\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\x04\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\x04\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\x04\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\x04\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\x04\x12\x11\n\tprev_comm\x18\x0c \x01(\t\x12\x10\n\x08prev_pid\x18\r \x01(\x05\x12\x0b\n\x03\x63yc\x18\x0e \x01(\r\x12\x0c\n\x04inst\x18\x0f \x01(\r\x12\x0f\n\x07stallbm\x18\x10 \x01(\r\x12\x0c\n\x04l3dm\x18\x11 \x01(\r\x12\x10\n\x08next_pid\x18\x12 \x01(\x05\x12\x11\n\tnext_comm\x18\x13 \x01(\t\x12\x12\n\nprev_state\x18\x14 \x01(\x03\x12\x0c\n\x04\x61mu0\x18\x15 \x01(\x04\x12\x0c\n\x04\x61mu1\x18\x16 \x01(\x04\x12\x0c\n\x04\x61mu2\x18\x17 \x01(\x04\"0\n\x1cPixelMmKswapdWakeFtraceEvent\x12\x10\n\x08whatever\x18\x01 \x01(\x05\"T\n\x1cPixelMmKswapdDoneFtraceEvent\x12\x18\n\x10\x64\x65lta_nr_scanned\x18\x01 \x01(\x04\x12\x1a\n\x12\x64\x65lta_nr_reclaimed\x18\x02 \x01(\x04\"8\n\x17\x43puFrequencyFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"S\n\x1d\x43puFrequencyLimitsFtraceEvent\x12\x10\n\x08min_freq\x18\x01 \x01(\r\x12\x10\n\x08max_freq\x18\x02 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\r\"3\n\x12\x43puIdleFtraceEvent\x12\r\n\x05state\x18\x01 \x01(\r\x12\x0e\n\x06\x63pu_id\x18\x02 \x01(\r\"E\n\x16\x43lockEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x17\x43lockSetRateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\x12\x0e\n\x06\x63pu_id\x18\x03 \x01(\x04\"F\n\x18SuspendResumeFtraceEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\x05\x12\r\n\x05start\x18\x03 \x01(\r\"8\n\x17GpuFrequencyFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\r\n\x05state\x18\x02 \x01(\r\">\n\x1fWakeupSourceActivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"@\n!WakeupSourceDeactivateFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x04\"\x85\x01\n\x18GpuWorkPeriodFtraceEvent\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x0b\n\x03uid\x18\x02 \x01(\r\x12\x15\n\rstart_time_ns\x18\x03 \x01(\x04\x12\x13\n\x0b\x65nd_time_ns\x18\x04 \x01(\x04\x12 \n\x18total_active_duration_ns\x18\x05 \x01(\x04\"q\n DevicePmCallbackStartFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06pm_ops\x18\x04 \x01(\t\x12\r\n\x05\x65vent\x18\x05 \x01(\x05\"O\n\x1e\x44\x65vicePmCallbackEndFtraceEvent\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\x05\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t\"/\n\x13SysEnterFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\x04\"-\n\x12SysExitFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0b\n\x03ret\x18\x02 \x01(\x03\"+\n\x1bRegulatorDisableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"3\n#RegulatorDisableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"*\n\x1aRegulatorEnableFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\"RegulatorEnableCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"/\n\x1fRegulatorEnableDelayFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\"H\n\x1eRegulatorSetVoltageFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x05\x12\x0b\n\x03max\x18\x03 \x01(\x05\"C\n&RegulatorSetVoltageCompleteFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03val\x18\x02 \x01(\r\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\"}\n\"SamsungTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x13\n\x0btrace_begin\x18\x03 \x01(\r\x12\x12\n\ntrace_type\x18\x04 \x01(\r\x12\r\n\x05value\x18\x05 \x01(\x05\"\x9c\x01\n\x16SchedSwitchFtraceEvent\x12\x11\n\tprev_comm\x18\x01 \x01(\t\x12\x10\n\x08prev_pid\x18\x02 \x01(\x05\x12\x11\n\tprev_prio\x18\x03 \x01(\x05\x12\x12\n\nprev_state\x18\x04 \x01(\x03\x12\x11\n\tnext_comm\x18\x05 \x01(\t\x12\x10\n\x08next_pid\x18\x06 \x01(\x05\x12\x11\n\tnext_prio\x18\x07 \x01(\x05\"f\n\x16SchedWakeupFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1dSchedBlockedReasonFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0e\n\x06\x63\x61ller\x18\x02 \x01(\x04\x12\x0f\n\x07io_wait\x18\x03 \x01(\r\"Q\n\x1aSchedCpuHotplugFtraceEvent\x12\x14\n\x0c\x61\x66\x66\x65\x63ted_cpu\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\"f\n\x16SchedWakingFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"i\n\x19SchedWakeupNewFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x0f\n\x07success\x18\x04 \x01(\x05\x12\x12\n\ntarget_cpu\x18\x05 \x01(\x05\"M\n\x1bSchedProcessExecFtraceEvent\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0f\n\x07old_pid\x18\x03 \x01(\x05\"T\n\x1bSchedProcessExitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04prio\x18\x04 \x01(\x05\"m\n\x1bSchedProcessForkFtraceEvent\x12\x13\n\x0bparent_comm\x18\x01 \x01(\t\x12\x12\n\nparent_pid\x18\x02 \x01(\x05\x12\x12\n\nchild_comm\x18\x03 \x01(\t\x12\x11\n\tchild_pid\x18\x04 \x01(\x05\"F\n\x1bSchedProcessFreeFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"8\n\x1bSchedProcessHangFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\"F\n\x1bSchedProcessWaitFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\"X\n\x19SchedPiSetprioFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0f\n\x07newprio\x18\x02 \x01(\x05\x12\x0f\n\x07oldprio\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\"\xc8\x02\n\x1aSchedCpuUtilCfsFtraceEvent\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x05\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x04\x12\x15\n\rcapacity_orig\x18\x03 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \x01(\r\x12\x16\n\x0e\x63pu_importance\x18\x05 \x01(\x04\x12\x10\n\x08\x63pu_util\x18\x06 \x01(\x04\x12\x10\n\x08\x65xit_lat\x18\x07 \x01(\r\x12\x16\n\x0egroup_capacity\x18\x08 \x01(\x04\x12\x18\n\x10grp_overutilized\x18\t \x01(\r\x12\x10\n\x08idle_cpu\x18\n \x01(\r\x12\x12\n\nnr_running\x18\x0b \x01(\r\x12\x11\n\tspare_cap\x18\x0c \x01(\x03\x12\x11\n\ttask_fits\x18\r \x01(\r\x12\x17\n\x0fwake_group_util\x18\x0e \x01(\x04\x12\x11\n\twake_util\x18\x0f \x01(\x04\"\x89\x01\n\x1bSchedMigrateTaskFtraceEvent\x12\x0c\n\x04\x63omm\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0c\n\x04prio\x18\x03 \x01(\x05\x12\x10\n\x08orig_cpu\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65st_cpu\x18\x05 \x01(\x05\x12\x0f\n\x07running\x18\x06 \x01(\x05\x12\x0c\n\x04load\x18\x07 \x01(\r\"|\n\x1eSchedWakeupTaskAttrFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x14\n\x0c\x63pu_affinity\x18\x02 \x01(\x04\x12\x11\n\ttask_util\x18\x03 \x01(\x04\x12\x12\n\nuclamp_min\x18\x04 \x01(\x04\x12\x10\n\x08vruntime\x18\x05 \x01(\x04\"B\n\x17ScmCallStartFtraceEvent\x12\x0f\n\x07\x61rginfo\x18\x01 \x01(\r\x12\n\n\x02x0\x18\x02 \x01(\x04\x12\n\n\x02x5\x18\x03 \x01(\x04\"\x17\n\x15ScmCallEndFtraceEvent\"y\n\x1eSdeTracingMarkWriteFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x12\n\ntrace_name\x18\x02 \x01(\t\x12\x12\n\ntrace_type\x18\x03 \x01(\r\x12\r\n\x05value\x18\x04 \x01(\x05\x12\x13\n\x0btrace_begin\x18\x05 \x01(\r\"J\n\x17SdeSdeEvtlogFtraceEvent\x12\x12\n\nevtlog_tag\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0e\n\x06tag_id\x18\x03 \x01(\r\"\xb4\x01\n\x1dSdeSdePerfCalcCrtcFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06ib_ebi\x18\x06 \x01(\x04\x12\x0f\n\x07ib_llcc\x18\x07 \x01(\x04\x12\x0f\n\x07ib_mnoc\x18\x08 \x01(\x04\"\x9b\x02\n\x1fSdeSdePerfCrtcUpdateFtraceEvent\x12\x12\n\nbw_ctl_ebi\x18\x01 \x01(\x04\x12\x13\n\x0b\x62w_ctl_llcc\x18\x02 \x01(\x04\x12\x13\n\x0b\x62w_ctl_mnoc\x18\x03 \x01(\x04\x12\x15\n\rcore_clk_rate\x18\x04 \x01(\r\x12\x0c\n\x04\x63rtc\x18\x05 \x01(\r\x12\x0e\n\x06params\x18\x06 \x01(\x05\x12\x17\n\x0fper_pipe_ib_ebi\x18\x07 \x01(\x04\x12\x18\n\x10per_pipe_ib_llcc\x18\x08 \x01(\x04\x12\x18\n\x10per_pipe_ib_mnoc\x18\t \x01(\x04\x12\x10\n\x08stop_req\x18\n \x01(\r\x12\x12\n\nupdate_bus\x18\x0b \x01(\r\x12\x12\n\nupdate_clk\x18\x0c \x01(\r\"t\n\x1fSdeSdePerfSetQosLutsFtraceEvent\x12\n\n\x02\x66l\x18\x01 \x01(\r\x12\x0b\n\x03\x66mt\x18\x02 \x01(\r\x12\x0b\n\x03lut\x18\x03 \x01(\x04\x12\x11\n\tlut_usage\x18\x04 \x01(\r\x12\x0c\n\x04pnum\x18\x05 \x01(\r\x12\n\n\x02rt\x18\x06 \x01(\r\"d\n\x1eSdeSdePerfUpdateBusFtraceEvent\x12\x10\n\x08\x61\x62_quota\x18\x01 \x01(\x04\x12\x0e\n\x06\x62us_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63lient\x18\x03 \x01(\x05\x12\x10\n\x08ib_quota\x18\x04 \x01(\x04\"G\n\x18SignalDeliverFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x10\n\x08sa_flags\x18\x02 \x01(\x04\x12\x0b\n\x03sig\x18\x03 \x01(\x05\"p\n\x19SignalGenerateFtraceEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\x05\x12\x0b\n\x03pid\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0b\n\x03sig\x18\x06 \x01(\x05\"J\n\x13KfreeSkbFtraceEvent\x12\x10\n\x08location\x18\x01 \x01(\x04\x12\x10\n\x08protocol\x18\x02 \x01(\r\x12\x0f\n\x07skbaddr\x18\x03 \x01(\x04\"\xaf\x01\n\x1bInetSockSetStateFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\x0e\n\x06\x66\x61mily\x18\x03 \x01(\r\x12\x10\n\x08newstate\x18\x04 \x01(\x05\x12\x10\n\x08oldstate\x18\x05 \x01(\x05\x12\x10\n\x08protocol\x18\x06 \x01(\r\x12\r\n\x05saddr\x18\x07 \x01(\r\x12\x0e\n\x06skaddr\x18\x08 \x01(\x04\x12\r\n\x05sport\x18\t \x01(\r\"4\n\x11SyncPtFtraceEvent\x12\x10\n\x08timeline\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"6\n\x17SyncTimelineFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"B\n\x13SyncWaitFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\r\"X\n\x1bRssStatThrottledFtraceEvent\x12\x0c\n\x04\x63urr\x18\x01 \x01(\r\x12\x0e\n\x06member\x18\x02 \x01(\x05\x12\r\n\x05mm_id\x18\x03 \x01(\r\x12\x0c\n\x04size\x18\x04 \x01(\x03\"0\n\x1fSuspendResumeMinimalFtraceEvent\x12\r\n\x05start\x18\x01 \x01(\r\"I\n\x0fZeroFtraceEvent\x12\x0c\n\x04\x66lag\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\r\n\x05value\x18\x04 \x01(\x03\"_\n\x16TaskNewtaskFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x13\n\x0b\x63lone_flags\x18\x03 \x01(\x04\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"]\n\x15TaskRenameFtraceEvent\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07oldcomm\x18\x02 \x01(\t\x12\x0f\n\x07newcomm\x18\x03 \x01(\t\x12\x15\n\room_score_adj\x18\x04 \x01(\x05\"\x89\x01\n\x1bTcpRetransmitSkbFtraceEvent\x12\r\n\x05\x64\x61\x64\x64r\x18\x01 \x01(\r\x12\r\n\x05\x64port\x18\x02 \x01(\r\x12\r\n\x05saddr\x18\x03 \x01(\r\x12\x0e\n\x06skaddr\x18\x04 \x01(\x04\x12\x0f\n\x07skbaddr\x18\x05 \x01(\x04\x12\r\n\x05sport\x18\x06 \x01(\r\x12\r\n\x05state\x18\x07 \x01(\x05\"b\n\x1dThermalTemperatureFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04temp\x18\x02 \x01(\x05\x12\x11\n\ttemp_prev\x18\x03 \x01(\x05\x12\x14\n\x0cthermal_zone\x18\x04 \x01(\t\"5\n\x15\x43\x64\x65vUpdateFtraceEvent\x12\x0e\n\x06target\x18\x01 \x01(\x04\x12\x0c\n\x04type\x18\x02 \x01(\t\"\xe4\x01\n ThermalExynosAcpmBulkFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x17\n\x0fpid_power_range\x18\x06 \x01(\x05\x12\r\n\x05pid_p\x18\x07 \x01(\x05\x12\r\n\x05pid_i\x18\x08 \x01(\x05\x12\x0b\n\x03k_p\x18\t \x01(\x05\x12\x0b\n\x03k_i\x18\n \x01(\x05\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\"\xa2\x01\n(ThermalExynosAcpmHighOverheadFtraceEvent\x12\r\n\x05tz_id\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrent_temp\x18\x02 \x01(\r\x12\x11\n\tctrl_temp\x18\x03 \x01(\r\x12\x12\n\ncdev_state\x18\x04 \x01(\r\x12\x10\n\x08pid_et_p\x18\x05 \x01(\x05\x12\x0b\n\x03k_p\x18\x06 \x01(\x05\x12\x0b\n\x03k_i\x18\x07 \x01(\x05\"p\n\x17HrtimerStartFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x03\x12\x13\n\x0bsoftexpires\x18\x04 \x01(\x03\x12\x0c\n\x04mode\x18\x05 \x01(\r\"+\n\x18HrtimerCancelFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"O\n\x1dHrtimerExpireEntryFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\"/\n\x1cHrtimerExpireExitFtraceEvent\x12\x0f\n\x07hrtimer\x18\x01 \x01(\x04\"\x90\x01\n\x15TimerStartFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x12\n\ndeferrable\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\r\x12\x15\n\rbucket_expiry\x18\x07 \x01(\x04\"\'\n\x16TimerCancelFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"\\\n\x1bTimerExpireEntryFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\x12\x0b\n\x03now\x18\x02 \x01(\x04\x12\x10\n\x08\x66unction\x18\x03 \x01(\x04\x12\x0f\n\x07\x62\x61seclk\x18\x04 \x01(\x04\"+\n\x1aTimerExpireExitFtraceEvent\x12\r\n\x05timer\x18\x01 \x01(\x04\"F\n\x14TrustySmcFtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"\'\n\x18TrustySmcDoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x04\"L\n\x1aTrustyStdCall32FtraceEvent\x12\n\n\x02r0\x18\x01 \x01(\x04\x12\n\n\x02r1\x18\x02 \x01(\x04\x12\n\n\x02r2\x18\x03 \x01(\x04\x12\n\n\x02r3\x18\x04 \x01(\x04\"-\n\x1eTrustyStdCall32DoneFtraceEvent\x12\x0b\n\x03ret\x18\x01 \x01(\x03\"H\n\x1cTrustyShareMemoryFtraceEvent\x12\x0b\n\x03len\x18\x01 \x01(\x04\x12\x0c\n\x04lend\x18\x02 \x01(\r\x12\r\n\x05nents\x18\x03 \x01(\r\"i\n TrustyShareMemoryDoneFtraceEvent\x12\x0e\n\x06handle\x18\x01 \x01(\x04\x12\x0b\n\x03len\x18\x02 \x01(\x04\x12\x0c\n\x04lend\x18\x03 \x01(\r\x12\r\n\x05nents\x18\x04 \x01(\r\x12\x0b\n\x03ret\x18\x05 \x01(\x05\",\n\x1eTrustyReclaimMemoryFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\"=\n\"TrustyReclaimMemoryDoneFtraceEvent\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0b\n\x03ret\x18\x02 \x01(\x05\"#\n\x14TrustyIrqFtraceEvent\x12\x0b\n\x03irq\x18\x01 \x01(\x05\"S\n\x1fTrustyIpcHandleEventFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"H\n\x1bTrustyIpcConnectFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\x05\"J\n\x1eTrustyIpcConnectEndFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x0b\n\x03\x65rr\x18\x02 \x01(\x05\x12\r\n\x05state\x18\x03 \x01(\x05\"\x82\x01\n\x19TrustyIpcWriteFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08kind_shm\x18\x03 \x01(\x05\x12\x12\n\nlen_or_err\x18\x04 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x05 \x01(\x04\x12\x10\n\x08srv_name\x18\x06 \x01(\t\"M\n\x18TrustyIpcPollFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x11\n\tpoll_mask\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\":\n\x18TrustyIpcReadFtraceEvent\x12\x0c\n\x04\x63han\x18\x01 \x01(\r\x12\x10\n\x08srv_name\x18\x02 \x01(\t\"r\n\x1bTrustyIpcReadEndFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x12\n\nlen_or_err\x18\x03 \x01(\x05\x12\x0f\n\x07shm_cnt\x18\x04 \x01(\x04\x12\x10\n\x08srv_name\x18\x05 \x01(\t\"H\n\x16TrustyIpcRxFtraceEvent\x12\x0e\n\x06\x62uf_id\x18\x01 \x01(\x04\x12\x0c\n\x04\x63han\x18\x02 \x01(\r\x12\x10\n\x08srv_name\x18\x03 \x01(\t\"G\n\x1bTrustyEnqueueNopFtraceEvent\x12\x0c\n\x04\x61rg1\x18\x01 \x01(\r\x12\x0c\n\x04\x61rg2\x18\x02 \x01(\r\x12\x0c\n\x04\x61rg3\x18\x03 \x01(\r\"\xba\x01\n\x18UfshcdCommandFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\x10\n\x08\x64oorbell\x18\x02 \x01(\r\x12\x0c\n\x04intr\x18\x03 \x01(\r\x12\x0b\n\x03lba\x18\x04 \x01(\x04\x12\x0e\n\x06opcode\x18\x05 \x01(\r\x12\x0b\n\x03str\x18\x06 \x01(\t\x12\x0b\n\x03tag\x18\x07 \x01(\r\x12\x14\n\x0ctransfer_len\x18\x08 \x01(\x05\x12\x10\n\x08group_id\x18\t \x01(\r\x12\r\n\x05str_t\x18\n \x01(\r\"=\n\x1aUfshcdClkGatingFtraceEvent\x12\x10\n\x08\x64\x65v_name\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\x05\"\x9b\x03\n\x13V4l2QbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\x9c\x03\n\x14V4l2DqbufFtraceEvent\x12\x11\n\tbytesused\x18\x01 \x01(\r\x12\r\n\x05\x66ield\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\r\n\x05index\x18\x04 \x01(\r\x12\r\n\x05minor\x18\x05 \x01(\x05\x12\x10\n\x08sequence\x18\x06 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x07 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x08 \x01(\r\x12\x16\n\x0etimecode_hours\x18\t \x01(\r\x12\x18\n\x10timecode_minutes\x18\n \x01(\r\x12\x18\n\x10timecode_seconds\x18\x0b \x01(\r\x12\x15\n\rtimecode_type\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0e \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\x0f \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x10 \x01(\r\x12\x11\n\ttimestamp\x18\x11 \x01(\x03\x12\x0c\n\x04type\x18\x12 \x01(\r\"\xf2\x02\n\x1aVb2V4l2BufQueueFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xf1\x02\n\x19Vb2V4l2BufDoneFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xee\x02\n\x16Vb2V4l2QbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xef\x02\n\x17Vb2V4l2DqbufFtraceEvent\x12\r\n\x05\x66ield\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\r\n\x05minor\x18\x03 \x01(\x05\x12\x10\n\x08sequence\x18\x04 \x01(\r\x12\x16\n\x0etimecode_flags\x18\x05 \x01(\r\x12\x17\n\x0ftimecode_frames\x18\x06 \x01(\r\x12\x16\n\x0etimecode_hours\x18\x07 \x01(\r\x12\x18\n\x10timecode_minutes\x18\x08 \x01(\r\x12\x18\n\x10timecode_seconds\x18\t \x01(\r\x12\x15\n\rtimecode_type\x18\n \x01(\r\x12\x1a\n\x12timecode_userbits0\x18\x0b \x01(\r\x12\x1a\n\x12timecode_userbits1\x18\x0c \x01(\r\x12\x1a\n\x12timecode_userbits2\x18\r \x01(\r\x12\x1a\n\x12timecode_userbits3\x18\x0e \x01(\r\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\"\xa5\x01\n\x1cVirtioGpuCmdQueueFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"\xa8\x01\n\x1fVirtioGpuCmdResponseFtraceEvent\x12\x0e\n\x06\x63tx_id\x18\x01 \x01(\r\x12\x0b\n\x03\x64\x65v\x18\x02 \x01(\x05\x12\x10\n\x08\x66\x65nce_id\x18\x03 \x01(\x04\x12\r\n\x05\x66lags\x18\x04 \x01(\r\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08num_free\x18\x06 \x01(\r\x12\r\n\x05seqno\x18\x07 \x01(\r\x12\x0c\n\x04type\x18\x08 \x01(\r\x12\n\n\x02vq\x18\t \x01(\r\"<\n\x19VirtioVideoCmdFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"@\n\x1dVirtioVideoCmdDoneFtraceEvent\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\"\xc4\x01\n#VirtioVideoResourceQueueFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"\xc8\x01\n\'VirtioVideoResourceQueueDoneFtraceEvent\x12\x12\n\ndata_size0\x18\x01 \x01(\r\x12\x12\n\ndata_size1\x18\x02 \x01(\r\x12\x12\n\ndata_size2\x18\x03 \x01(\r\x12\x12\n\ndata_size3\x18\x04 \x01(\r\x12\x12\n\nqueue_type\x18\x05 \x01(\r\x12\x13\n\x0bresource_id\x18\x06 \x01(\x05\x12\x11\n\tstream_id\x18\x07 \x01(\x05\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\"`\n%MmVmscanDirectReclaimBeginFtraceEvent\x12\r\n\x05order\x18\x01 \x01(\x05\x12\x15\n\rmay_writepage\x18\x02 \x01(\x05\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\";\n#MmVmscanDirectReclaimEndFtraceEvent\x12\x14\n\x0cnr_reclaimed\x18\x01 \x01(\x04\"H\n\x1dMmVmscanKswapdWakeFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\x12\r\n\x05order\x18\x02 \x01(\x05\x12\x0b\n\x03zid\x18\x03 \x01(\x05\"-\n\x1eMmVmscanKswapdSleepFtraceEvent\x12\x0b\n\x03nid\x18\x01 \x01(\x05\"\xe9\x01\n\x1cMmShrinkSlabStartFtraceEvent\x12\x13\n\x0b\x63\x61\x63he_items\x18\x01 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x04\x12\x11\n\tgfp_flags\x18\x03 \x01(\r\x12\x0f\n\x07lru_pgs\x18\x04 \x01(\x04\x12\x1c\n\x14nr_objects_to_shrink\x18\x05 \x01(\x03\x12\x13\n\x0bpgs_scanned\x18\x06 \x01(\x04\x12\x0b\n\x03shr\x18\x07 \x01(\x04\x12\x0e\n\x06shrink\x18\x08 \x01(\x04\x12\x12\n\ntotal_scan\x18\t \x01(\x04\x12\x0b\n\x03nid\x18\n \x01(\x05\x12\x10\n\x08priority\x18\x0b \x01(\x05\"\x91\x01\n\x1aMmShrinkSlabEndFtraceEvent\x12\x10\n\x08new_scan\x18\x01 \x01(\x03\x12\x0e\n\x06retval\x18\x02 \x01(\x05\x12\x0b\n\x03shr\x18\x03 \x01(\x04\x12\x0e\n\x06shrink\x18\x04 \x01(\x04\x12\x12\n\ntotal_scan\x18\x05 \x01(\x03\x12\x13\n\x0bunused_scan\x18\x06 \x01(\x03\x12\x0b\n\x03nid\x18\x07 \x01(\x05\"0\n WorkqueueActivateWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\"@\n\x1eWorkqueueExecuteEndFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"B\n WorkqueueExecuteStartFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\"p\n\x1dWorkqueueQueueWorkFtraceEvent\x12\x0c\n\x04work\x18\x01 \x01(\x04\x12\x10\n\x08\x66unction\x18\x02 \x01(\x04\x12\x11\n\tworkqueue\x18\x03 \x01(\x04\x12\x0f\n\x07req_cpu\x18\x04 \x01(\r\x12\x0b\n\x03\x63pu\x18\x05 \x01(\r\"\xe7\xde\x02\n\x0b\x46traceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x14\n\x0c\x63ommon_flags\x18\x05 \x01(\r\x12\x32\n\x05print\x18\x03 \x01(\x0b\x32!.perfetto.protos.PrintFtraceEventH\x00\x12?\n\x0csched_switch\x18\x04 \x01(\x0b\x32\'.perfetto.protos.SchedSwitchFtraceEventH\x00\x12\x41\n\rcpu_frequency\x18\x0b \x01(\x0b\x32(.perfetto.protos.CpuFrequencyFtraceEventH\x00\x12N\n\x14\x63pu_frequency_limits\x18\x0c \x01(\x0b\x32..perfetto.protos.CpuFrequencyLimitsFtraceEventH\x00\x12\x37\n\x08\x63pu_idle\x18\r \x01(\x0b\x32#.perfetto.protos.CpuIdleFtraceEventH\x00\x12?\n\x0c\x63lock_enable\x18\x0e \x01(\x0b\x32\'.perfetto.protos.ClockEnableFtraceEventH\x00\x12\x41\n\rclock_disable\x18\x0f \x01(\x0b\x32(.perfetto.protos.ClockDisableFtraceEventH\x00\x12\x42\n\x0e\x63lock_set_rate\x18\x10 \x01(\x0b\x32(.perfetto.protos.ClockSetRateFtraceEventH\x00\x12?\n\x0csched_wakeup\x18\x11 \x01(\x0b\x32\'.perfetto.protos.SchedWakeupFtraceEventH\x00\x12N\n\x14sched_blocked_reason\x18\x12 \x01(\x0b\x32..perfetto.protos.SchedBlockedReasonFtraceEventH\x00\x12H\n\x11sched_cpu_hotplug\x18\x13 \x01(\x0b\x32+.perfetto.protos.SchedCpuHotplugFtraceEventH\x00\x12?\n\x0csched_waking\x18\x14 \x01(\x0b\x32\'.perfetto.protos.SchedWakingFtraceEventH\x00\x12\x39\n\tipi_entry\x18\x15 \x01(\x0b\x32$.perfetto.protos.IpiEntryFtraceEventH\x00\x12\x37\n\x08ipi_exit\x18\x16 \x01(\x0b\x32#.perfetto.protos.IpiExitFtraceEventH\x00\x12\x39\n\tipi_raise\x18\x17 \x01(\x0b\x32$.perfetto.protos.IpiRaiseFtraceEventH\x00\x12\x41\n\rsoftirq_entry\x18\x18 \x01(\x0b\x32(.perfetto.protos.SoftirqEntryFtraceEventH\x00\x12?\n\x0csoftirq_exit\x18\x19 \x01(\x0b\x32\'.perfetto.protos.SoftirqExitFtraceEventH\x00\x12\x41\n\rsoftirq_raise\x18\x1a \x01(\x0b\x32(.perfetto.protos.SoftirqRaiseFtraceEventH\x00\x12\x37\n\x08i2c_read\x18\x1b \x01(\x0b\x32#.perfetto.protos.I2cReadFtraceEventH\x00\x12\x39\n\ti2c_write\x18\x1c \x01(\x0b\x32$.perfetto.protos.I2cWriteFtraceEventH\x00\x12;\n\ni2c_result\x18\x1d \x01(\x0b\x32%.perfetto.protos.I2cResultFtraceEventH\x00\x12\x39\n\ti2c_reply\x18\x1e \x01(\x0b\x32$.perfetto.protos.I2cReplyFtraceEventH\x00\x12;\n\nsmbus_read\x18\x1f \x01(\x0b\x32%.perfetto.protos.SmbusReadFtraceEventH\x00\x12=\n\x0bsmbus_write\x18 \x01(\x0b\x32&.perfetto.protos.SmbusWriteFtraceEventH\x00\x12?\n\x0csmbus_result\x18! \x01(\x0b\x32\'.perfetto.protos.SmbusResultFtraceEventH\x00\x12=\n\x0bsmbus_reply\x18\" \x01(\x0b\x32&.perfetto.protos.SmbusReplyFtraceEventH\x00\x12\x43\n\x0elowmemory_kill\x18# \x01(\x0b\x32).perfetto.protos.LowmemoryKillFtraceEventH\x00\x12H\n\x11irq_handler_entry\x18$ \x01(\x0b\x32+.perfetto.protos.IrqHandlerEntryFtraceEventH\x00\x12\x46\n\x10irq_handler_exit\x18% \x01(\x0b\x32*.perfetto.protos.IrqHandlerExitFtraceEventH\x00\x12\x35\n\x07sync_pt\x18& \x01(\x0b\x32\".perfetto.protos.SyncPtFtraceEventH\x00\x12\x41\n\rsync_timeline\x18\' \x01(\x0b\x32(.perfetto.protos.SyncTimelineFtraceEventH\x00\x12\x39\n\tsync_wait\x18( \x01(\x0b\x32$.perfetto.protos.SyncWaitFtraceEventH\x00\x12K\n\x13\x65xt4_da_write_begin\x18) \x01(\x0b\x32,.perfetto.protos.Ext4DaWriteBeginFtraceEventH\x00\x12G\n\x11\x65xt4_da_write_end\x18* \x01(\x0b\x32*.perfetto.protos.Ext4DaWriteEndFtraceEventH\x00\x12M\n\x14\x65xt4_sync_file_enter\x18+ \x01(\x0b\x32-.perfetto.protos.Ext4SyncFileEnterFtraceEventH\x00\x12K\n\x13\x65xt4_sync_file_exit\x18, \x01(\x0b\x32,.perfetto.protos.Ext4SyncFileExitFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_issue\x18- \x01(\x0b\x32(.perfetto.protos.BlockRqIssueFtraceEventH\x00\x12`\n\x1emm_vmscan_direct_reclaim_begin\x18. \x01(\x0b\x32\x36.perfetto.protos.MmVmscanDirectReclaimBeginFtraceEventH\x00\x12\\\n\x1cmm_vmscan_direct_reclaim_end\x18/ \x01(\x0b\x32\x34.perfetto.protos.MmVmscanDirectReclaimEndFtraceEventH\x00\x12O\n\x15mm_vmscan_kswapd_wake\x18\x30 \x01(\x0b\x32..perfetto.protos.MmVmscanKswapdWakeFtraceEventH\x00\x12Q\n\x16mm_vmscan_kswapd_sleep\x18\x31 \x01(\x0b\x32/.perfetto.protos.MmVmscanKswapdSleepFtraceEventH\x00\x12K\n\x12\x62inder_transaction\x18\x32 \x01(\x0b\x32-.perfetto.protos.BinderTransactionFtraceEventH\x00\x12\\\n\x1b\x62inder_transaction_received\x18\x33 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionReceivedFtraceEventH\x00\x12L\n\x13\x62inder_set_priority\x18\x34 \x01(\x0b\x32-.perfetto.protos.BinderSetPriorityFtraceEventH\x00\x12=\n\x0b\x62inder_lock\x18\x35 \x01(\x0b\x32&.perfetto.protos.BinderLockFtraceEventH\x00\x12\x41\n\rbinder_locked\x18\x36 \x01(\x0b\x32(.perfetto.protos.BinderLockedFtraceEventH\x00\x12\x41\n\rbinder_unlock\x18\x37 \x01(\x0b\x32(.perfetto.protos.BinderUnlockFtraceEventH\x00\x12T\n\x17workqueue_activate_work\x18\x38 \x01(\x0b\x32\x31.perfetto.protos.WorkqueueActivateWorkFtraceEventH\x00\x12P\n\x15workqueue_execute_end\x18\x39 \x01(\x0b\x32/.perfetto.protos.WorkqueueExecuteEndFtraceEventH\x00\x12T\n\x17workqueue_execute_start\x18: \x01(\x0b\x32\x31.perfetto.protos.WorkqueueExecuteStartFtraceEventH\x00\x12N\n\x14workqueue_queue_work\x18; \x01(\x0b\x32..perfetto.protos.WorkqueueQueueWorkFtraceEventH\x00\x12I\n\x11regulator_disable\x18< \x01(\x0b\x32,.perfetto.protos.RegulatorDisableFtraceEventH\x00\x12Z\n\x1aregulator_disable_complete\x18= \x01(\x0b\x32\x34.perfetto.protos.RegulatorDisableCompleteFtraceEventH\x00\x12G\n\x10regulator_enable\x18> \x01(\x0b\x32+.perfetto.protos.RegulatorEnableFtraceEventH\x00\x12X\n\x19regulator_enable_complete\x18? \x01(\x0b\x32\x33.perfetto.protos.RegulatorEnableCompleteFtraceEventH\x00\x12R\n\x16regulator_enable_delay\x18@ \x01(\x0b\x32\x30.perfetto.protos.RegulatorEnableDelayFtraceEventH\x00\x12P\n\x15regulator_set_voltage\x18\x41 \x01(\x0b\x32/.perfetto.protos.RegulatorSetVoltageFtraceEventH\x00\x12\x61\n\x1eregulator_set_voltage_complete\x18\x42 \x01(\x0b\x32\x37.perfetto.protos.RegulatorSetVoltageCompleteFtraceEventH\x00\x12J\n\x12\x63group_attach_task\x18\x43 \x01(\x0b\x32,.perfetto.protos.CgroupAttachTaskFtraceEventH\x00\x12?\n\x0c\x63group_mkdir\x18\x44 \x01(\x0b\x32\'.perfetto.protos.CgroupMkdirFtraceEventH\x00\x12\x43\n\x0e\x63group_remount\x18\x45 \x01(\x0b\x32).perfetto.protos.CgroupRemountFtraceEventH\x00\x12?\n\x0c\x63group_rmdir\x18\x46 \x01(\x0b\x32\'.perfetto.protos.CgroupRmdirFtraceEventH\x00\x12P\n\x15\x63group_transfer_tasks\x18G \x01(\x0b\x32/.perfetto.protos.CgroupTransferTasksFtraceEventH\x00\x12L\n\x13\x63group_destroy_root\x18H \x01(\x0b\x32-.perfetto.protos.CgroupDestroyRootFtraceEventH\x00\x12\x43\n\x0e\x63group_release\x18I \x01(\x0b\x32).perfetto.protos.CgroupReleaseFtraceEventH\x00\x12\x41\n\rcgroup_rename\x18J \x01(\x0b\x32(.perfetto.protos.CgroupRenameFtraceEventH\x00\x12H\n\x11\x63group_setup_root\x18K \x01(\x0b\x32+.perfetto.protos.CgroupSetupRootFtraceEventH\x00\x12\x44\n\x0fmdp_cmd_kickoff\x18L \x01(\x0b\x32).perfetto.protos.MdpCmdKickoffFtraceEventH\x00\x12;\n\nmdp_commit\x18M \x01(\x0b\x32%.perfetto.protos.MdpCommitFtraceEventH\x00\x12\x43\n\x0fmdp_perf_set_ot\x18N \x01(\x0b\x32(.perfetto.protos.MdpPerfSetOtFtraceEventH\x00\x12\x44\n\x0fmdp_sspp_change\x18O \x01(\x0b\x32).perfetto.protos.MdpSsppChangeFtraceEventH\x00\x12J\n\x12tracing_mark_write\x18P \x01(\x0b\x32,.perfetto.protos.TracingMarkWriteFtraceEventH\x00\x12O\n\x15mdp_cmd_pingpong_done\x18Q \x01(\x0b\x32..perfetto.protos.MdpCmdPingpongDoneFtraceEventH\x00\x12\x42\n\x0emdp_compare_bw\x18R \x01(\x0b\x32(.perfetto.protos.MdpCompareBwFtraceEventH\x00\x12R\n\x17mdp_perf_set_panic_luts\x18S \x01(\x0b\x32/.perfetto.protos.MdpPerfSetPanicLutsFtraceEventH\x00\x12>\n\x0cmdp_sspp_set\x18T \x01(\x0b\x32&.perfetto.protos.MdpSsppSetFtraceEventH\x00\x12M\n\x14mdp_cmd_readptr_done\x18U \x01(\x0b\x32-.perfetto.protos.MdpCmdReadptrDoneFtraceEventH\x00\x12>\n\x0cmdp_misr_crc\x18V \x01(\x0b\x32&.perfetto.protos.MdpMisrCrcFtraceEventH\x00\x12N\n\x15mdp_perf_set_qos_luts\x18W \x01(\x0b\x32-.perfetto.protos.MdpPerfSetQosLutsFtraceEventH\x00\x12H\n\x11mdp_trace_counter\x18X \x01(\x0b\x32+.perfetto.protos.MdpTraceCounterFtraceEventH\x00\x12I\n\x12mdp_cmd_release_bw\x18Y \x01(\x0b\x32+.perfetto.protos.MdpCmdReleaseBwFtraceEventH\x00\x12\x46\n\x10mdp_mixer_update\x18Z \x01(\x0b\x32*.perfetto.protos.MdpMixerUpdateFtraceEventH\x00\x12P\n\x16mdp_perf_set_wm_levels\x18[ \x01(\x0b\x32..perfetto.protos.MdpPerfSetWmLevelsFtraceEventH\x00\x12S\n\x17mdp_video_underrun_done\x18\\ \x01(\x0b\x32\x30.perfetto.protos.MdpVideoUnderrunDoneFtraceEventH\x00\x12O\n\x15mdp_cmd_wait_pingpong\x18] \x01(\x0b\x32..perfetto.protos.MdpCmdWaitPingpongFtraceEventH\x00\x12O\n\x15mdp_perf_prefill_calc\x18^ \x01(\x0b\x32..perfetto.protos.MdpPerfPrefillCalcFtraceEventH\x00\x12K\n\x13mdp_perf_update_bus\x18_ \x01(\x0b\x32,.perfetto.protos.MdpPerfUpdateBusFtraceEventH\x00\x12T\n\x18rotator_bw_ao_as_context\x18` \x01(\x0b\x32\x30.perfetto.protos.RotatorBwAoAsContextFtraceEventH\x00\x12[\n\x1cmm_filemap_add_to_page_cache\x18\x61 \x01(\x0b\x32\x33.perfetto.protos.MmFilemapAddToPageCacheFtraceEventH\x00\x12\x65\n!mm_filemap_delete_from_page_cache\x18\x62 \x01(\x0b\x32\x38.perfetto.protos.MmFilemapDeleteFromPageCacheFtraceEventH\x00\x12L\n\x13mm_compaction_begin\x18\x63 \x01(\x0b\x32-.perfetto.protos.MmCompactionBeginFtraceEventH\x00\x12\x61\n\x1emm_compaction_defer_compaction\x18\x64 \x01(\x0b\x32\x37.perfetto.protos.MmCompactionDeferCompactionFtraceEventH\x00\x12R\n\x16mm_compaction_deferred\x18\x65 \x01(\x0b\x32\x30.perfetto.protos.MmCompactionDeferredFtraceEventH\x00\x12W\n\x19mm_compaction_defer_reset\x18\x66 \x01(\x0b\x32\x32.perfetto.protos.MmCompactionDeferResetFtraceEventH\x00\x12H\n\x11mm_compaction_end\x18g \x01(\x0b\x32+.perfetto.protos.MmCompactionEndFtraceEventH\x00\x12R\n\x16mm_compaction_finished\x18h \x01(\x0b\x32\x30.perfetto.protos.MmCompactionFinishedFtraceEventH\x00\x12\x63\n\x1fmm_compaction_isolate_freepages\x18i \x01(\x0b\x32\x38.perfetto.protos.MmCompactionIsolateFreepagesFtraceEventH\x00\x12i\n\"mm_compaction_isolate_migratepages\x18j \x01(\x0b\x32;.perfetto.protos.MmCompactionIsolateMigratepagesFtraceEventH\x00\x12_\n\x1dmm_compaction_kcompactd_sleep\x18k \x01(\x0b\x32\x36.perfetto.protos.MmCompactionKcompactdSleepFtraceEventH\x00\x12]\n\x1cmm_compaction_kcompactd_wake\x18l \x01(\x0b\x32\x35.perfetto.protos.MmCompactionKcompactdWakeFtraceEventH\x00\x12Z\n\x1amm_compaction_migratepages\x18m \x01(\x0b\x32\x34.perfetto.protos.MmCompactionMigratepagesFtraceEventH\x00\x12R\n\x16mm_compaction_suitable\x18n \x01(\x0b\x32\x30.perfetto.protos.MmCompactionSuitableFtraceEventH\x00\x12g\n\"mm_compaction_try_to_compact_pages\x18o \x01(\x0b\x32\x39.perfetto.protos.MmCompactionTryToCompactPagesFtraceEventH\x00\x12\x61\n\x1emm_compaction_wakeup_kcompactd\x18p \x01(\x0b\x32\x37.perfetto.protos.MmCompactionWakeupKcompactdFtraceEventH\x00\x12\x43\n\x0esuspend_resume\x18q \x01(\x0b\x32).perfetto.protos.SuspendResumeFtraceEventH\x00\x12\x46\n\x10sched_wakeup_new\x18r \x01(\x0b\x32*.perfetto.protos.SchedWakeupNewFtraceEventH\x00\x12L\n\x13\x62lock_bio_backmerge\x18s \x01(\x0b\x32-.perfetto.protos.BlockBioBackmergeFtraceEventH\x00\x12\x46\n\x10\x62lock_bio_bounce\x18t \x01(\x0b\x32*.perfetto.protos.BlockBioBounceFtraceEventH\x00\x12J\n\x12\x62lock_bio_complete\x18u \x01(\x0b\x32,.perfetto.protos.BlockBioCompleteFtraceEventH\x00\x12N\n\x14\x62lock_bio_frontmerge\x18v \x01(\x0b\x32..perfetto.protos.BlockBioFrontmergeFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_queue\x18w \x01(\x0b\x32).perfetto.protos.BlockBioQueueFtraceEventH\x00\x12\x44\n\x0f\x62lock_bio_remap\x18x \x01(\x0b\x32).perfetto.protos.BlockBioRemapFtraceEventH\x00\x12J\n\x12\x62lock_dirty_buffer\x18y \x01(\x0b\x32,.perfetto.protos.BlockDirtyBufferFtraceEventH\x00\x12=\n\x0b\x62lock_getrq\x18z \x01(\x0b\x32&.perfetto.protos.BlockGetrqFtraceEventH\x00\x12;\n\nblock_plug\x18{ \x01(\x0b\x32%.perfetto.protos.BlockPlugFtraceEventH\x00\x12\x42\n\x0e\x62lock_rq_abort\x18| \x01(\x0b\x32(.perfetto.protos.BlockRqAbortFtraceEventH\x00\x12H\n\x11\x62lock_rq_complete\x18} \x01(\x0b\x32+.perfetto.protos.BlockRqCompleteFtraceEventH\x00\x12\x44\n\x0f\x62lock_rq_insert\x18~ \x01(\x0b\x32).perfetto.protos.BlockRqInsertFtraceEventH\x00\x12\x43\n\x0e\x62lock_rq_remap\x18\x80\x01 \x01(\x0b\x32(.perfetto.protos.BlockRqRemapFtraceEventH\x00\x12G\n\x10\x62lock_rq_requeue\x18\x81\x01 \x01(\x0b\x32*.perfetto.protos.BlockRqRequeueFtraceEventH\x00\x12\x42\n\rblock_sleeprq\x18\x82\x01 \x01(\x0b\x32(.perfetto.protos.BlockSleeprqFtraceEventH\x00\x12>\n\x0b\x62lock_split\x18\x83\x01 \x01(\x0b\x32&.perfetto.protos.BlockSplitFtraceEventH\x00\x12K\n\x12\x62lock_touch_buffer\x18\x84\x01 \x01(\x0b\x32,.perfetto.protos.BlockTouchBufferFtraceEventH\x00\x12@\n\x0c\x62lock_unplug\x18\x85\x01 \x01(\x0b\x32\'.perfetto.protos.BlockUnplugFtraceEventH\x00\x12N\n\x14\x65xt4_alloc_da_blocks\x18\x86\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocDaBlocksFtraceEventH\x00\x12O\n\x14\x65xt4_allocate_blocks\x18\x87\x01 \x01(\x0b\x32..perfetto.protos.Ext4AllocateBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_allocate_inode\x18\x88\x01 \x01(\x0b\x32-.perfetto.protos.Ext4AllocateInodeFtraceEventH\x00\x12\\\n\x1b\x65xt4_begin_ordered_truncate\x18\x89\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4BeginOrderedTruncateFtraceEventH\x00\x12M\n\x13\x65xt4_collapse_range\x18\x8a\x01 \x01(\x0b\x32-.perfetto.protos.Ext4CollapseRangeFtraceEventH\x00\x12P\n\x15\x65xt4_da_release_space\x18\x8b\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReleaseSpaceFtraceEventH\x00\x12P\n\x15\x65xt4_da_reserve_space\x18\x8c\x01 \x01(\x0b\x32..perfetto.protos.Ext4DaReserveSpaceFtraceEventH\x00\x12]\n\x1c\x65xt4_da_update_reserve_space\x18\x8d\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4DaUpdateReserveSpaceFtraceEventH\x00\x12L\n\x13\x65xt4_da_write_pages\x18\x8e\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DaWritePagesFtraceEventH\x00\x12Y\n\x1a\x65xt4_da_write_pages_extent\x18\x8f\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4DaWritePagesExtentFtraceEventH\x00\x12N\n\x14\x65xt4_direct_IO_enter\x18\x90\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DirectIOEnterFtraceEventH\x00\x12L\n\x13\x65xt4_direct_IO_exit\x18\x91\x01 \x01(\x0b\x32,.perfetto.protos.Ext4DirectIOExitFtraceEventH\x00\x12M\n\x13\x65xt4_discard_blocks\x18\x92\x01 \x01(\x0b\x32-.perfetto.protos.Ext4DiscardBlocksFtraceEventH\x00\x12]\n\x1b\x65xt4_discard_preallocations\x18\x93\x01 \x01(\x0b\x32\x35.perfetto.protos.Ext4DiscardPreallocationsFtraceEventH\x00\x12\x45\n\x0f\x65xt4_drop_inode\x18\x94\x01 \x01(\x0b\x32).perfetto.protos.Ext4DropInodeFtraceEventH\x00\x12N\n\x14\x65xt4_es_cache_extent\x18\x95\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsCacheExtentFtraceEventH\x00\x12q\n\'ext4_es_find_delayed_extent_range_enter\x18\x96\x01 \x01(\x0b\x32=.perfetto.protos.Ext4EsFindDelayedExtentRangeEnterFtraceEventH\x00\x12o\n&ext4_es_find_delayed_extent_range_exit\x18\x97\x01 \x01(\x0b\x32<.perfetto.protos.Ext4EsFindDelayedExtentRangeExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_insert_extent\x18\x98\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsInsertExtentFtraceEventH\x00\x12[\n\x1b\x65xt4_es_lookup_extent_enter\x18\x99\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4EsLookupExtentEnterFtraceEventH\x00\x12Y\n\x1a\x65xt4_es_lookup_extent_exit\x18\x9a\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4EsLookupExtentExitFtraceEventH\x00\x12P\n\x15\x65xt4_es_remove_extent\x18\x9b\x01 \x01(\x0b\x32..perfetto.protos.Ext4EsRemoveExtentFtraceEventH\x00\x12\x43\n\x0e\x65xt4_es_shrink\x18\x9c\x01 \x01(\x0b\x32(.perfetto.protos.Ext4EsShrinkFtraceEventH\x00\x12N\n\x14\x65xt4_es_shrink_count\x18\x9d\x01 \x01(\x0b\x32-.perfetto.protos.Ext4EsShrinkCountFtraceEventH\x00\x12W\n\x19\x65xt4_es_shrink_scan_enter\x18\x9e\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4EsShrinkScanEnterFtraceEventH\x00\x12U\n\x18\x65xt4_es_shrink_scan_exit\x18\x9f\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4EsShrinkScanExitFtraceEventH\x00\x12G\n\x10\x65xt4_evict_inode\x18\xa0\x01 \x01(\x0b\x32*.perfetto.protos.Ext4EvictInodeFtraceEventH\x00\x12n\n%ext4_ext_convert_to_initialized_enter\x18\xa1\x01 \x01(\x0b\x32<.perfetto.protos.Ext4ExtConvertToInitializedEnterFtraceEventH\x00\x12t\n(ext4_ext_convert_to_initialized_fastpath\x18\xa2\x01 \x01(\x0b\x32?.perfetto.protos.Ext4ExtConvertToInitializedFastpathFtraceEventH\x00\x12g\n!ext4_ext_handle_unwritten_extents\x18\xa3\x01 \x01(\x0b\x32\x39.perfetto.protos.Ext4ExtHandleUnwrittenExtentsFtraceEventH\x00\x12H\n\x11\x65xt4_ext_in_cache\x18\xa4\x01 \x01(\x0b\x32*.perfetto.protos.Ext4ExtInCacheFtraceEventH\x00\x12N\n\x14\x65xt4_ext_load_extent\x18\xa5\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtLoadExtentFtraceEventH\x00\x12W\n\x19\x65xt4_ext_map_blocks_enter\x18\xa6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4ExtMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ext_map_blocks_exit\x18\xa7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4ExtMapBlocksExitFtraceEventH\x00\x12O\n\x15\x65xt4_ext_put_in_cache\x18\xa8\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtPutInCacheFtraceEventH\x00\x12P\n\x15\x65xt4_ext_remove_space\x18\xa9\x01 \x01(\x0b\x32..perfetto.protos.Ext4ExtRemoveSpaceFtraceEventH\x00\x12Y\n\x1a\x65xt4_ext_remove_space_done\x18\xaa\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4ExtRemoveSpaceDoneFtraceEventH\x00\x12\x44\n\x0f\x65xt4_ext_rm_idx\x18\xab\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ExtRmIdxFtraceEventH\x00\x12\x46\n\x10\x65xt4_ext_rm_leaf\x18\xac\x01 \x01(\x0b\x32).perfetto.protos.Ext4ExtRmLeafFtraceEventH\x00\x12N\n\x14\x65xt4_ext_show_extent\x18\xad\x01 \x01(\x0b\x32-.perfetto.protos.Ext4ExtShowExtentFtraceEventH\x00\x12O\n\x14\x65xt4_fallocate_enter\x18\xae\x01 \x01(\x0b\x32..perfetto.protos.Ext4FallocateEnterFtraceEventH\x00\x12M\n\x13\x65xt4_fallocate_exit\x18\xaf\x01 \x01(\x0b\x32-.perfetto.protos.Ext4FallocateExitFtraceEventH\x00\x12V\n\x18\x65xt4_find_delalloc_range\x18\xb0\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4FindDelallocRangeFtraceEventH\x00\x12>\n\x0b\x65xt4_forget\x18\xb1\x01 \x01(\x0b\x32&.perfetto.protos.Ext4ForgetFtraceEventH\x00\x12G\n\x10\x65xt4_free_blocks\x18\xb2\x01 \x01(\x0b\x32*.perfetto.protos.Ext4FreeBlocksFtraceEventH\x00\x12\x45\n\x0f\x65xt4_free_inode\x18\xb3\x01 \x01(\x0b\x32).perfetto.protos.Ext4FreeInodeFtraceEventH\x00\x12j\n#ext4_get_implied_cluster_alloc_exit\x18\xb4\x01 \x01(\x0b\x32:.perfetto.protos.Ext4GetImpliedClusterAllocExitFtraceEventH\x00\x12\x63\n\x1f\x65xt4_get_reserved_cluster_alloc\x18\xb5\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4GetReservedClusterAllocFtraceEventH\x00\x12W\n\x19\x65xt4_ind_map_blocks_enter\x18\xb6\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4IndMapBlocksEnterFtraceEventH\x00\x12U\n\x18\x65xt4_ind_map_blocks_exit\x18\xb7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4IndMapBlocksExitFtraceEventH\x00\x12I\n\x11\x65xt4_insert_range\x18\xb8\x01 \x01(\x0b\x32+.perfetto.protos.Ext4InsertRangeFtraceEventH\x00\x12N\n\x13\x65xt4_invalidatepage\x18\xb9\x01 \x01(\x0b\x32..perfetto.protos.Ext4InvalidatepageFtraceEventH\x00\x12K\n\x12\x65xt4_journal_start\x18\xba\x01 \x01(\x0b\x32,.perfetto.protos.Ext4JournalStartFtraceEventH\x00\x12\\\n\x1b\x65xt4_journal_start_reserved\x18\xbb\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4JournalStartReservedFtraceEventH\x00\x12\x63\n\x1e\x65xt4_journalled_invalidatepage\x18\xbc\x01 \x01(\x0b\x32\x38.perfetto.protos.Ext4JournalledInvalidatepageFtraceEventH\x00\x12X\n\x19\x65xt4_journalled_write_end\x18\xbd\x01 \x01(\x0b\x32\x32.perfetto.protos.Ext4JournalledWriteEndFtraceEventH\x00\x12\x45\n\x0f\x65xt4_load_inode\x18\xbe\x01 \x01(\x0b\x32).perfetto.protos.Ext4LoadInodeFtraceEventH\x00\x12R\n\x16\x65xt4_load_inode_bitmap\x18\xbf\x01 \x01(\x0b\x32/.perfetto.protos.Ext4LoadInodeBitmapFtraceEventH\x00\x12P\n\x15\x65xt4_mark_inode_dirty\x18\xc0\x01 \x01(\x0b\x32..perfetto.protos.Ext4MarkInodeDirtyFtraceEventH\x00\x12L\n\x13\x65xt4_mb_bitmap_load\x18\xc1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbBitmapLoadFtraceEventH\x00\x12W\n\x19\x65xt4_mb_buddy_bitmap_load\x18\xc2\x01 \x01(\x0b\x32\x31.perfetto.protos.Ext4MbBuddyBitmapLoadFtraceEventH\x00\x12\x62\n\x1e\x65xt4_mb_discard_preallocations\x18\xc3\x01 \x01(\x0b\x32\x37.perfetto.protos.Ext4MbDiscardPreallocationsFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_group_pa\x18\xc4\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewGroupPaFtraceEventH\x00\x12M\n\x14\x65xt4_mb_new_inode_pa\x18\xc5\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MbNewInodePaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_group_pa\x18\xc6\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseGroupPaFtraceEventH\x00\x12U\n\x18\x65xt4_mb_release_inode_pa\x18\xc7\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4MbReleaseInodePaFtraceEventH\x00\x12K\n\x12\x65xt4_mballoc_alloc\x18\xc8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4MballocAllocFtraceEventH\x00\x12O\n\x14\x65xt4_mballoc_discard\x18\xc9\x01 \x01(\x0b\x32..perfetto.protos.Ext4MballocDiscardFtraceEventH\x00\x12I\n\x11\x65xt4_mballoc_free\x18\xca\x01 \x01(\x0b\x32+.perfetto.protos.Ext4MballocFreeFtraceEventH\x00\x12Q\n\x15\x65xt4_mballoc_prealloc\x18\xcb\x01 \x01(\x0b\x32/.perfetto.protos.Ext4MballocPreallocFtraceEventH\x00\x12]\n\x1c\x65xt4_other_inode_update_time\x18\xcc\x01 \x01(\x0b\x32\x34.perfetto.protos.Ext4OtherInodeUpdateTimeFtraceEventH\x00\x12\x45\n\x0f\x65xt4_punch_hole\x18\xcd\x01 \x01(\x0b\x32).perfetto.protos.Ext4PunchHoleFtraceEventH\x00\x12[\n\x1b\x65xt4_read_block_bitmap_load\x18\xce\x01 \x01(\x0b\x32\x33.perfetto.protos.Ext4ReadBlockBitmapLoadFtraceEventH\x00\x12\x42\n\rext4_readpage\x18\xcf\x01 \x01(\x0b\x32(.perfetto.protos.Ext4ReadpageFtraceEventH\x00\x12H\n\x10\x65xt4_releasepage\x18\xd0\x01 \x01(\x0b\x32+.perfetto.protos.Ext4ReleasepageFtraceEventH\x00\x12K\n\x12\x65xt4_remove_blocks\x18\xd1\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RemoveBlocksFtraceEventH\x00\x12M\n\x13\x65xt4_request_blocks\x18\xd2\x01 \x01(\x0b\x32-.perfetto.protos.Ext4RequestBlocksFtraceEventH\x00\x12K\n\x12\x65xt4_request_inode\x18\xd3\x01 \x01(\x0b\x32,.perfetto.protos.Ext4RequestInodeFtraceEventH\x00\x12?\n\x0c\x65xt4_sync_fs\x18\xd4\x01 \x01(\x0b\x32&.perfetto.protos.Ext4SyncFsFtraceEventH\x00\x12J\n\x12\x65xt4_trim_all_free\x18\xd5\x01 \x01(\x0b\x32+.perfetto.protos.Ext4TrimAllFreeFtraceEventH\x00\x12G\n\x10\x65xt4_trim_extent\x18\xd6\x01 \x01(\x0b\x32*.perfetto.protos.Ext4TrimExtentFtraceEventH\x00\x12M\n\x13\x65xt4_truncate_enter\x18\xd7\x01 \x01(\x0b\x32-.perfetto.protos.Ext4TruncateEnterFtraceEventH\x00\x12K\n\x12\x65xt4_truncate_exit\x18\xd8\x01 \x01(\x0b\x32,.perfetto.protos.Ext4TruncateExitFtraceEventH\x00\x12I\n\x11\x65xt4_unlink_enter\x18\xd9\x01 \x01(\x0b\x32+.perfetto.protos.Ext4UnlinkEnterFtraceEventH\x00\x12G\n\x10\x65xt4_unlink_exit\x18\xda\x01 \x01(\x0b\x32*.perfetto.protos.Ext4UnlinkExitFtraceEventH\x00\x12G\n\x10\x65xt4_write_begin\x18\xdb\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WriteBeginFtraceEventH\x00\x12\x43\n\x0e\x65xt4_write_end\x18\xe6\x01 \x01(\x0b\x32(.perfetto.protos.Ext4WriteEndFtraceEventH\x00\x12\x44\n\x0e\x65xt4_writepage\x18\xe7\x01 \x01(\x0b\x32).perfetto.protos.Ext4WritepageFtraceEventH\x00\x12\x46\n\x0f\x65xt4_writepages\x18\xe8\x01 \x01(\x0b\x32*.perfetto.protos.Ext4WritepagesFtraceEventH\x00\x12S\n\x16\x65xt4_writepages_result\x18\xe9\x01 \x01(\x0b\x32\x30.perfetto.protos.Ext4WritepagesResultFtraceEventH\x00\x12\x45\n\x0f\x65xt4_zero_range\x18\xea\x01 \x01(\x0b\x32).perfetto.protos.Ext4ZeroRangeFtraceEventH\x00\x12@\n\x0ctask_newtask\x18\xeb\x01 \x01(\x0b\x32\'.perfetto.protos.TaskNewtaskFtraceEventH\x00\x12>\n\x0btask_rename\x18\xec\x01 \x01(\x0b\x32&.perfetto.protos.TaskRenameFtraceEventH\x00\x12K\n\x12sched_process_exec\x18\xed\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExecFtraceEventH\x00\x12K\n\x12sched_process_exit\x18\xee\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessExitFtraceEventH\x00\x12K\n\x12sched_process_fork\x18\xef\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessForkFtraceEventH\x00\x12K\n\x12sched_process_free\x18\xf0\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessFreeFtraceEventH\x00\x12K\n\x12sched_process_hang\x18\xf1\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessHangFtraceEventH\x00\x12K\n\x12sched_process_wait\x18\xf2\x01 \x01(\x0b\x32,.perfetto.protos.SchedProcessWaitFtraceEventH\x00\x12J\n\x12\x66\x32\x66s_do_submit_bio\x18\xf3\x01 \x01(\x0b\x32+.perfetto.protos.F2fsDoSubmitBioFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_evict_inode\x18\xf4\x01 \x01(\x0b\x32*.perfetto.protos.F2fsEvictInodeFtraceEventH\x00\x12\x44\n\x0e\x66\x32\x66s_fallocate\x18\xf5\x01 \x01(\x0b\x32).perfetto.protos.F2fsFallocateFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_get_data_block\x18\xf6\x01 \x01(\x0b\x32,.perfetto.protos.F2fsGetDataBlockFtraceEventH\x00\x12\x45\n\x0f\x66\x32\x66s_get_victim\x18\xf7\x01 \x01(\x0b\x32).perfetto.protos.F2fsGetVictimFtraceEventH\x00\x12:\n\tf2fs_iget\x18\xf8\x01 \x01(\x0b\x32$.perfetto.protos.F2fsIgetFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_iget_exit\x18\xf9\x01 \x01(\x0b\x32(.perfetto.protos.F2fsIgetExitFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_new_inode\x18\xfa\x01 \x01(\x0b\x32(.perfetto.protos.F2fsNewInodeFtraceEventH\x00\x12\x42\n\rf2fs_readpage\x18\xfb\x01 \x01(\x0b\x32(.perfetto.protos.F2fsReadpageFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_reserve_new_block\x18\xfc\x01 \x01(\x0b\x32/.perfetto.protos.F2fsReserveNewBlockFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_set_page_dirty\x18\xfd\x01 \x01(\x0b\x32,.perfetto.protos.F2fsSetPageDirtyFtraceEventH\x00\x12R\n\x16\x66\x32\x66s_submit_write_page\x18\xfe\x01 \x01(\x0b\x32/.perfetto.protos.F2fsSubmitWritePageFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_sync_file_enter\x18\xff\x01 \x01(\x0b\x32-.perfetto.protos.F2fsSyncFileEnterFtraceEventH\x00\x12L\n\x13\x66\x32\x66s_sync_file_exit\x18\x80\x02 \x01(\x0b\x32,.perfetto.protos.F2fsSyncFileExitFtraceEventH\x00\x12?\n\x0c\x66\x32\x66s_sync_fs\x18\x81\x02 \x01(\x0b\x32&.perfetto.protos.F2fsSyncFsFtraceEventH\x00\x12\x42\n\rf2fs_truncate\x18\x82\x02 \x01(\x0b\x32(.perfetto.protos.F2fsTruncateFtraceEventH\x00\x12Z\n\x1a\x66\x32\x66s_truncate_blocks_enter\x18\x83\x02 \x01(\x0b\x32\x33.perfetto.protos.F2fsTruncateBlocksEnterFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_blocks_exit\x18\x84\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateBlocksExitFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_data_blocks_range\x18\x85\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateDataBlocksRangeFtraceEventH\x00\x12\x65\n f2fs_truncate_inode_blocks_enter\x18\x86\x02 \x01(\x0b\x32\x38.perfetto.protos.F2fsTruncateInodeBlocksEnterFtraceEventH\x00\x12\x63\n\x1f\x66\x32\x66s_truncate_inode_blocks_exit\x18\x87\x02 \x01(\x0b\x32\x37.perfetto.protos.F2fsTruncateInodeBlocksExitFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_truncate_node\x18\x88\x02 \x01(\x0b\x32,.perfetto.protos.F2fsTruncateNodeFtraceEventH\x00\x12X\n\x19\x66\x32\x66s_truncate_nodes_enter\x18\x89\x02 \x01(\x0b\x32\x32.perfetto.protos.F2fsTruncateNodesEnterFtraceEventH\x00\x12V\n\x18\x66\x32\x66s_truncate_nodes_exit\x18\x8a\x02 \x01(\x0b\x32\x31.perfetto.protos.F2fsTruncateNodesExitFtraceEventH\x00\x12\\\n\x1b\x66\x32\x66s_truncate_partial_nodes\x18\x8b\x02 \x01(\x0b\x32\x34.perfetto.protos.F2fsTruncatePartialNodesFtraceEventH\x00\x12I\n\x11\x66\x32\x66s_unlink_enter\x18\x8c\x02 \x01(\x0b\x32+.perfetto.protos.F2fsUnlinkEnterFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_unlink_exit\x18\x8d\x02 \x01(\x0b\x32*.perfetto.protos.F2fsUnlinkExitFtraceEventH\x00\x12N\n\x14\x66\x32\x66s_vm_page_mkwrite\x18\x8e\x02 \x01(\x0b\x32-.perfetto.protos.F2fsVmPageMkwriteFtraceEventH\x00\x12G\n\x10\x66\x32\x66s_write_begin\x18\x8f\x02 \x01(\x0b\x32*.perfetto.protos.F2fsWriteBeginFtraceEventH\x00\x12Q\n\x15\x66\x32\x66s_write_checkpoint\x18\x90\x02 \x01(\x0b\x32/.perfetto.protos.F2fsWriteCheckpointFtraceEventH\x00\x12\x43\n\x0e\x66\x32\x66s_write_end\x18\x91\x02 \x01(\x0b\x32(.perfetto.protos.F2fsWriteEndFtraceEventH\x00\x12P\n\x15\x61lloc_pages_iommu_end\x18\x92\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesIommuEndFtraceEventH\x00\x12R\n\x16\x61lloc_pages_iommu_fail\x18\x93\x02 \x01(\x0b\x32/.perfetto.protos.AllocPagesIommuFailFtraceEventH\x00\x12T\n\x17\x61lloc_pages_iommu_start\x18\x94\x02 \x01(\x0b\x32\x30.perfetto.protos.AllocPagesIommuStartFtraceEventH\x00\x12L\n\x13\x61lloc_pages_sys_end\x18\x95\x02 \x01(\x0b\x32,.perfetto.protos.AllocPagesSysEndFtraceEventH\x00\x12N\n\x14\x61lloc_pages_sys_fail\x18\x96\x02 \x01(\x0b\x32-.perfetto.protos.AllocPagesSysFailFtraceEventH\x00\x12P\n\x15\x61lloc_pages_sys_start\x18\x97\x02 \x01(\x0b\x32..perfetto.protos.AllocPagesSysStartFtraceEventH\x00\x12Z\n\x1a\x64ma_alloc_contiguous_retry\x18\x98\x02 \x01(\x0b\x32\x33.perfetto.protos.DmaAllocContiguousRetryFtraceEventH\x00\x12\x45\n\x0fiommu_map_range\x18\x99\x02 \x01(\x0b\x32).perfetto.protos.IommuMapRangeFtraceEventH\x00\x12\\\n\x1ciommu_sec_ptbl_map_range_end\x18\x9a\x02 \x01(\x0b\x32\x33.perfetto.protos.IommuSecPtblMapRangeEndFtraceEventH\x00\x12`\n\x1eiommu_sec_ptbl_map_range_start\x18\x9b\x02 \x01(\x0b\x32\x35.perfetto.protos.IommuSecPtblMapRangeStartFtraceEventH\x00\x12N\n\x14ion_alloc_buffer_end\x18\x9c\x02 \x01(\x0b\x32-.perfetto.protos.IonAllocBufferEndFtraceEventH\x00\x12P\n\x15ion_alloc_buffer_fail\x18\x9d\x02 \x01(\x0b\x32..perfetto.protos.IonAllocBufferFailFtraceEventH\x00\x12X\n\x19ion_alloc_buffer_fallback\x18\x9e\x02 \x01(\x0b\x32\x32.perfetto.protos.IonAllocBufferFallbackFtraceEventH\x00\x12R\n\x16ion_alloc_buffer_start\x18\x9f\x02 \x01(\x0b\x32/.perfetto.protos.IonAllocBufferStartFtraceEventH\x00\x12J\n\x12ion_cp_alloc_retry\x18\xa0\x02 \x01(\x0b\x32+.perfetto.protos.IonCpAllocRetryFtraceEventH\x00\x12U\n\x18ion_cp_secure_buffer_end\x18\xa1\x02 \x01(\x0b\x32\x30.perfetto.protos.IonCpSecureBufferEndFtraceEventH\x00\x12Y\n\x1aion_cp_secure_buffer_start\x18\xa2\x02 \x01(\x0b\x32\x32.perfetto.protos.IonCpSecureBufferStartFtraceEventH\x00\x12\x46\n\x0fion_prefetching\x18\xa3\x02 \x01(\x0b\x32*.perfetto.protos.IonPrefetchingFtraceEventH\x00\x12_\n\x1eion_secure_cma_add_to_pool_end\x18\xa4\x02 \x01(\x0b\x32\x34.perfetto.protos.IonSecureCmaAddToPoolEndFtraceEventH\x00\x12\x63\n ion_secure_cma_add_to_pool_start\x18\xa5\x02 \x01(\x0b\x32\x36.perfetto.protos.IonSecureCmaAddToPoolStartFtraceEventH\x00\x12[\n\x1bion_secure_cma_allocate_end\x18\xa6\x02 \x01(\x0b\x32\x33.perfetto.protos.IonSecureCmaAllocateEndFtraceEventH\x00\x12_\n\x1dion_secure_cma_allocate_start\x18\xa7\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaAllocateStartFtraceEventH\x00\x12`\n\x1eion_secure_cma_shrink_pool_end\x18\xa8\x02 \x01(\x0b\x32\x35.perfetto.protos.IonSecureCmaShrinkPoolEndFtraceEventH\x00\x12\x64\n ion_secure_cma_shrink_pool_start\x18\xa9\x02 \x01(\x0b\x32\x37.perfetto.protos.IonSecureCmaShrinkPoolStartFtraceEventH\x00\x12\x33\n\x05kfree\x18\xaa\x02 \x01(\x0b\x32!.perfetto.protos.KfreeFtraceEventH\x00\x12\x37\n\x07kmalloc\x18\xab\x02 \x01(\x0b\x32#.perfetto.protos.KmallocFtraceEventH\x00\x12@\n\x0ckmalloc_node\x18\xac\x02 \x01(\x0b\x32\'.perfetto.protos.KmallocNodeFtraceEventH\x00\x12G\n\x10kmem_cache_alloc\x18\xad\x02 \x01(\x0b\x32*.perfetto.protos.KmemCacheAllocFtraceEventH\x00\x12P\n\x15kmem_cache_alloc_node\x18\xae\x02 \x01(\x0b\x32..perfetto.protos.KmemCacheAllocNodeFtraceEventH\x00\x12\x45\n\x0fkmem_cache_free\x18\xaf\x02 \x01(\x0b\x32).perfetto.protos.KmemCacheFreeFtraceEventH\x00\x12I\n\x11migrate_pages_end\x18\xb0\x02 \x01(\x0b\x32+.perfetto.protos.MigratePagesEndFtraceEventH\x00\x12M\n\x13migrate_pages_start\x18\xb1\x02 \x01(\x0b\x32-.perfetto.protos.MigratePagesStartFtraceEventH\x00\x12\x42\n\rmigrate_retry\x18\xb2\x02 \x01(\x0b\x32(.perfetto.protos.MigrateRetryFtraceEventH\x00\x12\x41\n\rmm_page_alloc\x18\xb3\x02 \x01(\x0b\x32\'.perfetto.protos.MmPageAllocFtraceEventH\x00\x12P\n\x15mm_page_alloc_extfrag\x18\xb4\x02 \x01(\x0b\x32..perfetto.protos.MmPageAllocExtfragFtraceEventH\x00\x12W\n\x19mm_page_alloc_zone_locked\x18\xb5\x02 \x01(\x0b\x32\x31.perfetto.protos.MmPageAllocZoneLockedFtraceEventH\x00\x12?\n\x0cmm_page_free\x18\xb6\x02 \x01(\x0b\x32&.perfetto.protos.MmPageFreeFtraceEventH\x00\x12N\n\x14mm_page_free_batched\x18\xb7\x02 \x01(\x0b\x32-.perfetto.protos.MmPageFreeBatchedFtraceEventH\x00\x12J\n\x12mm_page_pcpu_drain\x18\xb8\x02 \x01(\x0b\x32+.perfetto.protos.MmPagePcpuDrainFtraceEventH\x00\x12\x38\n\x08rss_stat\x18\xb9\x02 \x01(\x0b\x32#.perfetto.protos.RssStatFtraceEventH\x00\x12\x45\n\x0fion_heap_shrink\x18\xba\x02 \x01(\x0b\x32).perfetto.protos.IonHeapShrinkFtraceEventH\x00\x12\x41\n\rion_heap_grow\x18\xbb\x02 \x01(\x0b\x32\'.perfetto.protos.IonHeapGrowFtraceEventH\x00\x12<\n\nfence_init\x18\xbc\x02 \x01(\x0b\x32%.perfetto.protos.FenceInitFtraceEventH\x00\x12\x42\n\rfence_destroy\x18\xbd\x02 \x01(\x0b\x32(.perfetto.protos.FenceDestroyFtraceEventH\x00\x12M\n\x13\x66\x65nce_enable_signal\x18\xbe\x02 \x01(\x0b\x32-.perfetto.protos.FenceEnableSignalFtraceEventH\x00\x12\x44\n\x0e\x66\x65nce_signaled\x18\xbf\x02 \x01(\x0b\x32).perfetto.protos.FenceSignaledFtraceEventH\x00\x12<\n\nclk_enable\x18\xc0\x02 \x01(\x0b\x32%.perfetto.protos.ClkEnableFtraceEventH\x00\x12>\n\x0b\x63lk_disable\x18\xc1\x02 \x01(\x0b\x32&.perfetto.protos.ClkDisableFtraceEventH\x00\x12?\n\x0c\x63lk_set_rate\x18\xc2\x02 \x01(\x0b\x32&.perfetto.protos.ClkSetRateFtraceEventH\x00\x12^\n\x1c\x62inder_transaction_alloc_buf\x18\xc3\x02 \x01(\x0b\x32\x35.perfetto.protos.BinderTransactionAllocBufFtraceEventH\x00\x12\x44\n\x0esignal_deliver\x18\xc4\x02 \x01(\x0b\x32).perfetto.protos.SignalDeliverFtraceEventH\x00\x12\x46\n\x0fsignal_generate\x18\xc5\x02 \x01(\x0b\x32*.perfetto.protos.SignalGenerateFtraceEventH\x00\x12N\n\x14oom_score_adj_update\x18\xc6\x02 \x01(\x0b\x32-.perfetto.protos.OomScoreAdjUpdateFtraceEventH\x00\x12\x37\n\x07generic\x18\xc7\x02 \x01(\x0b\x32#.perfetto.protos.GenericFtraceEventH\x00\x12\x45\n\x0fmm_event_record\x18\xc8\x02 \x01(\x0b\x32).perfetto.protos.MmEventRecordFtraceEventH\x00\x12:\n\tsys_enter\x18\xc9\x02 \x01(\x0b\x32$.perfetto.protos.SysEnterFtraceEventH\x00\x12\x38\n\x08sys_exit\x18\xca\x02 \x01(\x0b\x32#.perfetto.protos.SysExitFtraceEventH\x00\x12\x31\n\x04zero\x18\xcb\x02 \x01(\x0b\x32 .perfetto.protos.ZeroFtraceEventH\x00\x12\x42\n\rgpu_frequency\x18\xcc\x02 \x01(\x0b\x32(.perfetto.protos.GpuFrequencyFtraceEventH\x00\x12R\n\x16sde_tracing_mark_write\x18\xcd\x02 \x01(\x0b\x32/.perfetto.protos.SdeTracingMarkWriteFtraceEventH\x00\x12>\n\x0bmark_victim\x18\xce\x02 \x01(\x0b\x32&.perfetto.protos.MarkVictimFtraceEventH\x00\x12\x38\n\x08ion_stat\x18\xcf\x02 \x01(\x0b\x32#.perfetto.protos.IonStatFtraceEventH\x00\x12I\n\x11ion_buffer_create\x18\xd0\x02 \x01(\x0b\x32+.perfetto.protos.IonBufferCreateFtraceEventH\x00\x12K\n\x12ion_buffer_destroy\x18\xd1\x02 \x01(\x0b\x32,.perfetto.protos.IonBufferDestroyFtraceEventH\x00\x12\x43\n\x0escm_call_start\x18\xd2\x02 \x01(\x0b\x32(.perfetto.protos.ScmCallStartFtraceEventH\x00\x12?\n\x0cscm_call_end\x18\xd3\x02 \x01(\x0b\x32&.perfetto.protos.ScmCallEndFtraceEventH\x00\x12\x41\n\rgpu_mem_total\x18\xd4\x02 \x01(\x0b\x32\'.perfetto.protos.GpuMemTotalFtraceEventH\x00\x12N\n\x13thermal_temperature\x18\xd5\x02 \x01(\x0b\x32..perfetto.protos.ThermalTemperatureFtraceEventH\x00\x12>\n\x0b\x63\x64\x65v_update\x18\xd6\x02 \x01(\x0b\x32&.perfetto.protos.CdevUpdateFtraceEventH\x00\x12<\n\ncpuhp_exit\x18\xd7\x02 \x01(\x0b\x32%.perfetto.protos.CpuhpExitFtraceEventH\x00\x12I\n\x11\x63puhp_multi_enter\x18\xd8\x02 \x01(\x0b\x32+.perfetto.protos.CpuhpMultiEnterFtraceEventH\x00\x12>\n\x0b\x63puhp_enter\x18\xd9\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpEnterFtraceEventH\x00\x12\x42\n\rcpuhp_latency\x18\xda\x02 \x01(\x0b\x32(.perfetto.protos.CpuhpLatencyFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_stat\x18\xdb\x02 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaStatFtraceEventH\x00\x12R\n\x16\x64pu_tracing_mark_write\x18\xdc\x02 \x01(\x0b\x32/.perfetto.protos.DpuTracingMarkWriteFtraceEventH\x00\x12R\n\x16g2d_tracing_mark_write\x18\xdd\x02 \x01(\x0b\x32/.perfetto.protos.G2dTracingMarkWriteFtraceEventH\x00\x12T\n\x17mali_tracing_mark_write\x18\xde\x02 \x01(\x0b\x32\x30.perfetto.protos.MaliTracingMarkWriteFtraceEventH\x00\x12\x41\n\rdma_heap_stat\x18\xdf\x02 \x01(\x0b\x32\'.perfetto.protos.DmaHeapStatFtraceEventH\x00\x12>\n\x0b\x63puhp_pause\x18\xe0\x02 \x01(\x0b\x32&.perfetto.protos.CpuhpPauseFtraceEventH\x00\x12G\n\x10sched_pi_setprio\x18\xe1\x02 \x01(\x0b\x32*.perfetto.protos.SchedPiSetprioFtraceEventH\x00\x12\x43\n\x0esde_sde_evtlog\x18\xe2\x02 \x01(\x0b\x32(.perfetto.protos.SdeSdeEvtlogFtraceEventH\x00\x12Q\n\x16sde_sde_perf_calc_crtc\x18\xe3\x02 \x01(\x0b\x32..perfetto.protos.SdeSdePerfCalcCrtcFtraceEventH\x00\x12U\n\x18sde_sde_perf_crtc_update\x18\xe4\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfCrtcUpdateFtraceEventH\x00\x12V\n\x19sde_sde_perf_set_qos_luts\x18\xe5\x02 \x01(\x0b\x32\x30.perfetto.protos.SdeSdePerfSetQosLutsFtraceEventH\x00\x12S\n\x17sde_sde_perf_update_bus\x18\xe6\x02 \x01(\x0b\x32/.perfetto.protos.SdeSdePerfUpdateBusFtraceEventH\x00\x12K\n\x12rss_stat_throttled\x18\xe7\x02 \x01(\x0b\x32,.perfetto.protos.RssStatThrottledFtraceEventH\x00\x12I\n\x11netif_receive_skb\x18\xe8\x02 \x01(\x0b\x32+.perfetto.protos.NetifReceiveSkbFtraceEventH\x00\x12?\n\x0cnet_dev_xmit\x18\xe9\x02 \x01(\x0b\x32&.perfetto.protos.NetDevXmitFtraceEventH\x00\x12L\n\x13inet_sock_set_state\x18\xea\x02 \x01(\x0b\x32,.perfetto.protos.InetSockSetStateFtraceEventH\x00\x12K\n\x12tcp_retransmit_skb\x18\xeb\x02 \x01(\x0b\x32,.perfetto.protos.TcpRetransmitSkbFtraceEventH\x00\x12R\n\x16\x63ros_ec_sensorhub_data\x18\xec\x02 \x01(\x0b\x32/.perfetto.protos.CrosEcSensorhubDataFtraceEventH\x00\x12R\n\x16napi_gro_receive_entry\x18\xed\x02 \x01(\x0b\x32/.perfetto.protos.NapiGroReceiveEntryFtraceEventH\x00\x12P\n\x15napi_gro_receive_exit\x18\xee\x02 \x01(\x0b\x32..perfetto.protos.NapiGroReceiveExitFtraceEventH\x00\x12:\n\tkfree_skb\x18\xef\x02 \x01(\x0b\x32$.perfetto.protos.KfreeSkbFtraceEventH\x00\x12G\n\x10kvm_access_fault\x18\xf0\x02 \x01(\x0b\x32*.perfetto.protos.KvmAccessFaultFtraceEventH\x00\x12=\n\x0bkvm_ack_irq\x18\xf1\x02 \x01(\x0b\x32%.perfetto.protos.KvmAckIrqFtraceEventH\x00\x12=\n\x0bkvm_age_hva\x18\xf2\x02 \x01(\x0b\x32%.perfetto.protos.KvmAgeHvaFtraceEventH\x00\x12?\n\x0ckvm_age_page\x18\xf3\x02 \x01(\x0b\x32&.perfetto.protos.KvmAgePageFtraceEventH\x00\x12L\n\x13kvm_arm_clear_debug\x18\xf4\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmClearDebugFtraceEventH\x00\x12J\n\x12kvm_arm_set_dreg32\x18\xf5\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetDreg32FtraceEventH\x00\x12J\n\x12kvm_arm_set_regset\x18\xf6\x02 \x01(\x0b\x32+.perfetto.protos.KvmArmSetRegsetFtraceEventH\x00\x12L\n\x13kvm_arm_setup_debug\x18\xf7\x02 \x01(\x0b\x32,.perfetto.protos.KvmArmSetupDebugFtraceEventH\x00\x12:\n\tkvm_entry\x18\xf8\x02 \x01(\x0b\x32$.perfetto.protos.KvmEntryFtraceEventH\x00\x12\x38\n\x08kvm_exit\x18\xf9\x02 \x01(\x0b\x32#.perfetto.protos.KvmExitFtraceEventH\x00\x12\x36\n\x07kvm_fpu\x18\xfa\x02 \x01(\x0b\x32\".perfetto.protos.KvmFpuFtraceEventH\x00\x12H\n\x11kvm_get_timer_map\x18\xfb\x02 \x01(\x0b\x32*.perfetto.protos.KvmGetTimerMapFtraceEventH\x00\x12\x45\n\x0fkvm_guest_fault\x18\xfc\x02 \x01(\x0b\x32).perfetto.protos.KvmGuestFaultFtraceEventH\x00\x12J\n\x12kvm_handle_sys_reg\x18\xfd\x02 \x01(\x0b\x32+.perfetto.protos.KvmHandleSysRegFtraceEventH\x00\x12\x41\n\rkvm_hvc_arm64\x18\xfe\x02 \x01(\x0b\x32\'.perfetto.protos.KvmHvcArm64FtraceEventH\x00\x12?\n\x0ckvm_irq_line\x18\xff\x02 \x01(\x0b\x32&.perfetto.protos.KvmIrqLineFtraceEventH\x00\x12\x38\n\x08kvm_mmio\x18\x80\x03 \x01(\x0b\x32#.perfetto.protos.KvmMmioFtraceEventH\x00\x12G\n\x10kvm_mmio_emulate\x18\x81\x03 \x01(\x0b\x32*.perfetto.protos.KvmMmioEmulateFtraceEventH\x00\x12L\n\x13kvm_set_guest_debug\x18\x82\x03 \x01(\x0b\x32,.perfetto.protos.KvmSetGuestDebugFtraceEventH\x00\x12=\n\x0bkvm_set_irq\x18\x83\x03 \x01(\x0b\x32%.perfetto.protos.KvmSetIrqFtraceEventH\x00\x12\x46\n\x10kvm_set_spte_hva\x18\x84\x03 \x01(\x0b\x32).perfetto.protos.KvmSetSpteHvaFtraceEventH\x00\x12H\n\x11kvm_set_way_flush\x18\x85\x03 \x01(\x0b\x32*.perfetto.protos.KvmSetWayFlushFtraceEventH\x00\x12\x43\n\x0ekvm_sys_access\x18\x86\x03 \x01(\x0b\x32(.perfetto.protos.KvmSysAccessFtraceEventH\x00\x12\x46\n\x10kvm_test_age_hva\x18\x87\x03 \x01(\x0b\x32).perfetto.protos.KvmTestAgeHvaFtraceEventH\x00\x12I\n\x11kvm_timer_emulate\x18\x88\x03 \x01(\x0b\x32+.perfetto.protos.KvmTimerEmulateFtraceEventH\x00\x12V\n\x18kvm_timer_hrtimer_expire\x18\x89\x03 \x01(\x0b\x32\x31.perfetto.protos.KvmTimerHrtimerExpireFtraceEventH\x00\x12T\n\x17kvm_timer_restore_state\x18\x8a\x03 \x01(\x0b\x32\x30.perfetto.protos.KvmTimerRestoreStateFtraceEventH\x00\x12N\n\x14kvm_timer_save_state\x18\x8b\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerSaveStateFtraceEventH\x00\x12N\n\x14kvm_timer_update_irq\x18\x8c\x03 \x01(\x0b\x32-.perfetto.protos.KvmTimerUpdateIrqFtraceEventH\x00\x12G\n\x10kvm_toggle_cache\x18\x8d\x03 \x01(\x0b\x32*.perfetto.protos.KvmToggleCacheFtraceEventH\x00\x12L\n\x13kvm_unmap_hva_range\x18\x8e\x03 \x01(\x0b\x32,.perfetto.protos.KvmUnmapHvaRangeFtraceEventH\x00\x12K\n\x12kvm_userspace_exit\x18\x8f\x03 \x01(\x0b\x32,.perfetto.protos.KvmUserspaceExitFtraceEventH\x00\x12\x45\n\x0fkvm_vcpu_wakeup\x18\x90\x03 \x01(\x0b\x32).perfetto.protos.KvmVcpuWakeupFtraceEventH\x00\x12\x41\n\rkvm_wfx_arm64\x18\x91\x03 \x01(\x0b\x32\'.perfetto.protos.KvmWfxArm64FtraceEventH\x00\x12\x38\n\x08trap_reg\x18\x92\x03 \x01(\x0b\x32#.perfetto.protos.TrapRegFtraceEventH\x00\x12T\n\x17vgic_update_irq_pending\x18\x93\x03 \x01(\x0b\x32\x30.perfetto.protos.VgicUpdateIrqPendingFtraceEventH\x00\x12S\n\x16wakeup_source_activate\x18\x94\x03 \x01(\x0b\x32\x30.perfetto.protos.WakeupSourceActivateFtraceEventH\x00\x12W\n\x18wakeup_source_deactivate\x18\x95\x03 \x01(\x0b\x32\x32.perfetto.protos.WakeupSourceDeactivateFtraceEventH\x00\x12\x44\n\x0eufshcd_command\x18\x96\x03 \x01(\x0b\x32).perfetto.protos.UfshcdCommandFtraceEventH\x00\x12I\n\x11ufshcd_clk_gating\x18\x97\x03 \x01(\x0b\x32+.perfetto.protos.UfshcdClkGatingFtraceEventH\x00\x12\x37\n\x07\x63onsole\x18\x98\x03 \x01(\x0b\x32#.perfetto.protos.ConsoleFtraceEventH\x00\x12G\n\x10\x64rm_vblank_event\x18\x99\x03 \x01(\x0b\x32*.perfetto.protos.DrmVblankEventFtraceEventH\x00\x12Z\n\x1a\x64rm_vblank_event_delivered\x18\x9a\x03 \x01(\x0b\x32\x33.perfetto.protos.DrmVblankEventDeliveredFtraceEventH\x00\x12\x41\n\rdrm_sched_job\x18\x9b\x03 \x01(\x0b\x32\'.perfetto.protos.DrmSchedJobFtraceEventH\x00\x12=\n\x0b\x64rm_run_job\x18\x9c\x03 \x01(\x0b\x32%.perfetto.protos.DrmRunJobFtraceEventH\x00\x12P\n\x15\x64rm_sched_process_job\x18\x9d\x03 \x01(\x0b\x32..perfetto.protos.DrmSchedProcessJobFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_init\x18\x9e\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceInitFtraceEventH\x00\x12\x43\n\x0e\x64ma_fence_emit\x18\x9f\x03 \x01(\x0b\x32(.perfetto.protos.DmaFenceEmitFtraceEventH\x00\x12K\n\x12\x64ma_fence_signaled\x18\xa0\x03 \x01(\x0b\x32,.perfetto.protos.DmaFenceSignaledFtraceEventH\x00\x12N\n\x14\x64ma_fence_wait_start\x18\xa1\x03 \x01(\x0b\x32-.perfetto.protos.DmaFenceWaitStartFtraceEventH\x00\x12J\n\x12\x64ma_fence_wait_end\x18\xa2\x03 \x01(\x0b\x32+.perfetto.protos.DmaFenceWaitEndFtraceEventH\x00\x12>\n\x0b\x66\x32\x66s_iostat\x18\xa3\x03 \x01(\x0b\x32&.perfetto.protos.F2fsIostatFtraceEventH\x00\x12M\n\x13\x66\x32\x66s_iostat_latency\x18\xa4\x03 \x01(\x0b\x32-.perfetto.protos.F2fsIostatLatencyFtraceEventH\x00\x12J\n\x12sched_cpu_util_cfs\x18\xa5\x03 \x01(\x0b\x32+.perfetto.protos.SchedCpuUtilCfsFtraceEventH\x00\x12:\n\tv4l2_qbuf\x18\xa6\x03 \x01(\x0b\x32$.perfetto.protos.V4l2QbufFtraceEventH\x00\x12<\n\nv4l2_dqbuf\x18\xa7\x03 \x01(\x0b\x32%.perfetto.protos.V4l2DqbufFtraceEventH\x00\x12J\n\x12vb2_v4l2_buf_queue\x18\xa8\x03 \x01(\x0b\x32+.perfetto.protos.Vb2V4l2BufQueueFtraceEventH\x00\x12H\n\x11vb2_v4l2_buf_done\x18\xa9\x03 \x01(\x0b\x32*.perfetto.protos.Vb2V4l2BufDoneFtraceEventH\x00\x12\x41\n\rvb2_v4l2_qbuf\x18\xaa\x03 \x01(\x0b\x32\'.perfetto.protos.Vb2V4l2QbufFtraceEventH\x00\x12\x43\n\x0evb2_v4l2_dqbuf\x18\xab\x03 \x01(\x0b\x32(.perfetto.protos.Vb2V4l2DqbufFtraceEventH\x00\x12L\n\x13\x64si_cmd_fifo_status\x18\xac\x03 \x01(\x0b\x32,.perfetto.protos.DsiCmdFifoStatusFtraceEventH\x00\x12\x34\n\x06\x64si_rx\x18\xad\x03 \x01(\x0b\x32!.perfetto.protos.DsiRxFtraceEventH\x00\x12\x34\n\x06\x64si_tx\x18\xae\x03 \x01(\x0b\x32!.perfetto.protos.DsiTxFtraceEventH\x00\x12T\n\x17\x61ndroid_fs_dataread_end\x18\xaf\x03 \x01(\x0b\x32\x30.perfetto.protos.AndroidFsDatareadEndFtraceEventH\x00\x12X\n\x19\x61ndroid_fs_dataread_start\x18\xb0\x03 \x01(\x0b\x32\x32.perfetto.protos.AndroidFsDatareadStartFtraceEventH\x00\x12V\n\x18\x61ndroid_fs_datawrite_end\x18\xb1\x03 \x01(\x0b\x32\x31.perfetto.protos.AndroidFsDatawriteEndFtraceEventH\x00\x12Z\n\x1a\x61ndroid_fs_datawrite_start\x18\xb2\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidFsDatawriteStartFtraceEventH\x00\x12N\n\x14\x61ndroid_fs_fsync_end\x18\xb3\x03 \x01(\x0b\x32-.perfetto.protos.AndroidFsFsyncEndFtraceEventH\x00\x12R\n\x16\x61ndroid_fs_fsync_start\x18\xb4\x03 \x01(\x0b\x32/.perfetto.protos.AndroidFsFsyncStartFtraceEventH\x00\x12\x46\n\x0f\x66uncgraph_entry\x18\xb5\x03 \x01(\x0b\x32*.perfetto.protos.FuncgraphEntryFtraceEventH\x00\x12\x44\n\x0e\x66uncgraph_exit\x18\xb6\x03 \x01(\x0b\x32).perfetto.protos.FuncgraphExitFtraceEventH\x00\x12G\n\x10virtio_video_cmd\x18\xb7\x03 \x01(\x0b\x32*.perfetto.protos.VirtioVideoCmdFtraceEventH\x00\x12P\n\x15virtio_video_cmd_done\x18\xb8\x03 \x01(\x0b\x32..perfetto.protos.VirtioVideoCmdDoneFtraceEventH\x00\x12\\\n\x1bvirtio_video_resource_queue\x18\xb9\x03 \x01(\x0b\x32\x34.perfetto.protos.VirtioVideoResourceQueueFtraceEventH\x00\x12\x65\n virtio_video_resource_queue_done\x18\xba\x03 \x01(\x0b\x32\x38.perfetto.protos.VirtioVideoResourceQueueDoneFtraceEventH\x00\x12N\n\x14mm_shrink_slab_start\x18\xbb\x03 \x01(\x0b\x32-.perfetto.protos.MmShrinkSlabStartFtraceEventH\x00\x12J\n\x12mm_shrink_slab_end\x18\xbc\x03 \x01(\x0b\x32+.perfetto.protos.MmShrinkSlabEndFtraceEventH\x00\x12<\n\ntrusty_smc\x18\xbd\x03 \x01(\x0b\x32%.perfetto.protos.TrustySmcFtraceEventH\x00\x12\x45\n\x0ftrusty_smc_done\x18\xbe\x03 \x01(\x0b\x32).perfetto.protos.TrustySmcDoneFtraceEventH\x00\x12I\n\x11trusty_std_call32\x18\xbf\x03 \x01(\x0b\x32+.perfetto.protos.TrustyStdCall32FtraceEventH\x00\x12R\n\x16trusty_std_call32_done\x18\xc0\x03 \x01(\x0b\x32/.perfetto.protos.TrustyStdCall32DoneFtraceEventH\x00\x12M\n\x13trusty_share_memory\x18\xc1\x03 \x01(\x0b\x32-.perfetto.protos.TrustyShareMemoryFtraceEventH\x00\x12V\n\x18trusty_share_memory_done\x18\xc2\x03 \x01(\x0b\x32\x31.perfetto.protos.TrustyShareMemoryDoneFtraceEventH\x00\x12Q\n\x15trusty_reclaim_memory\x18\xc3\x03 \x01(\x0b\x32/.perfetto.protos.TrustyReclaimMemoryFtraceEventH\x00\x12Z\n\x1atrusty_reclaim_memory_done\x18\xc4\x03 \x01(\x0b\x32\x33.perfetto.protos.TrustyReclaimMemoryDoneFtraceEventH\x00\x12<\n\ntrusty_irq\x18\xc5\x03 \x01(\x0b\x32%.perfetto.protos.TrustyIrqFtraceEventH\x00\x12T\n\x17trusty_ipc_handle_event\x18\xc6\x03 \x01(\x0b\x32\x30.perfetto.protos.TrustyIpcHandleEventFtraceEventH\x00\x12K\n\x12trusty_ipc_connect\x18\xc7\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcConnectFtraceEventH\x00\x12R\n\x16trusty_ipc_connect_end\x18\xc8\x03 \x01(\x0b\x32/.perfetto.protos.TrustyIpcConnectEndFtraceEventH\x00\x12G\n\x10trusty_ipc_write\x18\xc9\x03 \x01(\x0b\x32*.perfetto.protos.TrustyIpcWriteFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_poll\x18\xca\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcPollFtraceEventH\x00\x12\x45\n\x0ftrusty_ipc_read\x18\xcc\x03 \x01(\x0b\x32).perfetto.protos.TrustyIpcReadFtraceEventH\x00\x12L\n\x13trusty_ipc_read_end\x18\xcd\x03 \x01(\x0b\x32,.perfetto.protos.TrustyIpcReadEndFtraceEventH\x00\x12\x41\n\rtrusty_ipc_rx\x18\xce\x03 \x01(\x0b\x32\'.perfetto.protos.TrustyIpcRxFtraceEventH\x00\x12K\n\x12trusty_enqueue_nop\x18\xd0\x03 \x01(\x0b\x32,.perfetto.protos.TrustyEnqueueNopFtraceEventH\x00\x12\x45\n\x0f\x63ma_alloc_start\x18\xd1\x03 \x01(\x0b\x32).perfetto.protos.CmaAllocStartFtraceEventH\x00\x12\x43\n\x0e\x63ma_alloc_info\x18\xd2\x03 \x01(\x0b\x32(.perfetto.protos.CmaAllocInfoFtraceEventH\x00\x12T\n\x17lwis_tracing_mark_write\x18\xd3\x03 \x01(\x0b\x32\x30.perfetto.protos.LwisTracingMarkWriteFtraceEventH\x00\x12N\n\x14virtio_gpu_cmd_queue\x18\xd4\x03 \x01(\x0b\x32-.perfetto.protos.VirtioGpuCmdQueueFtraceEventH\x00\x12T\n\x17virtio_gpu_cmd_response\x18\xd5\x03 \x01(\x0b\x32\x30.perfetto.protos.VirtioGpuCmdResponseFtraceEventH\x00\x12Q\n\x16mali_mali_KCPU_CQS_SET\x18\xd6\x03 \x01(\x0b\x32..perfetto.protos.MaliMaliKCPUCQSSETFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_CQS_WAIT_START\x18\xd7\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUCQSWAITSTARTFtraceEventH\x00\x12Z\n\x1bmali_mali_KCPU_CQS_WAIT_END\x18\xd8\x03 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliKCPUCQSWAITENDFtraceEventH\x00\x12[\n\x1bmali_mali_KCPU_FENCE_SIGNAL\x18\xd9\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliKCPUFENCESIGNALFtraceEventH\x00\x12\x62\n\x1fmali_mali_KCPU_FENCE_WAIT_START\x18\xda\x03 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliKCPUFENCEWAITSTARTFtraceEventH\x00\x12^\n\x1dmali_mali_KCPU_FENCE_WAIT_END\x18\xdb\x03 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliKCPUFENCEWAITENDFtraceEventH\x00\x12:\n\thyp_enter\x18\xdc\x03 \x01(\x0b\x32$.perfetto.protos.HypEnterFtraceEventH\x00\x12\x38\n\x08hyp_exit\x18\xdd\x03 \x01(\x0b\x32#.perfetto.protos.HypExitFtraceEventH\x00\x12<\n\nhost_hcall\x18\xde\x03 \x01(\x0b\x32%.perfetto.protos.HostHcallFtraceEventH\x00\x12\x38\n\x08host_smc\x18\xdf\x03 \x01(\x0b\x32#.perfetto.protos.HostSmcFtraceEventH\x00\x12\x43\n\x0ehost_mem_abort\x18\xe0\x03 \x01(\x0b\x32(.perfetto.protos.HostMemAbortFtraceEventH\x00\x12S\n\x16suspend_resume_minimal\x18\xe1\x03 \x01(\x0b\x32\x30.perfetto.protos.SuspendResumeMinimalFtraceEventH\x00\x12_\n\x1dmali_mali_CSF_INTERRUPT_START\x18\xe2\x03 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliCSFINTERRUPTSTARTFtraceEventH\x00\x12[\n\x1bmali_mali_CSF_INTERRUPT_END\x18\xe3\x03 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliCSFINTERRUPTENDFtraceEventH\x00\x12Z\n\x1asamsung_tracing_mark_write\x18\xe4\x03 \x01(\x0b\x32\x33.perfetto.protos.SamsungTracingMarkWriteFtraceEventH\x00\x12\x44\n\x0e\x62inder_command\x18\xe5\x03 \x01(\x0b\x32).perfetto.protos.BinderCommandFtraceEventH\x00\x12\x42\n\rbinder_return\x18\xe6\x03 \x01(\x0b\x32(.perfetto.protos.BinderReturnFtraceEventH\x00\x12R\n\x16sched_switch_with_ctrs\x18\xe7\x03 \x01(\x0b\x32/.perfetto.protos.SchedSwitchWithCtrsFtraceEventH\x00\x12\x45\n\x0fgpu_work_period\x18\xe8\x03 \x01(\x0b\x32).perfetto.protos.GpuWorkPeriodFtraceEventH\x00\x12<\n\nrpm_status\x18\xe9\x03 \x01(\x0b\x32%.perfetto.protos.RpmStatusFtraceEventH\x00\x12M\n\x13panel_write_generic\x18\xea\x03 \x01(\x0b\x32-.perfetto.protos.PanelWriteGenericFtraceEventH\x00\x12K\n\x12sched_migrate_task\x18\xeb\x03 \x01(\x0b\x32,.perfetto.protos.SchedMigrateTaskFtraceEventH\x00\x12S\n\x17\x64pu_dsi_cmd_fifo_status\x18\xec\x03 \x01(\x0b\x32/.perfetto.protos.DpuDsiCmdFifoStatusFtraceEventH\x00\x12;\n\ndpu_dsi_rx\x18\xed\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiRxFtraceEventH\x00\x12;\n\ndpu_dsi_tx\x18\xee\x03 \x01(\x0b\x32$.perfetto.protos.DpuDsiTxFtraceEventH\x00\x12K\n\x12\x66\x32\x66s_background_gc\x18\xef\x03 \x01(\x0b\x32,.perfetto.protos.F2fsBackgroundGcFtraceEventH\x00\x12\x41\n\rf2fs_gc_begin\x18\xf0\x03 \x01(\x0b\x32\'.perfetto.protos.F2fsGcBeginFtraceEventH\x00\x12=\n\x0b\x66\x32\x66s_gc_end\x18\xf1\x03 \x01(\x0b\x32%.perfetto.protos.F2fsGcEndFtraceEventH\x00\x12G\n\x10\x66\x61strpc_dma_free\x18\xf2\x03 \x01(\x0b\x32*.perfetto.protos.FastrpcDmaFreeFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_alloc\x18\xf3\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaAllocFtraceEventH\x00\x12I\n\x11\x66\x61strpc_dma_unmap\x18\xf4\x03 \x01(\x0b\x32+.perfetto.protos.FastrpcDmaUnmapFtraceEventH\x00\x12\x45\n\x0f\x66\x61strpc_dma_map\x18\xf5\x03 \x01(\x0b\x32).perfetto.protos.FastrpcDmaMapFtraceEventH\x00\x12G\n\x10google_icc_event\x18\xf6\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIccEventFtraceEventH\x00\x12G\n\x10google_irm_event\x18\xf7\x03 \x01(\x0b\x32*.perfetto.protos.GoogleIrmEventFtraceEventH\x00\x12V\n\x18\x64\x65vice_pm_callback_start\x18\xf8\x03 \x01(\x0b\x32\x31.perfetto.protos.DevicePmCallbackStartFtraceEventH\x00\x12R\n\x16\x64\x65vice_pm_callback_end\x18\xf9\x03 \x01(\x0b\x32/.perfetto.protos.DevicePmCallbackEndFtraceEventH\x00\x12V\n\x18thermal_exynos_acpm_bulk\x18\xfa\x03 \x01(\x0b\x32\x31.perfetto.protos.ThermalExynosAcpmBulkFtraceEventH\x00\x12g\n!thermal_exynos_acpm_high_overhead\x18\xfb\x03 \x01(\x0b\x32\x39.perfetto.protos.ThermalExynosAcpmHighOverheadFtraceEventH\x00\x12<\n\ndcvsh_freq\x18\xfc\x03 \x01(\x0b\x32%.perfetto.protos.DcvshFreqFtraceEventH\x00\x12K\n\x12kgsl_gpu_frequency\x18\xfd\x03 \x01(\x0b\x32,.perfetto.protos.KgslGpuFrequencyFtraceEventH\x00\x12\x84\x01\n2mali_mali_PM_MCU_HCTL_CORES_DOWN_SCALE_NOTIFY_PEND\x18\xfe\x03 \x01(\x0b\x32\x45.perfetto.protos.MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_CORES_NOTIFY_PEND\x18\xff\x03 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEventH\x00\x12r\n(mali_mali_PM_MCU_HCTL_CORE_INACTIVE_PEND\x18\x80\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEventH\x00\x12j\n$mali_mali_PM_MCU_HCTL_MCU_ON_RECHECK\x18\x81\x04 \x01(\x0b\x32\x39.perfetto.protos.MaliMaliPMMCUHCTLMCUONRECHECKFtraceEventH\x00\x12w\n+mali_mali_PM_MCU_HCTL_SHADERS_CORE_OFF_PEND\x18\x82\x04 \x01(\x0b\x32?.perfetto.protos.MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEventH\x00\x12n\n&mali_mali_PM_MCU_HCTL_SHADERS_PEND_OFF\x18\x83\x04 \x01(\x0b\x32;.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEventH\x00\x12l\n%mali_mali_PM_MCU_HCTL_SHADERS_PEND_ON\x18\x84\x04 \x01(\x0b\x32:.perfetto.protos.MaliMaliPMMCUHCTLSHADERSPENDONFtraceEventH\x00\x12p\n\'mali_mali_PM_MCU_HCTL_SHADERS_READY_OFF\x18\x85\x04 \x01(\x0b\x32<.perfetto.protos.MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_IN_SLEEP\x18\x86\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUINSLEEPFtraceEventH\x00\x12M\n\x14mali_mali_PM_MCU_OFF\x18\x87\x04 \x01(\x0b\x32,.perfetto.protos.MaliMaliPMMCUOFFFtraceEventH\x00\x12K\n\x13mali_mali_PM_MCU_ON\x18\x88\x04 \x01(\x0b\x32+.perfetto.protos.MaliMaliPMMCUONFtraceEventH\x00\x12s\n)mali_mali_PM_MCU_ON_CORE_ATTR_UPDATE_PEND\x18\x89\x04 \x01(\x0b\x32=.perfetto.protos.MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEventH\x00\x12h\n#mali_mali_PM_MCU_ON_GLB_REINIT_PEND\x18\x8a\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONGLBREINITPENDFtraceEventH\x00\x12T\n\x18mali_mali_PM_MCU_ON_HALT\x18\x8b\x04 \x01(\x0b\x32/.perfetto.protos.MaliMaliPMMCUONHALTFtraceEventH\x00\x12\x65\n!mali_mali_PM_MCU_ON_HWCNT_DISABLE\x18\x8c\x04 \x01(\x0b\x32\x37.perfetto.protos.MaliMaliPMMCUONHWCNTDISABLEFtraceEventH\x00\x12\x63\n mali_mali_PM_MCU_ON_HWCNT_ENABLE\x18\x8d\x04 \x01(\x0b\x32\x36.perfetto.protos.MaliMaliPMMCUONHWCNTENABLEFtraceEventH\x00\x12]\n\x1dmali_mali_PM_MCU_ON_PEND_HALT\x18\x8e\x04 \x01(\x0b\x32\x33.perfetto.protos.MaliMaliPMMCUONPENDHALTFtraceEventH\x00\x12_\n\x1emali_mali_PM_MCU_ON_PEND_SLEEP\x18\x8f\x04 \x01(\x0b\x32\x34.perfetto.protos.MaliMaliPMMCUONPENDSLEEPFtraceEventH\x00\x12g\n\"mali_mali_PM_MCU_ON_SLEEP_INITIATE\x18\x90\x04 \x01(\x0b\x32\x38.perfetto.protos.MaliMaliPMMCUONSLEEPINITIATEFtraceEventH\x00\x12V\n\x19mali_mali_PM_MCU_PEND_OFF\x18\x91\x04 \x01(\x0b\x32\x30.perfetto.protos.MaliMaliPMMCUPENDOFFFtraceEventH\x00\x12\x61\n\x1fmali_mali_PM_MCU_PEND_ON_RELOAD\x18\x92\x04 \x01(\x0b\x32\x35.perfetto.protos.MaliMaliPMMCUPENDONRELOADFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_POWER_DOWN\x18\x93\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCUPOWERDOWNFtraceEventH\x00\x12Z\n\x1bmali_mali_PM_MCU_RESET_WAIT\x18\x94\x04 \x01(\x0b\x32\x32.perfetto.protos.MaliMaliPMMCURESETWAITFtraceEventH\x00\x12\x45\n\x0f\x62\x63l_irq_trigger\x18\x95\x04 \x01(\x0b\x32).perfetto.protos.BclIrqTriggerFtraceEventH\x00\x12\\\n\x1bkgsl_adreno_cmdbatch_queued\x18\x96\x04 \x01(\x0b\x32\x34.perfetto.protos.KgslAdrenoCmdbatchQueuedFtraceEventH\x00\x12\x62\n\x1ekgsl_adreno_cmdbatch_submitted\x18\x97\x04 \x01(\x0b\x32\x37.perfetto.protos.KgslAdrenoCmdbatchSubmittedFtraceEventH\x00\x12X\n\x19kgsl_adreno_cmdbatch_sync\x18\x98\x04 \x01(\x0b\x32\x32.perfetto.protos.KgslAdrenoCmdbatchSyncFtraceEventH\x00\x12^\n\x1ckgsl_adreno_cmdbatch_retired\x18\x99\x04 \x01(\x0b\x32\x35.perfetto.protos.KgslAdrenoCmdbatchRetiredFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_wake\x18\x9a\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdWakeFtraceEventH\x00\x12N\n\x14pixel_mm_kswapd_done\x18\x9b\x04 \x01(\x0b\x32-.perfetto.protos.PixelMmKswapdDoneFtraceEventH\x00\x12R\n\x16sched_wakeup_task_attr\x18\x9c\x04 \x01(\x0b\x32/.perfetto.protos.SchedWakeupTaskAttrFtraceEventH\x00\x12J\n\x11\x64\x65vfreq_frequency\x18\x9d\x04 \x01(\x0b\x32,.perfetto.protos.DevfreqFrequencyFtraceEventH\x00\x12\x35\n\x0ckprobe_event\x18\x9e\x04 \x01(\x0b\x32\x1c.perfetto.protos.KprobeEventH\x00\x12L\n\x13param_set_value_cpm\x18\x9f\x04 \x01(\x0b\x32,.perfetto.protos.ParamSetValueCpmFtraceEventH\x00\x12=\n\x0b\x64o_sys_open\x18\xa0\x04 \x01(\x0b\x32%.perfetto.protos.DoSysOpenFtraceEventH\x00\x12:\n\topen_exec\x18\xa1\x04 \x01(\x0b\x32$.perfetto.protos.OpenExecFtraceEventH\x00\x12\x43\n\x0e\x62lock_io_start\x18\xa2\x04 \x01(\x0b\x32(.perfetto.protos.BlockIoStartFtraceEventH\x00\x12\x41\n\rblock_io_done\x18\xa3\x04 \x01(\x0b\x32\'.perfetto.protos.BlockIoDoneFtraceEventH\x00\x12N\n\x14mali_gpu_power_state\x18\xa4\x04 \x01(\x0b\x32-.perfetto.protos.MaliGpuPowerStateFtraceEventH\x00\x12P\n\x15\x64pu_disp_dpu_underrun\x18\xa5\x04 \x01(\x0b\x32..perfetto.protos.DpuDispDpuUnderrunFtraceEventH\x00\x12Y\n\x1a\x64pu_disp_vblank_irq_enable\x18\xa6\x04 \x01(\x0b\x32\x32.perfetto.protos.DpuDispVblankIrqEnableFtraceEventH\x00\x12\x42\n\rhrtimer_start\x18\xa7\x04 \x01(\x0b\x32(.perfetto.protos.HrtimerStartFtraceEventH\x00\x12\x44\n\x0ehrtimer_cancel\x18\xa8\x04 \x01(\x0b\x32).perfetto.protos.HrtimerCancelFtraceEventH\x00\x12O\n\x14hrtimer_expire_entry\x18\xa9\x04 \x01(\x0b\x32..perfetto.protos.HrtimerExpireEntryFtraceEventH\x00\x12M\n\x13hrtimer_expire_exit\x18\xaa\x04 \x01(\x0b\x32-.perfetto.protos.HrtimerExpireExitFtraceEventH\x00\x12>\n\x0btimer_start\x18\xab\x04 \x01(\x0b\x32&.perfetto.protos.TimerStartFtraceEventH\x00\x12@\n\x0ctimer_cancel\x18\xac\x04 \x01(\x0b\x32\'.perfetto.protos.TimerCancelFtraceEventH\x00\x12K\n\x12timer_expire_entry\x18\xad\x04 \x01(\x0b\x32,.perfetto.protos.TimerExpireEntryFtraceEventH\x00\x12I\n\x11timer_expire_exit\x18\xae\x04 \x01(\x0b\x32+.perfetto.protos.TimerExpireExitFtraceEventH\x00\x12I\n\x11local_timer_entry\x18\xaf\x04 \x01(\x0b\x32+.perfetto.protos.LocalTimerEntryFtraceEventH\x00\x12G\n\x10local_timer_exit\x18\xb0\x04 \x01(\x0b\x32*.perfetto.protos.LocalTimerExitFtraceEventH\x00\x12K\n\x12\x64wc3_alloc_request\x18\xb1\x04 \x01(\x0b\x32,.perfetto.protos.Dwc3AllocRequestFtraceEventH\x00\x12I\n\x11\x64wc3_complete_trb\x18\xb2\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3CompleteTrbFtraceEventH\x00\x12\x41\n\rdwc3_ctrl_req\x18\xb3\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3CtrlReqFtraceEventH\x00\x12\x45\n\x0f\x64wc3_ep_dequeue\x18\xb4\x04 \x01(\x0b\x32).perfetto.protos.Dwc3EpDequeueFtraceEventH\x00\x12\x41\n\rdwc3_ep_queue\x18\xb5\x04 \x01(\x0b\x32\'.perfetto.protos.Dwc3EpQueueFtraceEventH\x00\x12<\n\ndwc3_event\x18\xb6\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3EventFtraceEventH\x00\x12I\n\x11\x64wc3_free_request\x18\xb7\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3FreeRequestFtraceEventH\x00\x12J\n\x12\x64wc3_gadget_ep_cmd\x18\xb8\x04 \x01(\x0b\x32+.perfetto.protos.Dwc3GadgetEpCmdFtraceEventH\x00\x12R\n\x16\x64wc3_gadget_ep_disable\x18\xb9\x04 \x01(\x0b\x32/.perfetto.protos.Dwc3GadgetEpDisableFtraceEventH\x00\x12P\n\x15\x64wc3_gadget_ep_enable\x18\xba\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetEpEnableFtraceEventH\x00\x12T\n\x17\x64wc3_gadget_generic_cmd\x18\xbb\x04 \x01(\x0b\x32\x30.perfetto.protos.Dwc3GadgetGenericCmdFtraceEventH\x00\x12O\n\x14\x64wc3_gadget_giveback\x18\xbc\x04 \x01(\x0b\x32..perfetto.protos.Dwc3GadgetGivebackFtraceEventH\x00\x12G\n\x10\x64wc3_prepare_trb\x18\xbd\x04 \x01(\x0b\x32*.perfetto.protos.Dwc3PrepareTrbFtraceEventH\x00\x12<\n\ndwc3_readl\x18\xbe\x04 \x01(\x0b\x32%.perfetto.protos.Dwc3ReadlFtraceEventH\x00\x12>\n\x0b\x64wc3_writel\x18\xbf\x04 \x01(\x0b\x32&.perfetto.protos.Dwc3WritelFtraceEventH\x00\x12G\n\x10\x63ma_alloc_finish\x18\xc0\x04 \x01(\x0b\x32*.perfetto.protos.CmaAllocFinishFtraceEventH\x00\x12h\n\"mm_alloc_contig_migrate_range_info\x18\xc1\x04 \x01(\x0b\x32\x39.perfetto.protos.MmAllocContigMigrateRangeInfoFtraceEventH\x00\x12\x41\n\rhost_ffa_call\x18\xc2\x04 \x01(\x0b\x32\'.perfetto.protos.HostFfaCallFtraceEventH\x00\x12\x45\n\x0f\x64mabuf_rss_stat\x18\xc3\x04 \x01(\x0b\x32).perfetto.protos.DmabufRssStatFtraceEventH\x00\x12>\n\x0biommu_idmap\x18\xc4\x04 \x01(\x0b\x32&.perfetto.protos.IommuIdmapFtraceEventH\x00\x12G\n\x10psci_mem_protect\x18\xc5\x04 \x01(\x0b\x32*.perfetto.protos.PsciMemProtectFtraceEventH\x00\x12Q\n\x15hypervisor_host_hcall\x18\xc6\x04 \x01(\x0b\x32/.perfetto.protos.HypervisorHostHcallFtraceEventH\x00\x12M\n\x13hypervisor_host_smc\x18\xc7\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHostSmcFtraceEventH\x00\x12M\n\x13hypervisor_hyp_exit\x18\xc8\x04 \x01(\x0b\x32-.perfetto.protos.HypervisorHypExitFtraceEventH\x00\x12S\n\x16hypervisor_iommu_idmap\x18\xc9\x04 \x01(\x0b\x32\x30.perfetto.protos.HypervisorIommuIdmapFtraceEventH\x00\x12\\\n\x1bhypervisor_psci_mem_protect\x18\xca\x04 \x01(\x0b\x32\x34.perfetto.protos.HypervisorPsciMemProtectFtraceEventH\x00\x12X\n\x19hypervisor_host_mem_abort\x18\xcb\x04 \x01(\x0b\x32\x32.perfetto.protos.HypervisorHostMemAbortFtraceEventH\x00\x12O\n\x14hypervisor_hyp_enter\x18\xcc\x04 \x01(\x0b\x32..perfetto.protos.HypervisorHypEnterFtraceEventH\x00\x12\x64\n\x1fhypervisor_iommu_idmap_complete\x18\xcd\x04 \x01(\x0b\x32\x38.perfetto.protos.HypervisorIommuIdmapCompleteFtraceEventH\x00\x12^\n\x1chypervisor_vcpu_illegal_trap\x18\xce\x04 \x01(\x0b\x32\x35.perfetto.protos.HypervisorVcpuIllegalTrapFtraceEventH\x00\x12O\n\x15\x64rm_sched_job_add_dep\x18\xcf\x04 \x01(\x0b\x32-.perfetto.protos.DrmSchedJobAddDepFtraceEventH\x00\x12J\n\x12\x64rm_sched_job_done\x18\xd0\x04 \x01(\x0b\x32+.perfetto.protos.DrmSchedJobDoneFtraceEventH\x00\x12L\n\x13\x64rm_sched_job_queue\x18\xd1\x04 \x01(\x0b\x32,.perfetto.protos.DrmSchedJobQueueFtraceEventH\x00\x12H\n\x11\x64rm_sched_job_run\x18\xd2\x04 \x01(\x0b\x32*.perfetto.protos.DrmSchedJobRunFtraceEventH\x00\x12\\\n\x1b\x64rm_sched_job_unschedulable\x18\xd3\x04 \x01(\x0b\x32\x34.perfetto.protos.DrmSchedJobUnschedulableFtraceEventH\x00\x42\x07\n\x05\x65ventJ\x08\x08\x80\x80\x04\x10\x81\x80\x08\"\xc1\x01\n\x0e\x46traceCpuStats\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0f\n\x07\x65ntries\x18\x02 \x01(\x04\x12\x0f\n\x07overrun\x18\x03 \x01(\x04\x12\x16\n\x0e\x63ommit_overrun\x18\x04 \x01(\x04\x12\x12\n\nbytes_read\x18\x05 \x01(\x04\x12\x17\n\x0foldest_event_ts\x18\x06 \x01(\x01\x12\x0e\n\x06now_ts\x18\x07 \x01(\x01\x12\x16\n\x0e\x64ropped_events\x18\x08 \x01(\x04\x12\x13\n\x0bread_events\x18\t \x01(\x04\"1\n\x11\x46traceKprobeStats\x12\x0c\n\x04hits\x18\x01 \x01(\x03\x12\x0e\n\x06misses\x18\x02 \x01(\x03\"\xc7\x04\n\x0b\x46traceStats\x12\x31\n\x05phase\x18\x01 \x01(\x0e\x32\".perfetto.protos.FtraceStats.Phase\x12\x32\n\tcpu_stats\x18\x02 \x03(\x0b\x32\x1f.perfetto.protos.FtraceCpuStats\x12\x1d\n\x15kernel_symbols_parsed\x18\x03 \x01(\r\x12\x1d\n\x15kernel_symbols_mem_kb\x18\x04 \x01(\r\x12\x15\n\ratrace_errors\x18\x05 \x01(\t\x12\x1f\n\x17\x65xclusive_feature_error\x18\r \x01(\t\x12\x1d\n\x15unknown_ftrace_events\x18\x06 \x03(\t\x12\x1c\n\x14\x66\x61iled_ftrace_events\x18\x07 \x03(\t\x12\x1e\n\x16preserve_ftrace_buffer\x18\x08 \x01(\x08\x12?\n\x13\x66trace_parse_errors\x18\t \x03(\x0e\x32\".perfetto.protos.FtraceParseStatus\x12\x38\n\x0ckprobe_stats\x18\n \x01(\x0b\x32\".perfetto.protos.FtraceKprobeStats\x12\x1d\n\x15\x63pu_buffer_size_pages\x18\x0b \x01(\r\x12$\n\x1c\x63\x61\x63hed_cpu_buffer_size_pages\x18\x0c \x01(\r\">\n\x05Phase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x12\n\x0eSTART_OF_TRACE\x10\x01\x12\x10\n\x0c\x45ND_OF_TRACE\x10\x02\"\xb8\x08\n\x11\x46traceEventBundle\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12+\n\x05\x65vent\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.FtraceEvent\x12\x13\n\x0blost_events\x18\x03 \x01(\x08\x12\x46\n\rcompact_sched\x18\x04 \x01(\x0b\x32/.perfetto.protos.FtraceEventBundle.CompactSched\x12\x32\n\x0c\x66trace_clock\x18\x05 \x01(\x0e\x32\x1c.perfetto.protos.FtraceClock\x12\x18\n\x10\x66trace_timestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x62oot_timestamp\x18\x07 \x01(\x03\x12=\n\x05\x65rror\x18\x08 \x03(\x0b\x32..perfetto.protos.FtraceEventBundle.FtraceError\x12!\n\x19last_read_event_timestamp\x18\t \x01(\x04\x12%\n\x1dprevious_bundle_end_timestamp\x18\n \x01(\x04\x12\\\n\x19generic_event_descriptors\x18\x0b \x03(\x0b\x32\x39.perfetto.protos.FtraceEventBundle.GenericEventDescriptor\x12\x1e\n\x15\x62roken_abi_trace_page\x18\x80\x04 \x01(\x0c\x1a\xee\x02\n\x0c\x43ompactSched\x12\x14\n\x0cintern_table\x18\x05 \x03(\t\x12\x1c\n\x10switch_timestamp\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x1d\n\x11switch_prev_state\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x1b\n\x0fswitch_next_pid\x18\x03 \x03(\x05\x42\x02\x10\x01\x12\x1c\n\x10switch_next_prio\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\"\n\x16switch_next_comm_index\x18\x06 \x03(\rB\x02\x10\x01\x12\x1c\n\x10waking_timestamp\x18\x07 \x03(\x04\x42\x02\x10\x01\x12\x16\n\nwaking_pid\x18\x08 \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_target_cpu\x18\t \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0bwaking_prio\x18\n \x03(\x05\x42\x02\x10\x01\x12\x1d\n\x11waking_comm_index\x18\x0b \x03(\rB\x02\x10\x01\x12\x1f\n\x13waking_common_flags\x18\x0c \x03(\rB\x02\x10\x01\x1aT\n\x0b\x46traceError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".perfetto.protos.FtraceParseStatus\x1aX\n\x16GenericEventDescriptor\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\x05\x12\x12\n\ngroup_name\x18\x03 \x01(\t\x12\x18\n\x10\x65vent_descriptor\x18\x02 \x01(\x0c\">\n\x1eGenericKernelCpuFrequencyEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0f\n\x07\x66req_hz\x18\x02 \x01(\x03\"\xa2\x03\n\x1bGenericKernelTaskStateEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x05\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\x12\x0b\n\x03tid\x18\x03 \x01(\x03\x12I\n\x05state\x18\x04 \x01(\x0e\x32:.perfetto.protos.GenericKernelTaskStateEvent.TaskStateEnum\x12\x0c\n\x04prio\x18\x05 \x01(\x05\"\x81\x02\n\rTaskStateEnum\x12\x16\n\x12TASK_STATE_UNKNOWN\x10\x00\x12\x16\n\x12TASK_STATE_CREATED\x10\x01\x12\x17\n\x13TASK_STATE_RUNNABLE\x10\x02\x12\x16\n\x12TASK_STATE_RUNNING\x10\x03\x12\"\n\x1eTASK_STATE_INTERRUPTIBLE_SLEEP\x10\x04\x12$\n TASK_STATE_UNINTERRUPTIBLE_SLEEP\x10\x05\x12\x16\n\x12TASK_STATE_STOPPED\x10\x06\x12\x13\n\x0fTASK_STATE_DEAD\x10\x07\x12\x18\n\x14TASK_STATE_DESTROYED\x10\x08\"9\n\x1cGenericKernelTaskRenameEvent\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x02 \x01(\t\"\xa4\x02\n\x18GenericKernelProcessTree\x12\x44\n\tprocesses\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.GenericKernelProcessTree.Process\x12\x41\n\x07threads\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.GenericKernelProcessTree.Thread\x1aH\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x03\x12\x0b\n\x03pid\x18\x02 \x01(\x03\x12\x0c\n\x04\x63omm\x18\x03 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x04 \x01(\x08\x1a\x35\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x0c\n\x04ppid\x18\x02 \x01(\x03\x12\x0f\n\x07\x63mdline\x18\x03 \x01(\t\"\xfb\x01\n\x0fGpuCounterEvent\x12\x41\n\x12\x63ounter_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.GpuCounterDescriptor\x12=\n\x08\x63ounters\x18\x02 \x03(\x0b\x32+.perfetto.protos.GpuCounterEvent.GpuCounter\x12\x0e\n\x06gpu_id\x18\x03 \x01(\x05\x1aV\n\nGpuCounter\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value\"\x84\x02\n\x06GpuLog\x12\x32\n\x08severity\x18\x01 \x01(\x0e\x32 .perfetto.protos.GpuLog.Severity\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12\x13\n\x0blog_message\x18\x03 \x01(\t\"\xa3\x01\n\x08Severity\x12\x1c\n\x18LOG_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14LOG_SEVERITY_VERBOSE\x10\x01\x12\x16\n\x12LOG_SEVERITY_DEBUG\x10\x02\x12\x15\n\x11LOG_SEVERITY_INFO\x10\x03\x12\x18\n\x14LOG_SEVERITY_WARNING\x10\x04\x12\x16\n\x12LOG_SEVERITY_ERROR\x10\x05\"\x97\x07\n\x13GpuRenderStageEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x04\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12\x14\n\x0chw_queue_iid\x18\r \x01(\x04\x12\x11\n\tstage_iid\x18\x0e \x01(\x04\x12\x0e\n\x06gpu_id\x18\x0b \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x05 \x01(\x04\x12\x1c\n\x14render_target_handle\x18\x08 \x01(\x04\x12\x15\n\rsubmission_id\x18\n \x01(\r\x12\x42\n\nextra_data\x18\x06 \x03(\x0b\x32..perfetto.protos.GpuRenderStageEvent.ExtraData\x12\x1a\n\x12render_pass_handle\x18\t \x01(\x04\x12\x1f\n\x17render_pass_instance_id\x18\x10 \x01(\x04\x12!\n\x19render_subpass_index_mask\x18\x0f \x03(\x04\x12\x1d\n\x15\x63ommand_buffer_handle\x18\x0c \x01(\x04\x12O\n\x0especifications\x18\x07 \x01(\x0b\x32\x33.perfetto.protos.GpuRenderStageEvent.SpecificationsB\x02\x18\x01\x12\x17\n\x0bhw_queue_id\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x14\n\x08stage_id\x18\x04 \x01(\x05\x42\x02\x18\x01\x1a(\n\tExtraData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe9\x02\n\x0eSpecifications\x12U\n\x0c\x63ontext_spec\x18\x01 \x01(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.ContextSpec\x12Q\n\x08hw_queue\x18\x02 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x12N\n\x05stage\x18\x03 \x03(\x0b\x32?.perfetto.protos.GpuRenderStageEvent.Specifications.Description\x1a+\n\x0b\x43ontextSpec\x12\x0f\n\x07\x63ontext\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x1a\x30\n\x0b\x44\x65scription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*\x04\x08\x64\x10\x65\"\xaa\x01\n\x17InternedGraphicsContext\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x39\n\x03\x61pi\x18\x03 \x01(\x0e\x32,.perfetto.protos.InternedGraphicsContext.Api\":\n\x03\x41pi\x12\r\n\tUNDEFINED\x10\x00\x12\x0b\n\x07OPEN_GL\x10\x01\x12\n\n\x06VULKAN\x10\x02\x12\x0b\n\x07OPEN_CL\x10\x03\"\xee\x01\n#InternedGpuRenderStageSpecification\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12Z\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32H.perfetto.protos.InternedGpuRenderStageSpecification.RenderStageCategory\";\n\x13RenderStageCategory\x12\t\n\x05OTHER\x10\x00\x12\x0c\n\x08GRAPHICS\x10\x01\x12\x0b\n\x07\x43OMPUTE\x10\x02\"\xbb\x03\n\x0eVulkanApiEvent\x12\\\n\x1avk_debug_utils_object_name\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.VulkanApiEvent.VkDebugUtilsObjectNameH\x00\x12H\n\x0fvk_queue_submit\x18\x02 \x01(\x0b\x32-.perfetto.protos.VulkanApiEvent.VkQueueSubmitH\x00\x1ar\n\x16VkDebugUtilsObjectName\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12\x11\n\tvk_device\x18\x02 \x01(\x04\x12\x13\n\x0bobject_type\x18\x03 \x01(\x05\x12\x0e\n\x06object\x18\x04 \x01(\x04\x12\x13\n\x0bobject_name\x18\x05 \x01(\t\x1a\x83\x01\n\rVkQueueSubmit\x12\x13\n\x0b\x64uration_ns\x18\x01 \x01(\x04\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x10\n\x08vk_queue\x18\x04 \x01(\x04\x12\x1a\n\x12vk_command_buffers\x18\x05 \x03(\x04\x12\x15\n\rsubmission_id\x18\x06 \x01(\rB\x07\n\x05\x65vent\"z\n\x1bVulkanMemoryEventAnnotation\x12\x0f\n\x07key_iid\x18\x01 \x01(\x04\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x03 \x01(\x01H\x00\x12\x14\n\nstring_iid\x18\x04 \x01(\x04H\x00\x42\x07\n\x05value\"\xe8\x06\n\x11VulkanMemoryEvent\x12\x39\n\x06source\x18\x01 \x01(\x0e\x32).perfetto.protos.VulkanMemoryEvent.Source\x12?\n\toperation\x18\x02 \x01(\x0e\x32,.perfetto.protos.VulkanMemoryEvent.Operation\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x16\n\x0ememory_address\x18\x05 \x01(\x06\x12\x13\n\x0bmemory_size\x18\x06 \x01(\x04\x12\x12\n\ncaller_iid\x18\x07 \x01(\x04\x12L\n\x10\x61llocation_scope\x18\x08 \x01(\x0e\x32\x32.perfetto.protos.VulkanMemoryEvent.AllocationScope\x12\x41\n\x0b\x61nnotations\x18\t \x03(\x0b\x32,.perfetto.protos.VulkanMemoryEventAnnotation\x12\x0e\n\x06\x64\x65vice\x18\x10 \x01(\x06\x12\x15\n\rdevice_memory\x18\x11 \x01(\x06\x12\x13\n\x0bmemory_type\x18\x12 \x01(\r\x12\x0c\n\x04heap\x18\x13 \x01(\r\x12\x15\n\robject_handle\x18\x14 \x01(\x06\"\x85\x01\n\x06Source\x12\x16\n\x12SOURCE_UNSPECIFIED\x10\x00\x12\x11\n\rSOURCE_DRIVER\x10\x01\x12\x11\n\rSOURCE_DEVICE\x10\x02\x12\x18\n\x14SOURCE_DEVICE_MEMORY\x10\x03\x12\x11\n\rSOURCE_BUFFER\x10\x04\x12\x10\n\x0cSOURCE_IMAGE\x10\x05\"u\n\tOperation\x12\x12\n\x0eOP_UNSPECIFIED\x10\x00\x12\r\n\tOP_CREATE\x10\x01\x12\x0e\n\nOP_DESTROY\x10\x02\x12\x0b\n\x07OP_BIND\x10\x03\x12\x14\n\x10OP_DESTROY_BOUND\x10\x04\x12\x12\n\x0eOP_ANNOTATIONS\x10\x05\"\x84\x01\n\x0f\x41llocationScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x11\n\rSCOPE_COMMAND\x10\x01\x12\x10\n\x0cSCOPE_OBJECT\x10\x02\x12\x0f\n\x0bSCOPE_CACHE\x10\x03\x12\x10\n\x0cSCOPE_DEVICE\x10\x04\x12\x12\n\x0eSCOPE_INSTANCE\x10\x05\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"L\n\x04Line\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x18\n\x10source_file_name\x18\x02 \x01(\t\x12\x13\n\x0bline_number\x18\x03 \x01(\r\"G\n\x0e\x41\x64\x64ressSymbols\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12$\n\x05lines\x18\x02 \x03(\x0b\x32\x15.perfetto.protos.Line\"i\n\rModuleSymbols\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x38\n\x0f\x61\x64\x64ress_symbols\x18\x03 \x03(\x0b\x32\x1f.perfetto.protos.AddressSymbols\"\x9c\x01\n\x07Mapping\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\x04\x12\x14\n\x0c\x65xact_offset\x18\x08 \x01(\x04\x12\x14\n\x0cstart_offset\x18\x03 \x01(\x04\x12\r\n\x05start\x18\x04 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x05 \x01(\x04\x12\x11\n\tload_bias\x18\x06 \x01(\x04\x12\x17\n\x0fpath_string_ids\x18\x07 \x03(\x04\"R\n\x05\x46rame\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x01(\x04\x12\x12\n\nmapping_id\x18\x03 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x04 \x01(\x04\"+\n\tCallstack\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tframe_ids\x18\x02 \x03(\x04\"*\n\rHistogramName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"Z\n\x15\x43hromeHistogramSample\x12\x11\n\tname_hash\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06sample\x18\x03 \x01(\x03\x12\x10\n\x08name_iid\x18\x04 \x01(\x04\"\xac\x07\n\x0f\x44\x65\x62ugAnnotation\x12\x12\n\x08name_iid\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04name\x18\n \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x01\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x01\x12\x13\n\tint_value\x18\x04 \x01(\x03H\x01\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x01\x12\x17\n\rpointer_value\x18\x07 \x01(\x04H\x01\x12\x44\n\x0cnested_value\x18\x08 \x01(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValueH\x01\x12\x1b\n\x11legacy_json_value\x18\t \x01(\tH\x01\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x01\x12\x1a\n\x10string_value_iid\x18\x11 \x01(\x04H\x01\x12\x19\n\x0fproto_type_name\x18\x10 \x01(\tH\x02\x12\x1d\n\x13proto_type_name_iid\x18\r \x01(\x04H\x02\x12\x13\n\x0bproto_value\x18\x0e \x01(\x0c\x12\x36\n\x0c\x64ict_entries\x18\x0b \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0c\x61rray_values\x18\x0c \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x1a\xfc\x02\n\x0bNestedValue\x12L\n\x0bnested_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.DebugAnnotation.NestedValue.NestedType\x12\x11\n\tdict_keys\x18\x02 \x03(\t\x12\x41\n\x0b\x64ict_values\x18\x03 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x42\n\x0c\x61rray_values\x18\x04 \x03(\x0b\x32,.perfetto.protos.DebugAnnotation.NestedValue\x12\x11\n\tint_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x12\n\nbool_value\x18\x07 \x01(\x08\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\"2\n\nNestedType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x44ICT\x10\x01\x12\t\n\x05\x41RRAY\x10\x02\x42\x0c\n\nname_fieldB\x07\n\x05valueB\x17\n\x15proto_type_descriptor\"0\n\x13\x44\x65\x62ugAnnotationName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"9\n\x1c\x44\x65\x62ugAnnotationValueTypeName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x02\n\nLogMessage\x12\x1b\n\x13source_location_iid\x18\x01 \x01(\x04\x12\x10\n\x08\x62ody_iid\x18\x02 \x01(\x04\x12\x32\n\x04prio\x18\x03 \x01(\x0e\x32$.perfetto.protos.LogMessage.Priority\"\x91\x01\n\x08Priority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07\"+\n\x0eLogMessageBody\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"M\n\x1aUnsymbolizedSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x12\n\nmapping_id\x18\x02 \x01(\x04\x12\x0e\n\x06rel_pc\x18\x03 \x01(\x04\"\\\n\x0eSourceLocation\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x15\n\rfunction_name\x18\x03 \x01(\t\x12\x13\n\x0bline_number\x18\x04 \x01(\r\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05\"\xee\x02\n\x1a\x43hromeApplicationStateInfo\x12]\n\x11\x61pplication_state\x18\x01 \x01(\x0e\x32\x42.perfetto.protos.ChromeApplicationStateInfo.ChromeApplicationState\"\xf0\x01\n\x16\x43hromeApplicationState\x12\x1d\n\x19\x41PPLICATION_STATE_UNKNOWN\x10\x00\x12,\n(APPLICATION_STATE_HAS_RUNNING_ACTIVITIES\x10\x01\x12+\n\'APPLICATION_STATE_HAS_PAUSED_ACTIVITIES\x10\x02\x12,\n(APPLICATION_STATE_HAS_STOPPED_ACTIVITIES\x10\x03\x12.\n*APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES\x10\x04\"\xbf\x08\n\x1e\x43hromeCompositorSchedulerState\x12\x44\n\rstate_machine\x18\x01 \x01(\x0b\x32-.perfetto.protos.ChromeCompositorStateMachine\x12$\n\x1cobserving_begin_frame_source\x18\x02 \x01(\x08\x12&\n\x1e\x62\x65gin_impl_frame_deadline_task\x18\x03 \x01(\x08\x12 \n\x18pending_begin_frame_task\x18\x04 \x01(\x08\x12\x33\n+skipped_last_frame_missed_exceeded_deadline\x18\x05 \x01(\x08\x12G\n\rinside_action\x18\x07 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12\x61\n\rdeadline_mode\x18\x08 \x01(\x0e\x32J.perfetto.protos.ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\t \x01(\x03\x12 \n\x18\x64\x65\x61\x64line_scheduled_at_us\x18\n \x01(\x03\x12\x0e\n\x06now_us\x18\x0b \x01(\x03\x12 \n\x18now_to_deadline_delta_us\x18\x0c \x01(\x03\x12-\n%now_to_deadline_scheduled_at_delta_us\x18\r \x01(\x03\x12\x42\n\x15\x62\x65gin_impl_frame_args\x18\x0e \x01(\x0b\x32#.perfetto.protos.BeginImplFrameArgs\x12L\n\x1a\x62\x65gin_frame_observer_state\x18\x0f \x01(\x0b\x32(.perfetto.protos.BeginFrameObserverState\x12H\n\x18\x62\x65gin_frame_source_state\x18\x10 \x01(\x0b\x32&.perfetto.protos.BeginFrameSourceState\x12K\n\x19\x63ompositor_timing_history\x18\x11 \x01(\x0b\x32(.perfetto.protos.CompositorTimingHistory\"\xbe\x01\n\x1a\x42\x65ginImplFrameDeadlineMode\x12\x1d\n\x19\x44\x45\x41\x44LINE_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_NONE\x10\x01\x12\x1b\n\x17\x44\x45\x41\x44LINE_MODE_IMMEDIATE\x10\x02\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_REGULAR\x10\x03\x12\x16\n\x12\x44\x45\x41\x44LINE_MODE_LATE\x10\x04\x12\x19\n\x15\x44\x45\x41\x44LINE_MODE_BLOCKED\x10\x05J\x04\x08\x06\x10\x07\"\xfe\x1c\n\x1c\x43hromeCompositorStateMachine\x12M\n\x0bmajor_state\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MajorState\x12M\n\x0bminor_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.ChromeCompositorStateMachine.MinorState\x1a\x93\n\n\nMajorState\x12\x45\n\x0bnext_action\x18\x01 \x01(\x0e\x32\x30.perfetto.protos.ChromeCompositorSchedulerAction\x12l\n\x16\x62\x65gin_impl_frame_state\x18\x02 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginImplFrameState\x12l\n\x16\x62\x65gin_main_frame_state\x18\x03 \x01(\x0e\x32L.perfetto.protos.ChromeCompositorStateMachine.MajorState.BeginMainFrameState\x12u\n\x1blayer_tree_frame_sink_state\x18\x04 \x01(\x0e\x32P.perfetto.protos.ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState\x12p\n\x13\x66orced_redraw_state\x18\x05 \x01(\x0e\x32S.perfetto.protos.ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState\"\xa1\x01\n\x13\x42\x65ginImplFrameState\x12 \n\x1c\x42\x45GIN_IMPL_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_IMPL_FRAME_IDLE\x10\x01\x12\'\n#BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME\x10\x02\x12$\n BEGIN_IMPL_FRAME_INSIDE_DEADLINE\x10\x03\"\x93\x01\n\x13\x42\x65ginMainFrameState\x12 \n\x1c\x42\x45GIN_MAIN_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_IDLE\x10\x01\x12\x19\n\x15\x42\x45GIN_MAIN_FRAME_SENT\x10\x02\x12$\n BEGIN_MAIN_FRAME_READY_TO_COMMIT\x10\x03\"\xf4\x01\n\x17LayerTreeFrameSinkState\x12 \n\x1cLAYER_TREE_FRAME_UNSPECIFIED\x10\x00\x12\x19\n\x15LAYER_TREE_FRAME_NONE\x10\x01\x12\x1b\n\x17LAYER_TREE_FRAME_ACTIVE\x10\x02\x12\x1d\n\x19LAYER_TREE_FRAME_CREATING\x10\x03\x12-\n)LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT\x10\x04\x12\x31\n-LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION\x10\x05\"\xc7\x01\n\x1a\x46orcedRedrawOnTimeoutState\x12\x1d\n\x19\x46ORCED_REDRAW_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46ORCED_REDRAW_IDLE\x10\x01\x12$\n FORCED_REDRAW_WAITING_FOR_COMMIT\x10\x02\x12(\n$FORCED_REDRAW_WAITING_FOR_ACTIVATION\x10\x03\x12\"\n\x1e\x46ORCED_REDRAW_WAITING_FOR_DRAW\x10\x04\x1a\xa9\x11\n\nMinorState\x12\x14\n\x0c\x63ommit_count\x18\x01 \x01(\x05\x12\x1c\n\x14\x63urrent_frame_number\x18\x02 \x01(\x05\x12*\n\"last_frame_number_submit_performed\x18\x03 \x01(\x05\x12(\n last_frame_number_draw_performed\x18\x04 \x01(\x05\x12/\n\'last_frame_number_begin_main_frame_sent\x18\x05 \x01(\x05\x12\x10\n\x08\x64id_draw\x18\x06 \x01(\x08\x12\x33\n+did_send_begin_main_frame_for_current_frame\x18\x07 \x01(\x08\x12\x36\n.did_notify_begin_main_frame_not_expected_until\x18\x08 \x01(\x08\x12\x35\n-did_notify_begin_main_frame_not_expected_soon\x18\t \x01(\x08\x12+\n#wants_begin_main_frame_not_expected\x18\n \x01(\x08\x12\x1f\n\x17\x64id_commit_during_frame\x18\x0b \x01(\x08\x12,\n$did_invalidate_layer_tree_frame_sink\x18\x0c \x01(\x08\x12)\n!did_perform_impl_side_invalidaion\x18\r \x01(\x08\x12\x19\n\x11\x64id_prepare_tiles\x18\x0e \x01(\x08\x12+\n#consecutive_checkerboard_animations\x18\x0f \x01(\x05\x12\x1d\n\x15pending_submit_frames\x18\x10 \x01(\x05\x12\x38\n0submit_frames_with_current_layer_tree_frame_sink\x18\x11 \x01(\x05\x12\x14\n\x0cneeds_redraw\x18\x12 \x01(\x08\x12\x1b\n\x13needs_prepare_tiles\x18\x13 \x01(\x08\x12\x1e\n\x16needs_begin_main_frame\x18\x14 \x01(\x08\x12\"\n\x1aneeds_one_begin_impl_frame\x18\x15 \x01(\x08\x12\x0f\n\x07visible\x18\x16 \x01(\x08\x12!\n\x19\x62\x65gin_frame_source_paused\x18\x17 \x01(\x08\x12\x10\n\x08\x63\x61n_draw\x18\x18 \x01(\x08\x12\x19\n\x11resourceless_draw\x18\x19 \x01(\x08\x12\x18\n\x10has_pending_tree\x18\x1a \x01(\x08\x12,\n$pending_tree_is_ready_for_activation\x18\x1b \x01(\x08\x12$\n\x1c\x61\x63tive_tree_needs_first_draw\x18\x1c \x01(\x08\x12$\n\x1c\x61\x63tive_tree_is_ready_to_draw\x18\x1d \x01(\x08\x12=\n5did_create_and_initialize_first_layer_tree_frame_sink\x18\x1e \x01(\x08\x12\\\n\rtree_priority\x18\x1f \x01(\x0e\x32\x45.perfetto.protos.ChromeCompositorStateMachine.MinorState.TreePriority\x12i\n\x14scroll_handler_state\x18 \x01(\x0e\x32K.perfetto.protos.ChromeCompositorStateMachine.MinorState.ScrollHandlerState\x12\x35\n-critical_begin_main_frame_to_activate_is_fast\x18! \x01(\x08\x12(\n main_thread_missed_last_deadline\x18\" \x01(\x08\x12 \n\x18video_needs_begin_frames\x18$ \x01(\x08\x12\x1e\n\x16\x64\x65\x66\x65r_begin_main_frame\x18% \x01(\x08\x12\"\n\x1alast_commit_had_no_updates\x18& \x01(\x08\x12\x1e\n\x16\x64id_draw_in_last_frame\x18\' \x01(\x08\x12 \n\x18\x64id_submit_in_last_frame\x18( \x01(\x08\x12$\n\x1cneeds_impl_side_invalidation\x18) \x01(\x08\x12)\n!current_pending_tree_is_impl_side\x18* \x01(\x08\x12+\n#previous_pending_tree_was_impl_side\x18+ \x01(\x08\x12\x35\n-processing_animation_worklets_for_active_tree\x18, \x01(\x08\x12\x36\n.processing_animation_worklets_for_pending_tree\x18- \x01(\x08\x12\x32\n*processing_paint_worklets_for_pending_tree\x18. \x01(\x08\"\xb8\x01\n\x0cTreePriority\x12\x1d\n\x19TREE_PRIORITY_UNSPECIFIED\x10\x00\x12.\n*TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES\x10\x01\x12+\n\'TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY\x10\x02\x12,\n(TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY\x10\x03\"\x82\x01\n\x12ScrollHandlerState\x12\x1e\n\x1aSCROLL_HANDLER_UNSPECIFIED\x10\x00\x12!\n\x1dSCROLL_AFFECTS_SCROLL_HANDLER\x10\x01\x12)\n%SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER\x10\x02J\x04\x08#\x10$\"\xaa\x04\n\x0e\x42\x65ginFrameArgs\x12@\n\x04type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.BeginFrameArgs.BeginFrameArgsType\x12\x11\n\tsource_id\x18\x02 \x01(\x04\x12\x17\n\x0fsequence_number\x18\x03 \x01(\x04\x12\x15\n\rframe_time_us\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65\x61\x64line_us\x18\x05 \x01(\x03\x12\x19\n\x11interval_delta_us\x18\x06 \x01(\x03\x12\x18\n\x10on_critical_path\x18\x07 \x01(\x08\x12\x14\n\x0c\x61nimate_only\x18\x08 \x01(\x08\x12\x1d\n\x13source_location_iid\x18\t \x01(\x04H\x00\x12:\n\x0fsource_location\x18\n \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x00\x12#\n\x1b\x66rames_throttled_since_last\x18\x0c \x01(\x03\"\xa2\x01\n\x12\x42\x65ginFrameArgsType\x12%\n!BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1d\x42\x45GIN_FRAME_ARGS_TYPE_INVALID\x10\x01\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_NORMAL\x10\x02\x12 \n\x1c\x42\x45GIN_FRAME_ARGS_TYPE_MISSED\x10\x03\x42\x0e\n\x0c\x63reated_from\"\xc0\x04\n\x12\x42\x65ginImplFrameArgs\x12\x15\n\rupdated_at_us\x18\x01 \x01(\x03\x12\x16\n\x0e\x66inished_at_us\x18\x02 \x01(\x03\x12\x38\n\x05state\x18\x03 \x01(\x0e\x32).perfetto.protos.BeginImplFrameArgs.State\x12\x37\n\x0c\x63urrent_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12\x34\n\tlast_args\x18\x05 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgsH\x00\x12L\n\x10timestamps_in_us\x18\x06 \x01(\x0b\x32\x32.perfetto.protos.BeginImplFrameArgs.TimestampsInUs\x1a\xc1\x01\n\x0eTimestampsInUs\x12\x16\n\x0einterval_delta\x18\x01 \x01(\x03\x12\x1d\n\x15now_to_deadline_delta\x18\x02 \x01(\x03\x12\x1f\n\x17\x66rame_time_to_now_delta\x18\x03 \x01(\x03\x12$\n\x1c\x66rame_time_to_deadline_delta\x18\x04 \x01(\x03\x12\x0b\n\x03now\x18\x05 \x01(\x03\x12\x12\n\nframe_time\x18\x06 \x01(\x03\x12\x10\n\x08\x64\x65\x61\x64line\x18\x07 \x01(\x03\"8\n\x05State\x12\x18\n\x14\x42\x45GIN_FRAME_FINISHED\x10\x00\x12\x15\n\x11\x42\x45GIN_FRAME_USING\x10\x01\x42\x06\n\x04\x61rgs\"{\n\x17\x42\x65ginFrameObserverState\x12 \n\x18\x64ropped_begin_frame_args\x18\x01 \x01(\x03\x12>\n\x15last_begin_frame_args\x18\x02 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\x91\x01\n\x15\x42\x65ginFrameSourceState\x12\x11\n\tsource_id\x18\x01 \x01(\r\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x15\n\rnum_observers\x18\x03 \x01(\r\x12>\n\x15last_begin_frame_args\x18\x04 \x01(\x0b\x32\x1f.perfetto.protos.BeginFrameArgs\"\xfc\x02\n\x17\x43ompositorTimingHistory\x12\x39\n1begin_main_frame_queue_critical_estimate_delta_us\x18\x01 \x01(\x03\x12=\n5begin_main_frame_queue_not_critical_estimate_delta_us\x18\x02 \x01(\x03\x12\x43\n;begin_main_frame_start_to_ready_to_commit_estimate_delta_us\x18\x03 \x01(\x03\x12\x35\n-commit_to_ready_to_activate_estimate_delta_us\x18\x04 \x01(\x03\x12\'\n\x1fprepare_tiles_estimate_delta_us\x18\x05 \x01(\x03\x12\"\n\x1a\x61\x63tivate_estimate_delta_us\x18\x06 \x01(\x03\x12\x1e\n\x16\x64raw_estimate_delta_us\x18\x07 \x01(\x03\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r\"\xe0\x08\n\x13\x43hromeFrameReporter\x12\x39\n\x05state\x18\x01 \x01(\x0e\x32*.perfetto.protos.ChromeFrameReporter.State\x12\x44\n\x06reason\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.ChromeFrameReporter.FrameDropReason\x12\x14\n\x0c\x66rame_source\x18\x03 \x01(\x04\x12\x16\n\x0e\x66rame_sequence\x18\x04 \x01(\x04\x12\x1a\n\x12\x61\x66\x66\x65\x63ts_smoothness\x18\x05 \x01(\x08\x12\x46\n\x0cscroll_state\x18\x06 \x01(\x0e\x32\x30.perfetto.protos.ChromeFrameReporter.ScrollState\x12\x1a\n\x12has_main_animation\x18\x07 \x01(\x08\x12 \n\x18has_compositor_animation\x18\x08 \x01(\x08\x12\x1d\n\x15has_smooth_input_main\x18\t \x01(\x08\x12\x1b\n\x13has_missing_content\x18\n \x01(\x08\x12\x1a\n\x12layer_tree_host_id\x18\x0b \x01(\x04\x12\x18\n\x10has_high_latency\x18\x0c \x01(\x08\x12\x42\n\nframe_type\x18\r \x01(\x0e\x32..perfetto.protos.ChromeFrameReporter.FrameType\x12\'\n\x1fhigh_latency_contribution_stage\x18\x0e \x03(\t\x12#\n\x1b\x63heckerboarded_needs_raster\x18\x0f \x01(\x08\x12#\n\x1b\x63heckerboarded_needs_record\x18\x10 \x01(\x08\x12\x1e\n\x16surface_frame_trace_id\x18\x11 \x01(\x03\x12\x18\n\x10\x64isplay_trace_id\x18\x12 \x01(\x03\"m\n\x05State\x12\x1b\n\x17STATE_NO_UPDATE_DESIRED\x10\x00\x12\x17\n\x13STATE_PRESENTED_ALL\x10\x01\x12\x1b\n\x17STATE_PRESENTED_PARTIAL\x10\x02\x12\x11\n\rSTATE_DROPPED\x10\x03\"~\n\x0f\x46rameDropReason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19REASON_DISPLAY_COMPOSITOR\x10\x01\x12\x16\n\x12REASON_MAIN_THREAD\x10\x02\x12\x1c\n\x18REASON_CLIENT_COMPOSITOR\x10\x03\"{\n\x0bScrollState\x12\x0f\n\x0bSCROLL_NONE\x10\x00\x12\x16\n\x12SCROLL_MAIN_THREAD\x10\x01\x12\x1c\n\x18SCROLL_COMPOSITOR_THREAD\x10\x02\x12\x11\n\rSCROLL_RASTER\x10\x03\x12\x12\n\x0eSCROLL_UNKNOWN\x10\x04\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01:\x02\x18\x01\"\"\n\x12\x43hromeKeyedService\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\r\n\x11\x43hromeLatencyInfo\x12\x10\n\x08trace_id\x18\x01 \x01(\x03\x12\x35\n\x04step\x18\x02 \x01(\x0e\x32\'.perfetto.protos.ChromeLatencyInfo.Step\x12\x1a\n\x12\x66rame_tree_node_id\x18\x03 \x01(\x05\x12H\n\x0e\x63omponent_info\x18\x04 \x03(\x0b\x32\x30.perfetto.protos.ChromeLatencyInfo.ComponentInfo\x12\x14\n\x0cis_coalesced\x18\x05 \x01(\x08\x12\x19\n\x11gesture_scroll_id\x18\x06 \x01(\x03\x12\x10\n\x08touch_id\x18\x07 \x01(\x03\x12@\n\ninput_type\x18\x08 \x01(\x0e\x32,.perfetto.protos.ChromeLatencyInfo.InputType\x1aq\n\rComponentInfo\x12O\n\x0e\x63omponent_type\x18\x01 \x01(\x0e\x32\x37.perfetto.protos.ChromeLatencyInfo.LatencyComponentType\x12\x0f\n\x07time_us\x18\x02 \x01(\x04\"\x92\x03\n\x04Step\x12\x14\n\x10STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18STEP_SEND_INPUT_EVENT_UI\x10\x03\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_IMPL\x10\x05\x12(\n$STEP_DID_HANDLE_INPUT_AND_OVERSCROLL\x10\x08\x12 \n\x1cSTEP_HANDLE_INPUT_EVENT_MAIN\x10\x04\x12\"\n\x1eSTEP_MAIN_THREAD_SCROLL_UPDATE\x10\x02\x12\'\n#STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT\x10\x01\x12)\n%STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL\x10\t\x12!\n\x1dSTEP_HANDLED_INPUT_EVENT_IMPL\x10\n\x12\x15\n\x11STEP_SWAP_BUFFERS\x10\x06\x12\x16\n\x12STEP_DRAW_AND_SWAP\x10\x07\x12\x1e\n\x1aSTEP_FINISHED_SWAP_BUFFERS\x10\x0b\"\xf5\x05\n\x14LatencyComponentType\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12+\n\'COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH\x10\x01\x12\x38\n4COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL\x10\x02\x12>\n:COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL\x10\x03\x12*\n&COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL\x10\x04\x12$\n COMPONENT_INPUT_EVENT_LATENCY_UI\x10\x05\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN\x10\x06\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN\x10\x07\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL\x10\x08\x12:\n6COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT\x10\t\x12)\n%COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH\x10\n\x12/\n+COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP\x10\x0b\x12/\n+COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME\x10\x0c\x12)\n%COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER\x10\r\x12,\n(COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP\x10\x0e\"\xac\x01\n\tInputType\x12\x18\n\x14UNSPECIFIED_OR_OTHER\x10\x00\x12\x0f\n\x0bTOUCH_MOVED\x10\x01\x12\x18\n\x14GESTURE_SCROLL_BEGIN\x10\x02\x12\x19\n\x15GESTURE_SCROLL_UPDATE\x10\x03\x12\x16\n\x12GESTURE_SCROLL_END\x10\x04\x12\x0f\n\x0bGESTURE_TAP\x10\x05\x12\x16\n\x12GESTURE_TAP_CANCEL\x10\x06\"\xce\x07\n\x0f\x43hromeLegacyIpc\x12\x44\n\rmessage_class\x18\x01 \x01(\x0e\x32-.perfetto.protos.ChromeLegacyIpc.MessageClass\x12\x14\n\x0cmessage_line\x18\x02 \x01(\r\"\xde\x06\n\x0cMessageClass\x12\x15\n\x11\x43LASS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43LASS_AUTOMATION\x10\x01\x12\x0f\n\x0b\x43LASS_FRAME\x10\x02\x12\x0e\n\nCLASS_PAGE\x10\x03\x12\x0e\n\nCLASS_VIEW\x10\x04\x12\x10\n\x0c\x43LASS_WIDGET\x10\x05\x12\x0f\n\x0b\x43LASS_INPUT\x10\x06\x12\x0e\n\nCLASS_TEST\x10\x07\x12\x10\n\x0c\x43LASS_WORKER\x10\x08\x12\x0e\n\nCLASS_NACL\x10\t\x12\x15\n\x11\x43LASS_GPU_CHANNEL\x10\n\x12\x0f\n\x0b\x43LASS_MEDIA\x10\x0b\x12\x0f\n\x0b\x43LASS_PPAPI\x10\x0c\x12\x10\n\x0c\x43LASS_CHROME\x10\r\x12\x0e\n\nCLASS_DRAG\x10\x0e\x12\x0f\n\x0b\x43LASS_PRINT\x10\x0f\x12\x13\n\x0f\x43LASS_EXTENSION\x10\x10\x12\x1b\n\x17\x43LASS_TEXT_INPUT_CLIENT\x10\x11\x12\x14\n\x10\x43LASS_BLINK_TEST\x10\x12\x12\x17\n\x13\x43LASS_ACCESSIBILITY\x10\x13\x12\x13\n\x0f\x43LASS_PRERENDER\x10\x14\x12\x14\n\x10\x43LASS_CHROMOTING\x10\x15\x12\x18\n\x14\x43LASS_BROWSER_PLUGIN\x10\x16\x12\x1a\n\x16\x43LASS_ANDROID_WEB_VIEW\x10\x17\x12\x13\n\x0f\x43LASS_NACL_HOST\x10\x18\x12\x19\n\x15\x43LASS_ENCRYPTED_MEDIA\x10\x19\x12\x0e\n\nCLASS_CAST\x10\x1a\x12\x19\n\x15\x43LASS_GIN_JAVA_BRIDGE\x10\x1b\x12!\n\x1d\x43LASS_CHROME_UTILITY_PRINTING\x10\x1c\x12\x13\n\x0f\x43LASS_OZONE_GPU\x10\x1d\x12\x12\n\x0e\x43LASS_WEB_TEST\x10\x1e\x12\x17\n\x13\x43LASS_NETWORK_HINTS\x10\x1f\x12\x1f\n\x1b\x43LASS_EXTENSIONS_GUEST_VIEW\x10 \x12\x14\n\x10\x43LASS_GUEST_VIEW\x10!\x12\x1f\n\x1b\x43LASS_MEDIA_PLAYER_DELEGATE\x10\"\x12\x1a\n\x16\x43LASS_EXTENSION_WORKER\x10#\x12\x1c\n\x18\x43LASS_SUBRESOURCE_FILTER\x10$\x12\x1b\n\x17\x43LASS_UNFREEZABLE_FRAME\x10%\"T\n\x11\x43hromeMessagePump\x12\x1e\n\x16sent_messages_in_queue\x18\x01 \x01(\x08\x12\x1f\n\x17io_handler_location_iid\x18\x02 \x01(\x04\"\xcc\x01\n\x13\x43hromeMojoEventInfo\x12$\n\x1cwatcher_notify_interface_tag\x18\x01 \x01(\t\x12\x10\n\x08ipc_hash\x18\x02 \x01(\r\x12\x1a\n\x12mojo_interface_tag\x18\x03 \x01(\t\x12!\n\x19mojo_interface_method_iid\x18\x04 \x01(\x04\x12\x10\n\x08is_reply\x18\x05 \x01(\x08\x12\x14\n\x0cpayload_size\x18\x06 \x01(\x04\x12\x16\n\x0e\x64\x61ta_num_bytes\x18\x07 \x01(\x04\"~\n\x1c\x43hromeRendererSchedulerState\x12\x32\n\trail_mode\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.ChromeRAILMode\x12\x17\n\x0fis_backgrounded\x18\x02 \x01(\x08\x12\x11\n\tis_hidden\x18\x03 \x01(\x08\"6\n\x0f\x43hromeUserEvent\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63tion_hash\x18\x02 \x01(\x04\"P\n\x1b\x43hromeWindowHandleEventInfo\x12\x0b\n\x03\x64pi\x18\x01 \x01(\r\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x10\n\x08hwnd_ptr\x18\x03 \x01(\x06\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04\"\xdf\x18\n\nTrackEvent\x12\x15\n\rcategory_iids\x18\x03 \x03(\x04\x12\x12\n\ncategories\x18\x16 \x03(\t\x12\x12\n\x08name_iid\x18\n \x01(\x04H\x00\x12\x0e\n\x04name\x18\x17 \x01(\tH\x00\x12.\n\x04type\x18\t \x01(\x0e\x32 .perfetto.protos.TrackEvent.Type\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12\x17\n\rcounter_value\x18\x1e \x01(\x03H\x01\x12\x1e\n\x14\x64ouble_counter_value\x18, \x01(\x01H\x01\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12\x1c\n\x14\x65xtra_counter_values\x18\x0c \x03(\x03\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\x12#\n\x1b\x65xtra_double_counter_values\x18. \x03(\x01\x12\x18\n\x0c\x66low_ids_old\x18$ \x03(\x04\x42\x02\x18\x01\x12\x10\n\x08\x66low_ids\x18/ \x03(\x06\x12$\n\x18terminating_flow_ids_old\x18* \x03(\x04\x42\x02\x18\x01\x12\x1c\n\x14terminating_flow_ids\x18\x30 \x03(\x06\x12\x18\n\x0e\x63orrelation_id\x18\x34 \x01(\x04H\x02\x12\x1c\n\x12\x63orrelation_id_str\x18\x35 \x01(\tH\x02\x12 \n\x16\x63orrelation_id_str_iid\x18\x36 \x01(\x04H\x02\x12;\n\x11\x64\x65\x62ug_annotations\x18\x04 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\x12\x36\n\x0etask_execution\x18\x05 \x01(\x0b\x32\x1e.perfetto.protos.TaskExecution\x12\x30\n\x0blog_message\x18\x15 \x01(\x0b\x32\x1b.perfetto.protos.LogMessage\x12K\n\x12\x63\x63_scheduler_state\x18\x18 \x01(\x0b\x32/.perfetto.protos.ChromeCompositorSchedulerState\x12;\n\x11\x63hrome_user_event\x18\x19 \x01(\x0b\x32 .perfetto.protos.ChromeUserEvent\x12\x41\n\x14\x63hrome_keyed_service\x18\x1a \x01(\x0b\x32#.perfetto.protos.ChromeKeyedService\x12;\n\x11\x63hrome_legacy_ipc\x18\x1b \x01(\x0b\x32 .perfetto.protos.ChromeLegacyIpc\x12G\n\x17\x63hrome_histogram_sample\x18\x1c \x01(\x0b\x32&.perfetto.protos.ChromeHistogramSample\x12?\n\x13\x63hrome_latency_info\x18\x1d \x01(\x0b\x32\".perfetto.protos.ChromeLatencyInfo\x12G\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporterB\x02\x18\x01\x12R\n\x1d\x63hrome_application_state_info\x18\' \x01(\x0b\x32+.perfetto.protos.ChromeApplicationStateInfo\x12V\n\x1f\x63hrome_renderer_scheduler_state\x18( \x01(\x0b\x32-.perfetto.protos.ChromeRendererSchedulerState\x12U\n\x1f\x63hrome_window_handle_event_info\x18) \x01(\x0b\x32,.perfetto.protos.ChromeWindowHandleEventInfo\x12[\n\"chrome_content_settings_event_info\x18+ \x01(\x0b\x32/.perfetto.protos.ChromeContentSettingsEventInfo\x12G\n\x17\x63hrome_active_processes\x18\x31 \x01(\x0b\x32&.perfetto.protos.ChromeActiveProcesses\x12/\n\nscreenshot\x18\x32 \x01(\x0b\x32\x1b.perfetto.protos.Screenshot\x12:\n\x0fsource_location\x18! \x01(\x0b\x32\x1f.perfetto.protos.SourceLocationH\x03\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x03\x12?\n\x13\x63hrome_message_pump\x18# \x01(\x0b\x32\".perfetto.protos.ChromeMessagePump\x12\x44\n\x16\x63hrome_mojo_event_info\x18& \x01(\x0b\x32$.perfetto.protos.ChromeMojoEventInfo\x12\x1c\n\x12timestamp_delta_us\x18\x01 \x01(\x03H\x04\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x04\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x05\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x05\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x06\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x06\x12=\n\x0clegacy_event\x18\x06 \x01(\x0b\x32\'.perfetto.protos.TrackEvent.LegacyEvent\x1a\xaa\x05\n\x0bLegacyEvent\x12\x10\n\x08name_iid\x18\x01 \x01(\x04\x12\r\n\x05phase\x18\x02 \x01(\x05\x12\x13\n\x0b\x64uration_us\x18\x03 \x01(\x03\x12\x1a\n\x12thread_duration_us\x18\x04 \x01(\x03\x12 \n\x18thread_instruction_delta\x18\x0f \x01(\x03\x12\x15\n\x0bunscoped_id\x18\x06 \x01(\x04H\x00\x12\x12\n\x08local_id\x18\n \x01(\x04H\x00\x12\x13\n\tglobal_id\x18\x0b \x01(\x04H\x00\x12\x10\n\x08id_scope\x18\x07 \x01(\t\x12\x15\n\ruse_async_tts\x18\t \x01(\x08\x12\x0f\n\x07\x62ind_id\x18\x08 \x01(\x04\x12\x19\n\x11\x62ind_to_enclosing\x18\x0c \x01(\x08\x12M\n\x0e\x66low_direction\x18\r \x01(\x0e\x32\x35.perfetto.protos.TrackEvent.LegacyEvent.FlowDirection\x12V\n\x13instant_event_scope\x18\x0e \x01(\x0e\x32\x39.perfetto.protos.TrackEvent.LegacyEvent.InstantEventScope\x12\x14\n\x0cpid_override\x18\x12 \x01(\x05\x12\x14\n\x0ctid_override\x18\x13 \x01(\x05\"P\n\rFlowDirection\x12\x14\n\x10\x46LOW_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46LOW_IN\x10\x01\x12\x0c\n\x08\x46LOW_OUT\x10\x02\x12\x0e\n\nFLOW_INOUT\x10\x03\"a\n\x11InstantEventScope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSCOPE_GLOBAL\x10\x01\x12\x11\n\rSCOPE_PROCESS\x10\x02\x12\x10\n\x0cSCOPE_THREAD\x10\x03\x42\x04\n\x02idJ\x04\x08\x05\x10\x06\"j\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10TYPE_SLICE_BEGIN\x10\x01\x12\x12\n\x0eTYPE_SLICE_END\x10\x02\x12\x10\n\x0cTYPE_INSTANT\x10\x03\x12\x10\n\x0cTYPE_COUNTER\x10\x04*\x06\x08\xe8\x07\x10\xd0\x0f*\x06\x08\xd0\x0f\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xb8\x17*\x06\x08\xb8\x17\x10\xacM*\x06\x08\xacM\x10\x91NB\x0c\n\nname_fieldB\x15\n\x13\x63ounter_value_fieldB\x16\n\x14\x63orrelation_id_fieldB\x17\n\x15source_location_fieldB\x0b\n\ttimestampB\r\n\x0bthread_timeB\x1a\n\x18thread_instruction_countJ\x04\x08\x33\x10\x34\"u\n\x12TrackEventDefaults\x12\x12\n\ntrack_uuid\x18\x0b \x01(\x04\x12!\n\x19\x65xtra_counter_track_uuids\x18\x1f \x03(\x04\x12(\n extra_double_counter_track_uuids\x18- \x03(\x04\"*\n\rEventCategory\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"&\n\tEventName\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc3\x10\n\x0cInternedData\x12\x38\n\x10\x65vent_categories\x18\x01 \x03(\x0b\x32\x1e.perfetto.protos.EventCategory\x12/\n\x0b\x65vent_names\x18\x02 \x03(\x0b\x32\x1a.perfetto.protos.EventName\x12\x44\n\x16\x64\x65\x62ug_annotation_names\x18\x03 \x03(\x0b\x32$.perfetto.protos.DebugAnnotationName\x12X\n!debug_annotation_value_type_names\x18\x1b \x03(\x0b\x32-.perfetto.protos.DebugAnnotationValueTypeName\x12\x39\n\x10source_locations\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.SourceLocation\x12R\n\x1dunsymbolized_source_locations\x18\x1c \x03(\x0b\x32+.perfetto.protos.UnsymbolizedSourceLocation\x12\x39\n\x10log_message_body\x18\x14 \x03(\x0b\x32\x1f.perfetto.protos.LogMessageBody\x12\x37\n\x0fhistogram_names\x18\x19 \x03(\x0b\x32\x1e.perfetto.protos.HistogramName\x12\x32\n\tbuild_ids\x18\x10 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x36\n\rmapping_paths\x18\x11 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x35\n\x0csource_paths\x18\x12 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0e\x66unction_names\x18\x05 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x13 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x06 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x07 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12;\n\x12vulkan_memory_keys\x18\x16 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x43\n\x11graphics_contexts\x18\x17 \x03(\x0b\x32(.perfetto.protos.InternedGraphicsContext\x12P\n\x12gpu_specifications\x18\x18 \x03(\x0b\x32\x34.perfetto.protos.InternedGpuRenderStageSpecification\x12\x37\n\x0ekernel_symbols\x18\x1a \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12G\n\x1e\x64\x65\x62ug_annotation_string_values\x18\x1d \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12=\n\x0epacket_context\x18\x1e \x03(\x0b\x32%.perfetto.protos.NetworkPacketContext\x12>\n\x13v8_js_function_name\x18\x1f \x03(\x0b\x32!.perfetto.protos.InternedV8String\x12=\n\x0ev8_js_function\x18 \x03(\x0b\x32%.perfetto.protos.InternedV8JsFunction\x12\x39\n\x0cv8_js_script\x18! \x03(\x0b\x32#.perfetto.protos.InternedV8JsScript\x12=\n\x0ev8_wasm_script\x18\" \x03(\x0b\x32%.perfetto.protos.InternedV8WasmScript\x12\x36\n\nv8_isolate\x18# \x03(\x0b\x32\".perfetto.protos.InternedV8Isolate\x12=\n\x14protolog_string_args\x18$ \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13protolog_stacktrace\x18% \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x41\n\x18viewcapture_package_name\x18& \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12@\n\x17viewcapture_window_name\x18\' \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12<\n\x13viewcapture_view_id\x18( \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12?\n\x16viewcapture_class_name\x18) \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12;\n\x11\x61pp_wakelock_info\x18* \x03(\x0b\x32 .perfetto.protos.AppWakelockInfo\x12;\n\x12\x63orrelation_id_str\x18+ \x03(\x0b\x32\x1f.perfetto.protos.InternedStringJ\x04\x08\x15\x10\x16\"\xf0\x07\n\x15MemoryTrackerSnapshot\x12\x16\n\x0eglobal_dump_id\x18\x01 \x01(\x04\x12M\n\x0flevel_of_detail\x18\x02 \x01(\x0e\x32\x34.perfetto.protos.MemoryTrackerSnapshot.LevelOfDetail\x12T\n\x14process_memory_dumps\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot\x1a\xce\x05\n\x0fProcessSnapshot\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12Z\n\x0f\x61llocator_dumps\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode\x12W\n\x0cmemory_edges\x18\x03 \x03(\x0b\x32\x41.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge\x1a\x9b\x03\n\nMemoryNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x15\n\rabsolute_name\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x62\n\x07\x65ntries\x18\x05 \x03(\x0b\x32Q.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry\x1a\xe3\x01\n\x0fMemoryNodeEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x66\n\x05units\x18\x02 \x01(\x0e\x32W.perfetto.protos.MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units\x12\x14\n\x0cvalue_uint64\x18\x03 \x01(\x04\x12\x14\n\x0cvalue_string\x18\x04 \x01(\t\".\n\x05Units\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x1a[\n\nMemoryEdge\x12\x11\n\tsource_id\x18\x01 \x01(\x04\x12\x11\n\ttarget_id\x18\x02 \x01(\x04\x12\x12\n\nimportance\x18\x03 \x01(\r\x12\x13\n\x0boverridable\x18\x04 \x01(\x08\"I\n\rLevelOfDetail\x12\x0f\n\x0b\x44\x45TAIL_FULL\x10\x00\x12\x10\n\x0c\x44\x45TAIL_LIGHT\x10\x01\x12\x15\n\x11\x44\x45TAIL_BACKGROUND\x10\x02\"\xa1\x04\n\x11PerfettoMetatrace\x12\x12\n\x08\x65vent_id\x18\x01 \x01(\rH\x00\x12\x14\n\ncounter_id\x18\x02 \x01(\rH\x00\x12\x14\n\nevent_name\x18\x08 \x01(\tH\x00\x12\x18\n\x0e\x65vent_name_iid\x18\x0b \x01(\x04H\x00\x12\x16\n\x0c\x63ounter_name\x18\t \x01(\tH\x00\x12\x19\n\x11\x65vent_duration_ns\x18\x03 \x01(\x04\x12\x15\n\rcounter_value\x18\x04 \x01(\x05\x12\x11\n\tthread_id\x18\x05 \x01(\r\x12\x14\n\x0chas_overruns\x18\x06 \x01(\x08\x12\x34\n\x04\x61rgs\x18\x07 \x03(\x0b\x32&.perfetto.protos.PerfettoMetatrace.Arg\x12K\n\x10interned_strings\x18\n \x03(\x0b\x32\x31.perfetto.protos.PerfettoMetatrace.InternedString\x1a\x7f\n\x03\x41rg\x12\r\n\x03key\x18\x01 \x01(\tH\x00\x12\x11\n\x07key_iid\x18\x03 \x01(\x04H\x00\x12\x0f\n\x05value\x18\x02 \x01(\tH\x01\x12\x13\n\tvalue_iid\x18\x04 \x01(\x04H\x01\x42\x15\n\x13key_or_interned_keyB\x19\n\x17value_or_interned_value\x1a,\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\tB\r\n\x0brecord_type\"\x8a\x05\n\x13TracingServiceEvent\x12\x19\n\x0ftracing_started\x18\x02 \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_started\x18\x01 \x01(\x08H\x00\x12\x17\n\rflush_started\x18\t \x01(\x08H\x00\x12\"\n\x18\x61ll_data_sources_flushed\x18\x03 \x01(\x08H\x00\x12(\n\x1eread_tracing_buffers_completed\x18\x04 \x01(\x08H\x00\x12\x1a\n\x10tracing_disabled\x18\x05 \x01(\x08H\x00\x12\x1e\n\x14seized_for_bugreport\x18\x06 \x01(\x08H\x00\x12V\n\x1aslow_starting_data_sources\x18\x07 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12X\n\x1clast_flush_slow_data_sources\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.TracingServiceEvent.DataSourcesH\x00\x12\x17\n\rclone_started\x18\n \x01(\x08H\x00\x12\x17\n\rbuffer_cloned\x18\x0b \x01(\rH\x00\x1a\x9e\x01\n\x0b\x44\x61taSources\x12P\n\x0b\x64\x61ta_source\x18\x01 \x03(\x0b\x32;.perfetto.protos.TracingServiceEvent.DataSources.DataSource\x1a=\n\nDataSource\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\tB\x0c\n\nevent_type\"`\n\x15\x41ndroidEnergyConsumer\x12\x1a\n\x12\x65nergy_consumer_id\x18\x01 \x01(\x05\x12\x0f\n\x07ordinal\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"c\n\x1f\x41ndroidEnergyConsumerDescriptor\x12@\n\x10\x65nergy_consumers\x18\x01 \x03(\x0b\x32&.perfetto.protos.AndroidEnergyConsumer\"\xc0\x02\n AndroidEnergyEstimationBreakdown\x12T\n\x1a\x65nergy_consumer_descriptor\x18\x01 \x01(\x0b\x32\x30.perfetto.protos.AndroidEnergyConsumerDescriptor\x12\x1a\n\x12\x65nergy_consumer_id\x18\x02 \x01(\x05\x12\x12\n\nenergy_uws\x18\x03 \x01(\x03\x12_\n\x11per_uid_breakdown\x18\x04 \x03(\x0b\x32\x44.perfetto.protos.AndroidEnergyEstimationBreakdown.EnergyUidBreakdown\x1a\x35\n\x12\x45nergyUidBreakdown\x12\x0b\n\x03uid\x18\x01 \x01(\x05\x12\x12\n\nenergy_uws\x18\x02 \x01(\x03\"\xbb\x03\n\x14\x45ntityStateResidency\x12R\n\x12power_entity_state\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.EntityStateResidency.PowerEntityState\x12G\n\tresidency\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.EntityStateResidency.StateResidency\x1a\x66\n\x10PowerEntityState\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t\x12\x12\n\nstate_name\x18\x04 \x01(\t\x1a\x9d\x01\n\x0eStateResidency\x12\x14\n\x0c\x65ntity_index\x18\x01 \x01(\x05\x12\x13\n\x0bstate_index\x18\x02 \x01(\x05\x12\x1e\n\x16total_time_in_state_ms\x18\x03 \x01(\x04\x12\x1f\n\x17total_state_entry_count\x18\x04 \x01(\x04\x12\x1f\n\x17last_entry_timestamp_ms\x18\x05 \x01(\x04\"\xb1\x01\n\x0f\x42\x61tteryCounters\x12\x1a\n\x12\x63harge_counter_uah\x18\x01 \x01(\x03\x12\x18\n\x10\x63\x61pacity_percent\x18\x02 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x03 \x01(\x03\x12\x16\n\x0e\x63urrent_avg_ua\x18\x04 \x01(\x03\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x1a\n\x12\x65nergy_counter_uwh\x18\x06 \x01(\x03\x12\x12\n\nvoltage_uv\x18\x07 \x01(\x03\"\xc7\x02\n\nPowerRails\x12\x43\n\x0frail_descriptor\x18\x01 \x03(\x0b\x32*.perfetto.protos.PowerRails.RailDescriptor\x12;\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32&.perfetto.protos.PowerRails.EnergyData\x12\x14\n\x0csession_uuid\x18\x03 \x01(\x04\x1a^\n\x0eRailDescriptor\x12\r\n\x05index\x18\x01 \x01(\r\x12\x11\n\trail_name\x18\x02 \x01(\t\x12\x13\n\x0bsubsys_name\x18\x03 \x01(\t\x12\x15\n\rsampling_rate\x18\x04 \x01(\r\x1a\x41\n\nEnergyData\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0ctimestamp_ms\x18\x02 \x01(\x04\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x04\"F\n\x10ObfuscatedMember\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\"\xc3\x01\n\x0fObfuscatedClass\x12\x17\n\x0fobfuscated_name\x18\x01 \x01(\t\x12\x19\n\x11\x64\x65obfuscated_name\x18\x02 \x01(\t\x12=\n\x12obfuscated_members\x18\x03 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\x12=\n\x12obfuscated_methods\x18\x04 \x03(\x0b\x32!.perfetto.protos.ObfuscatedMember\"\x80\x01\n\x14\x44\x65obfuscationMapping\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x14\n\x0cversion_code\x18\x02 \x01(\x03\x12<\n\x12obfuscated_classes\x18\x03 \x03(\x0b\x32 .perfetto.protos.ObfuscatedClass\"\xb6\x03\n\rHeapGraphRoot\x12\x16\n\nobject_ids\x18\x01 \x03(\x04\x42\x02\x10\x01\x12\x36\n\troot_type\x18\x02 \x01(\x0e\x32#.perfetto.protos.HeapGraphRoot.Type\"\xd4\x02\n\x04Type\x12\x10\n\x0cROOT_UNKNOWN\x10\x00\x12\x13\n\x0fROOT_JNI_GLOBAL\x10\x01\x12\x12\n\x0eROOT_JNI_LOCAL\x10\x02\x12\x13\n\x0fROOT_JAVA_FRAME\x10\x03\x12\x15\n\x11ROOT_NATIVE_STACK\x10\x04\x12\x15\n\x11ROOT_STICKY_CLASS\x10\x05\x12\x15\n\x11ROOT_THREAD_BLOCK\x10\x06\x12\x15\n\x11ROOT_MONITOR_USED\x10\x07\x12\x16\n\x12ROOT_THREAD_OBJECT\x10\x08\x12\x18\n\x14ROOT_INTERNED_STRING\x10\t\x12\x13\n\x0fROOT_FINALIZING\x10\n\x12\x11\n\rROOT_DEBUGGER\x10\x0b\x12\x1a\n\x16ROOT_REFERENCE_CLEANUP\x10\x0c\x12\x14\n\x10ROOT_VM_INTERNAL\x10\r\x12\x14\n\x10ROOT_JNI_MONITOR\x10\x0e\"\xe4\x03\n\rHeapGraphType\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x13\n\x0blocation_id\x18\x02 \x01(\x04\x12\x12\n\nclass_name\x18\x03 \x01(\t\x12\x13\n\x0bobject_size\x18\x04 \x01(\x04\x12\x15\n\rsuperclass_id\x18\x05 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x06 \x03(\x04\x42\x02\x10\x01\x12\x31\n\x04kind\x18\x07 \x01(\x0e\x32#.perfetto.protos.HeapGraphType.Kind\x12\x16\n\x0e\x63lassloader_id\x18\x08 \x01(\x04\"\x86\x02\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x0f\n\x0bKIND_NORMAL\x10\x01\x12\x15\n\x11KIND_NOREFERENCES\x10\x02\x12\x0f\n\x0bKIND_STRING\x10\x03\x12\x0e\n\nKIND_ARRAY\x10\x04\x12\x0e\n\nKIND_CLASS\x10\x05\x12\x14\n\x10KIND_CLASSLOADER\x10\x06\x12\x11\n\rKIND_DEXCACHE\x10\x07\x12\x17\n\x13KIND_SOFT_REFERENCE\x10\x08\x12\x17\n\x13KIND_WEAK_REFERENCE\x10\t\x12\x1c\n\x18KIND_FINALIZER_REFERENCE\x10\n\x12\x1a\n\x16KIND_PHANTOM_REFERENCE\x10\x0b\"\xc8\x03\n\x0fHeapGraphObject\x12\x0c\n\x02id\x18\x01 \x01(\x04H\x00\x12\x12\n\x08id_delta\x18\x07 \x01(\x04H\x00\x12\x0f\n\x07type_id\x18\x02 \x01(\x04\x12\x11\n\tself_size\x18\x03 \x01(\x04\x12\x1f\n\x17reference_field_id_base\x18\x06 \x01(\x04\x12\x1e\n\x12reference_field_id\x18\x04 \x03(\x04\x42\x02\x10\x01\x12\x1f\n\x13reference_object_id\x18\x05 \x03(\x04\x42\x02\x10\x01\x12-\n%native_allocation_registry_size_field\x18\x08 \x01(\x03\x12\x42\n\x0fheap_type_delta\x18\t \x01(\x0e\x32).perfetto.protos.HeapGraphObject.HeapType\x12&\n\x1aruntime_internal_object_id\x18\n \x03(\x04\x42\x02\x10\x01\"d\n\x08HeapType\x12\x15\n\x11HEAP_TYPE_UNKNOWN\x10\x00\x12\x11\n\rHEAP_TYPE_APP\x10\x01\x12\x14\n\x10HEAP_TYPE_ZYGOTE\x10\x02\x12\x18\n\x14HEAP_TYPE_BOOT_IMAGE\x10\x03\x42\x0c\n\nidentifier\"\xc0\x02\n\tHeapGraph\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x31\n\x07objects\x18\x02 \x03(\x0b\x32 .perfetto.protos.HeapGraphObject\x12-\n\x05roots\x18\x07 \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphRoot\x12-\n\x05types\x18\t \x03(\x0b\x32\x1e.perfetto.protos.HeapGraphType\x12\x34\n\x0b\x66ield_names\x18\x04 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x37\n\x0elocation_names\x18\x08 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12\x11\n\tcontinued\x18\x05 \x01(\x08\x12\r\n\x05index\x18\x06 \x01(\x04J\x04\x08\x03\x10\x04\"\xbc\x0b\n\rProfilePacket\x12\x30\n\x07strings\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.InternedString\x12*\n\x08mappings\x18\x04 \x03(\x0b\x32\x18.perfetto.protos.Mapping\x12&\n\x06\x66rames\x18\x02 \x03(\x0b\x32\x16.perfetto.protos.Frame\x12.\n\ncallstacks\x18\x03 \x03(\x0b\x32\x1a.perfetto.protos.Callstack\x12H\n\rprocess_dumps\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.ProfilePacket.ProcessHeapSamples\x12\x11\n\tcontinued\x18\x06 \x01(\x08\x12\r\n\x05index\x18\x07 \x01(\x04\x1a\xba\x01\n\nHeapSample\x12\x14\n\x0c\x63\x61llstack_id\x18\x01 \x01(\x04\x12\x16\n\x0eself_allocated\x18\x02 \x01(\x04\x12\x12\n\nself_freed\x18\x03 \x01(\x04\x12\x10\n\x08self_max\x18\x08 \x01(\x04\x12\x16\n\x0eself_max_count\x18\t \x01(\x04\x12\x11\n\ttimestamp\x18\x04 \x01(\x04\x12\x13\n\x0b\x61lloc_count\x18\x05 \x01(\x04\x12\x12\n\nfree_count\x18\x06 \x01(\x04J\x04\x08\x07\x10\x08\x1a\x8f\x01\n\tHistogram\x12@\n\x07\x62uckets\x18\x01 \x03(\x0b\x32/.perfetto.protos.ProfilePacket.Histogram.Bucket\x1a@\n\x06\x42ucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x04\x12\x12\n\nmax_bucket\x18\x02 \x01(\x08\x12\r\n\x05\x63ount\x18\x03 \x01(\x04\x1a\xde\x01\n\x0cProcessStats\x12\x18\n\x10unwinding_errors\x18\x01 \x01(\x04\x12\x14\n\x0cheap_samples\x18\x02 \x01(\x04\x12\x14\n\x0cmap_reparses\x18\x03 \x01(\x04\x12\x43\n\x11unwinding_time_us\x18\x04 \x01(\x0b\x32(.perfetto.protos.ProfilePacket.Histogram\x12\x1f\n\x17total_unwinding_time_us\x18\x05 \x01(\x04\x12\"\n\x1a\x63lient_spinlock_blocked_us\x18\x06 \x01(\x04\x1a\xd8\x04\n\x12ProcessHeapSamples\x12\x0b\n\x03pid\x18\x01 \x01(\x04\x12\x14\n\x0c\x66rom_startup\x18\x03 \x01(\x08\x12\x1b\n\x13rejected_concurrent\x18\x04 \x01(\x08\x12\x14\n\x0c\x64isconnected\x18\x06 \x01(\x08\x12\x16\n\x0e\x62uffer_overran\x18\x07 \x01(\x08\x12S\n\x0c\x63lient_error\x18\x0e \x01(\x0e\x32=.perfetto.protos.ProfilePacket.ProcessHeapSamples.ClientError\x12\x18\n\x10\x62uffer_corrupted\x18\x08 \x01(\x08\x12\x15\n\rhit_guardrail\x18\n \x01(\x08\x12\x11\n\theap_name\x18\x0b \x01(\t\x12\x1f\n\x17sampling_interval_bytes\x18\x0c \x01(\x04\x12$\n\x1corig_sampling_interval_bytes\x18\r \x01(\x04\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12:\n\x05stats\x18\x05 \x01(\x0b\x32+.perfetto.protos.ProfilePacket.ProcessStats\x12:\n\x07samples\x18\x02 \x03(\x0b\x32).perfetto.protos.ProfilePacket.HeapSample\"i\n\x0b\x43lientError\x12\x15\n\x11\x43LIENT_ERROR_NONE\x10\x00\x12\x1c\n\x18\x43LIENT_ERROR_HIT_TIMEOUT\x10\x01\x12%\n!CLIENT_ERROR_INVALID_STACK_BOUNDS\x10\x02\"\x9d\x01\n\x13StreamingAllocation\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0c\n\x04size\x18\x02 \x03(\x04\x12\x13\n\x0bsample_size\x18\x03 \x03(\x04\x12(\n clock_monotonic_coarse_timestamp\x18\x04 \x03(\x04\x12\x0f\n\x07heap_id\x18\x05 \x03(\r\x12\x17\n\x0fsequence_number\x18\x06 \x03(\x04\"J\n\rStreamingFree\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x03(\x04\x12\x0f\n\x07heap_id\x18\x02 \x03(\r\x12\x17\n\x0fsequence_number\x18\x03 \x03(\x04\"e\n\x16StreamingProfilePacket\x12\x15\n\rcallstack_iid\x18\x01 \x03(\x04\x12\x1a\n\x12timestamp_delta_us\x18\x02 \x03(\x03\x12\x18\n\x10process_priority\x18\x03 \x01(\x05\"\x90\x05\n\tProfiling\"|\n\x07\x43puMode\x12\x10\n\x0cMODE_UNKNOWN\x10\x00\x12\x0f\n\x0bMODE_KERNEL\x10\x01\x12\r\n\tMODE_USER\x10\x02\x12\x13\n\x0fMODE_HYPERVISOR\x10\x03\x12\x15\n\x11MODE_GUEST_KERNEL\x10\x04\x12\x13\n\x0fMODE_GUEST_USER\x10\x05\"\x84\x04\n\x10StackUnwindError\x12\x18\n\x14UNWIND_ERROR_UNKNOWN\x10\x00\x12\x15\n\x11UNWIND_ERROR_NONE\x10\x01\x12\x1f\n\x1bUNWIND_ERROR_MEMORY_INVALID\x10\x02\x12\x1c\n\x18UNWIND_ERROR_UNWIND_INFO\x10\x03\x12\x1c\n\x18UNWIND_ERROR_UNSUPPORTED\x10\x04\x12\x1c\n\x18UNWIND_ERROR_INVALID_MAP\x10\x05\x12$\n UNWIND_ERROR_MAX_FRAMES_EXCEEDED\x10\x06\x12\x1f\n\x1bUNWIND_ERROR_REPEATED_FRAME\x10\x07\x12\x1c\n\x18UNWIND_ERROR_INVALID_ELF\x10\x08\x12\x1c\n\x18UNWIND_ERROR_SYSTEM_CALL\x10\t\x12\x1f\n\x1bUNWIND_ERROR_THREAD_TIMEOUT\x10\n\x12&\n\"UNWIND_ERROR_THREAD_DOES_NOT_EXIST\x10\x0b\x12\x19\n\x15UNWIND_ERROR_BAD_ARCH\x10\x0c\x12\x1b\n\x17UNWIND_ERROR_MAPS_PARSE\x10\r\x12\"\n\x1eUNWIND_ERROR_INVALID_PARAMETER\x10\x0e\x12\x1c\n\x18UNWIND_ERROR_PTRACE_CALL\x10\x0f\"\xef\x06\n\nPerfSample\x12\x0b\n\x03\x63pu\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0b\n\x03tid\x18\x03 \x01(\r\x12\x34\n\x08\x63pu_mode\x18\x05 \x01(\x0e\x32\".perfetto.protos.Profiling.CpuMode\x12\x16\n\x0etimebase_count\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ollower_counts\x18\x07 \x03(\x04\x12\x15\n\rcallstack_iid\x18\x04 \x01(\x04\x12\x43\n\x0cunwind_error\x18\x10 \x01(\x0e\x32+.perfetto.protos.Profiling.StackUnwindErrorH\x00\x12\x1b\n\x13kernel_records_lost\x18\x11 \x01(\x04\x12M\n\x15sample_skipped_reason\x18\x12 \x01(\x0e\x32,.perfetto.protos.PerfSample.SampleSkipReasonH\x01\x12\x41\n\x0eproducer_event\x18\x13 \x01(\x0b\x32).perfetto.protos.PerfSample.ProducerEvent\x1a\xdc\x01\n\rProducerEvent\x12\\\n\x12source_stop_reason\x18\x01 \x01(\x0e\x32>.perfetto.protos.PerfSample.ProducerEvent.DataSourceStopReasonH\x00\"N\n\x14\x44\x61taSourceStopReason\x12\x19\n\x15PROFILER_STOP_UNKNOWN\x10\x00\x12\x1b\n\x17PROFILER_STOP_GUARDRAIL\x10\x01\x42\x1d\n\x1boptional_source_stop_reason\"\xad\x01\n\x10SampleSkipReason\x12\x19\n\x15PROFILER_SKIP_UNKNOWN\x10\x00\x12\x1c\n\x18PROFILER_SKIP_READ_STAGE\x10\x01\x12\x1e\n\x1aPROFILER_SKIP_UNWIND_STAGE\x10\x02\x12 \n\x1cPROFILER_SKIP_UNWIND_ENQUEUE\x10\x03\x12\x1e\n\x1aPROFILER_SKIP_NOT_IN_SCOPE\x10\x04\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\xba\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x31\n\tfollowers\x18\x04 \x03(\x0b\x32\x1e.perfetto.protos.FollowerEvent\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r\"\x83\x03\n\nSmapsEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x04\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x04\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x04\x12\x11\n\tfile_name\x18\x05 \x01(\t\x12\x15\n\rstart_address\x18\x06 \x01(\x04\x12\x18\n\x10module_timestamp\x18\x07 \x01(\x04\x12\x16\n\x0emodule_debugid\x18\x08 \x01(\t\x12\x19\n\x11module_debug_path\x18\t \x01(\t\x12\x18\n\x10protection_flags\x18\n \x01(\r\x12!\n\x19private_clean_resident_kb\x18\x0b \x01(\x04\x12 \n\x18shared_dirty_resident_kb\x18\x0c \x01(\x04\x12 \n\x18shared_clean_resident_kb\x18\r \x01(\x04\x12\x11\n\tlocked_kb\x18\x0e \x01(\x04\x12 \n\x18proportional_resident_kb\x18\x0f \x01(\x04\"H\n\x0bSmapsPacket\x12\x0b\n\x03pid\x18\x01 \x01(\r\x12,\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x1b.perfetto.protos.SmapsEntry\"\xbb\x06\n\x0cProcessStats\x12\x38\n\tprocesses\x18\x01 \x03(\x0b\x32%.perfetto.protos.ProcessStats.Process\x12 \n\x18\x63ollection_end_timestamp\x18\x02 \x01(\x04\x1a\'\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\"\n\x06\x46\x44Info\x12\n\n\x02\x66\x64\x18\x01 \x01(\x04\x12\x0c\n\x04path\x18\x02 \x01(\t\x1a\x81\x05\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x35\n\x07threads\x18\x0b \x03(\x0b\x32$.perfetto.protos.ProcessStats.Thread\x12\x12\n\nvm_size_kb\x18\x02 \x01(\x04\x12\x11\n\tvm_rss_kb\x18\x03 \x01(\x04\x12\x13\n\x0brss_anon_kb\x18\x04 \x01(\x04\x12\x13\n\x0brss_file_kb\x18\x05 \x01(\x04\x12\x14\n\x0crss_shmem_kb\x18\x06 \x01(\x04\x12\x12\n\nvm_swap_kb\x18\x07 \x01(\x04\x12\x14\n\x0cvm_locked_kb\x18\x08 \x01(\x04\x12\x11\n\tvm_hwm_kb\x18\t \x01(\x04\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x1e\n\x16is_peak_rss_resettable\x18\x0c \x01(\x08\x12#\n\x1b\x63hrome_private_footprint_kb\x18\r \x01(\r\x12#\n\x1b\x63hrome_peak_resident_set_kb\x18\x0e \x01(\r\x12\x31\n\x03\x66\x64s\x18\x0f \x03(\x0b\x32$.perfetto.protos.ProcessStats.FDInfo\x12\x12\n\nsmr_rss_kb\x18\x10 \x01(\x04\x12\x12\n\nsmr_pss_kb\x18\x11 \x01(\x04\x12\x17\n\x0fsmr_pss_anon_kb\x18\x12 \x01(\x04\x12\x17\n\x0fsmr_pss_file_kb\x18\x13 \x01(\x04\x12\x18\n\x10smr_pss_shmem_kb\x18\x14 \x01(\x04\x12\x17\n\x0fsmr_swap_pss_kb\x18\x17 \x01(\x04\x12\x19\n\x11runtime_user_mode\x18\x15 \x01(\x04\x12\x1b\n\x13runtime_kernel_mode\x18\x16 \x01(\x04\x12\x15\n\rdmabuf_rss_kb\x18\x18 \x01(\x04\"\x88\x03\n\x0bProcessTree\x12\x37\n\tprocesses\x18\x01 \x03(\x0b\x32$.perfetto.protos.ProcessTree.Process\x12\x34\n\x07threads\x18\x02 \x03(\x0b\x32#.perfetto.protos.ProcessTree.Thread\x12 \n\x18\x63ollection_end_timestamp\x18\x03 \x01(\x04\x1a@\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04tgid\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05nstid\x18\x04 \x03(\x05\x1a\xa5\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04ppid\x18\x02 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x03 \x03(\t\x12\x17\n\x0f\x63mdline_is_comm\x18\t \x01(\x08\x12\x0b\n\x03uid\x18\x05 \x01(\x05\x12\r\n\x05nspid\x18\x06 \x03(\x05\x12\x1f\n\x17process_start_from_boot\x18\x07 \x01(\x04\x12\x12\n\nis_kthread\x18\x08 \x01(\x08J\x04\x08\x04\x10\x05\"\xd3\x01\n\x0fRemoteClockSync\x12\x44\n\rsynced_clocks\x18\x01 \x03(\x0b\x32-.perfetto.protos.RemoteClockSync.SyncedClocks\x1az\n\x0cSyncedClocks\x12\x35\n\rclient_clocks\x18\x02 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x33\n\x0bhost_clocks\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\"\x06\n\x04\x41tom\"J\n\nStatsdAtom\x12#\n\x04\x61tom\x18\x01 \x03(\x0b\x32\x15.perfetto.protos.Atom\x12\x17\n\x0ftimestamp_nanos\x18\x02 \x03(\x03\"\xe8\x0f\n\x08SysStats\x12\x37\n\x07meminfo\x18\x01 \x03(\x0b\x32&.perfetto.protos.SysStats.MeminfoValue\x12\x35\n\x06vmstat\x18\x02 \x03(\x0b\x32%.perfetto.protos.SysStats.VmstatValue\x12\x34\n\x08\x63pu_stat\x18\x03 \x03(\x0b\x32\".perfetto.protos.SysStats.CpuTimes\x12\x11\n\tnum_forks\x18\x04 \x01(\x04\x12\x15\n\rnum_irq_total\x18\x05 \x01(\x04\x12\x39\n\x07num_irq\x18\x06 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12\x19\n\x11num_softirq_total\x18\x07 \x01(\x04\x12=\n\x0bnum_softirq\x18\x08 \x03(\x0b\x32(.perfetto.protos.SysStats.InterruptCount\x12 \n\x18\x63ollection_end_timestamp\x18\t \x01(\x04\x12\x37\n\x07\x64\x65vfreq\x18\n \x03(\x0b\x32&.perfetto.protos.SysStats.DevfreqValue\x12\x13\n\x0b\x63pufreq_khz\x18\x0b \x03(\r\x12\x37\n\nbuddy_info\x18\x0c \x03(\x0b\x32#.perfetto.protos.SysStats.BuddyInfo\x12\x35\n\tdisk_stat\x18\r \x03(\x0b\x32\".perfetto.protos.SysStats.DiskStat\x12\x30\n\x03psi\x18\x0e \x03(\x0b\x32#.perfetto.protos.SysStats.PsiSample\x12;\n\x0cthermal_zone\x18\x0f \x03(\x0b\x32%.perfetto.protos.SysStats.ThermalZone\x12=\n\rcpuidle_state\x18\x10 \x03(\x0b\x32&.perfetto.protos.SysStats.CpuIdleState\x12\x13\n\x0bgpufreq_mhz\x18\x11 \x03(\x04\x1aL\n\x0cMeminfoValue\x12-\n\x03key\x18\x01 \x01(\x0e\x32 .perfetto.protos.MeminfoCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1aJ\n\x0bVmstatValue\x12,\n\x03key\x18\x01 \x01(\x0e\x32\x1f.perfetto.protos.VmstatCounters\x12\r\n\x05value\x18\x02 \x01(\x04\x1a\xb4\x01\n\x08\x43puTimes\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12\x0f\n\x07user_ns\x18\x02 \x01(\x04\x12\x14\n\x0cuser_nice_ns\x18\x03 \x01(\x04\x12\x16\n\x0esystem_mode_ns\x18\x04 \x01(\x04\x12\x0f\n\x07idle_ns\x18\x05 \x01(\x04\x12\x12\n\nio_wait_ns\x18\x06 \x01(\x04\x12\x0e\n\x06irq_ns\x18\x07 \x01(\x04\x12\x12\n\nsoftirq_ns\x18\x08 \x01(\x04\x12\x10\n\x08steal_ns\x18\t \x01(\x04\x1a,\n\x0eInterruptCount\x12\x0b\n\x03irq\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x1a*\n\x0c\x44\x65vfreqValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04\x1a<\n\tBuddyInfo\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\x12\x13\n\x0border_pages\x18\x03 \x03(\r\x1a\xd7\x01\n\x08\x44iskStat\x12\x13\n\x0b\x64\x65vice_name\x18\x01 \x01(\t\x12\x14\n\x0cread_sectors\x18\x02 \x01(\x04\x12\x14\n\x0cread_time_ms\x18\x03 \x01(\x04\x12\x15\n\rwrite_sectors\x18\x04 \x01(\x04\x12\x15\n\rwrite_time_ms\x18\x05 \x01(\x04\x12\x17\n\x0f\x64iscard_sectors\x18\x06 \x01(\x04\x12\x17\n\x0f\x64iscard_time_ms\x18\x07 \x01(\x04\x12\x13\n\x0b\x66lush_count\x18\x08 \x01(\x04\x12\x15\n\rflush_time_ms\x18\t \x01(\x04\x1a\xb4\x02\n\tPsiSample\x12\x41\n\x08resource\x18\x01 \x01(\x0e\x32/.perfetto.protos.SysStats.PsiSample.PsiResource\x12\x10\n\x08total_ns\x18\x02 \x01(\x04\"\xd1\x01\n\x0bPsiResource\x12\x1c\n\x18PSI_RESOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15PSI_RESOURCE_CPU_SOME\x10\x01\x12\x19\n\x15PSI_RESOURCE_CPU_FULL\x10\x02\x12\x18\n\x14PSI_RESOURCE_IO_SOME\x10\x03\x12\x18\n\x14PSI_RESOURCE_IO_FULL\x10\x04\x12\x1c\n\x18PSI_RESOURCE_MEMORY_SOME\x10\x05\x12\x1c\n\x18PSI_RESOURCE_MEMORY_FULL\x10\x06\x1a\x37\n\x0bThermalZone\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04temp\x18\x02 \x01(\x04\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a\x37\n\x11\x43puIdleStateEntry\x12\r\n\x05state\x18\x01 \x01(\t\x12\x13\n\x0b\x64uration_us\x18\x02 \x01(\x04\x1ah\n\x0c\x43puIdleState\x12\x0e\n\x06\x63pu_id\x18\x01 \x01(\r\x12H\n\x13\x63puidle_state_entry\x18\x02 \x03(\x0b\x32+.perfetto.protos.SysStats.CpuIdleStateEntry\"\xcc\x02\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1an\n\x10\x41rmCpuIdentifier\x12\x13\n\x0bimplementer\x18\x01 \x01(\r\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\r\x12\x0f\n\x07variant\x18\x03 \x01(\r\x12\x0c\n\x04part\x18\x04 \x01(\r\x12\x10\n\x08revision\x18\x05 \x01(\r\x1a\xa4\x01\n\x03\x43pu\x12\x11\n\tprocessor\x18\x01 \x01(\t\x12\x13\n\x0b\x66requencies\x18\x02 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\r\x12\x43\n\x0e\x61rm_identifier\x18\x04 \x01(\x0b\x32).perfetto.protos.CpuInfo.ArmCpuIdentifierH\x00\x12\x10\n\x08\x66\x65\x61tures\x18\x05 \x01(\x04\x42\x0c\n\nidentifier\"\xfb\x02\n\tTestEvent\x12\x0b\n\x03str\x18\x01 \x01(\t\x12\x11\n\tseq_value\x18\x02 \x01(\r\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\x04\x12\x0f\n\x07is_last\x18\x04 \x01(\x08\x12\x37\n\x07payload\x18\x05 \x01(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x1a\xf2\x01\n\x0bTestPayload\x12\x0b\n\x03str\x18\x01 \x03(\t\x12\x36\n\x06nested\x18\x02 \x03(\x0b\x32&.perfetto.protos.TestEvent.TestPayload\x12\x15\n\rsingle_string\x18\x04 \x01(\t\x12\x12\n\nsingle_int\x18\x05 \x01(\x05\x12\x15\n\rrepeated_ints\x18\x06 \x03(\x05\x12\x1f\n\x17remaining_nesting_depth\x18\x03 \x01(\r\x12;\n\x11\x64\x65\x62ug_annotations\x18\x07 \x03(\x0b\x32 .perfetto.protos.DebugAnnotation\"\xf2\x01\n\x13TracePacketDefaults\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x41\n\x14track_event_defaults\x18\x0b \x01(\x0b\x32#.perfetto.protos.TrackEventDefaults\x12\x41\n\x14perf_sample_defaults\x18\x0c \x01(\x0b\x32#.perfetto.protos.PerfSampleDefaults\x12\x39\n\x10v8_code_defaults\x18\x63 \x01(\x0b\x32\x1f.perfetto.protos.V8CodeDefaults\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03\"\xe7\x03\n\x11ProcessDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63mdline\x18\x02 \x03(\t\x12\x14\n\x0cprocess_name\x18\x06 \x01(\t\x12\x18\n\x10process_priority\x18\x05 \x01(\x05\x12\x1a\n\x12start_timestamp_ns\x18\x07 \x01(\x03\x12Q\n\x13\x63hrome_process_type\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ProcessDescriptor.ChromeProcessType\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x16\n\x0eprocess_labels\x18\x08 \x03(\t\"\xe1\x01\n\x11\x43hromeProcessType\x12\x17\n\x13PROCESS_UNSPECIFIED\x10\x00\x12\x13\n\x0fPROCESS_BROWSER\x10\x01\x12\x14\n\x10PROCESS_RENDERER\x10\x02\x12\x13\n\x0fPROCESS_UTILITY\x10\x03\x12\x12\n\x0ePROCESS_ZYGOTE\x10\x04\x12\x1a\n\x16PROCESS_SANDBOX_HELPER\x10\x05\x12\x0f\n\x0bPROCESS_GPU\x10\x06\x12\x18\n\x14PROCESS_PPAPI_PLUGIN\x10\x07\x12\x18\n\x14PROCESS_PPAPI_BROKER\x10\x08\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03\"\xf4\x05\n\x10ThreadDescriptor\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03tid\x18\x02 \x01(\x05\x12\x13\n\x0bthread_name\x18\x05 \x01(\t\x12N\n\x12\x63hrome_thread_type\x18\x04 \x01(\x0e\x32\x32.perfetto.protos.ThreadDescriptor.ChromeThreadType\x12\x1e\n\x16reference_timestamp_us\x18\x06 \x01(\x03\x12 \n\x18reference_thread_time_us\x18\x07 \x01(\x03\x12*\n\"reference_thread_instruction_count\x18\x08 \x01(\x03\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\"\xd7\x03\n\x10\x43hromeThreadType\x12\x1d\n\x19\x43HROME_THREAD_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43HROME_THREAD_MAIN\x10\x01\x12\x14\n\x10\x43HROME_THREAD_IO\x10\x02\x12 \n\x1c\x43HROME_THREAD_POOL_BG_WORKER\x10\x03\x12 \n\x1c\x43HROME_THREAD_POOL_FG_WORKER\x10\x04\x12\"\n\x1e\x43HROME_THREAD_POOL_FB_BLOCKING\x10\x05\x12\"\n\x1e\x43HROME_THREAD_POOL_BG_BLOCKING\x10\x06\x12\x1e\n\x1a\x43HROME_THREAD_POOL_SERVICE\x10\x07\x12\x1c\n\x18\x43HROME_THREAD_COMPOSITOR\x10\x08\x12 \n\x1c\x43HROME_THREAD_VIZ_COMPOSITOR\x10\t\x12#\n\x1f\x43HROME_THREAD_COMPOSITOR_WORKER\x10\n\x12 \n\x1c\x43HROME_THREAD_SERVICE_WORKER\x10\x0b\x12\x1e\n\x1a\x43HROME_THREAD_MEMORY_INFRA\x10\x32\x12#\n\x1f\x43HROME_THREAD_SAMPLING_PROFILER\x10\x33\"\x9b\x01\n\x17\x43hromeProcessDescriptor\x12\x14\n\x0cprocess_type\x18\x01 \x01(\x05\x12\x18\n\x10process_priority\x18\x02 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x03 \x01(\x05\x12\x1d\n\x15host_app_package_name\x18\x04 \x01(\t\x12\x16\n\x0e\x63rash_trace_id\x18\x05 \x01(\x04\"b\n\x16\x43hromeThreadDescriptor\x12\x13\n\x0bthread_type\x18\x01 \x01(\x05\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\x12\x18\n\x10is_sandboxed_tid\x18\x03 \x01(\x08\"\xc7\x03\n\x11\x43ounterDescriptor\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.perfetto.protos.CounterDescriptor.BuiltinCounterType\x12\x12\n\ncategories\x18\x02 \x03(\t\x12\x35\n\x04unit\x18\x03 \x01(\x0e\x32\'.perfetto.protos.CounterDescriptor.Unit\x12\x11\n\tunit_name\x18\x06 \x01(\t\x12\x17\n\x0funit_multiplier\x18\x04 \x01(\x03\x12\x16\n\x0eis_incremental\x18\x05 \x01(\x08\x12\x18\n\x10y_axis_share_key\x18\x07 \x01(\t\"o\n\x12\x42uiltinCounterType\x12\x17\n\x13\x43OUNTER_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OUNTER_THREAD_TIME_NS\x10\x01\x12$\n COUNTER_THREAD_INSTRUCTION_COUNT\x10\x02\"S\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x10\n\x0cUNIT_TIME_NS\x10\x01\x12\x0e\n\nUNIT_COUNT\x10\x02\x12\x13\n\x0fUNIT_SIZE_BYTES\x10\x03\"\x9c\x08\n\x0fTrackDescriptor\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\x13\n\x0bparent_uuid\x18\x05 \x01(\x04\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x12\x15\n\x0bstatic_name\x18\n \x01(\tH\x00\x12\x15\n\x0b\x61trace_name\x18\r \x01(\tH\x00\x12\x13\n\x0b\x64\x65scription\x18\x0e \x01(\t\x12\x33\n\x07process\x18\x03 \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12@\n\x0e\x63hrome_process\x18\x06 \x01(\x0b\x32(.perfetto.protos.ChromeProcessDescriptor\x12\x31\n\x06thread\x18\x04 \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12>\n\rchrome_thread\x18\x07 \x01(\x0b\x32\'.perfetto.protos.ChromeThreadDescriptor\x12\x33\n\x07\x63ounter\x18\x08 \x01(\x0b\x32\".perfetto.protos.CounterDescriptor\x12+\n#disallow_merging_with_system_tracks\x18\t \x01(\x08\x12L\n\x0e\x63hild_ordering\x18\x0b \x01(\x0e\x32\x34.perfetto.protos.TrackDescriptor.ChildTracksOrdering\x12\x1a\n\x12sibling_order_rank\x18\x0c \x01(\x05\x12U\n\x16sibling_merge_behavior\x18\x0f \x01(\x0e\x32\x35.perfetto.protos.TrackDescriptor.SiblingMergeBehavior\x12\x1b\n\x11sibling_merge_key\x18\x10 \x01(\tH\x01\x12\x1f\n\x15sibling_merge_key_int\x18\x11 \x01(\x04H\x01\"V\n\x13\x43hildTracksOrdering\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rLEXICOGRAPHIC\x10\x01\x12\x11\n\rCHRONOLOGICAL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x03\"\xba\x01\n\x14SiblingMergeBehavior\x12&\n\"SIBLING_MERGE_BEHAVIOR_UNSPECIFIED\x10\x00\x12(\n$SIBLING_MERGE_BEHAVIOR_BY_TRACK_NAME\x10\x01\x12\x1f\n\x1bSIBLING_MERGE_BEHAVIOR_NONE\x10\x02\x12/\n+SIBLING_MERGE_BEHAVIOR_BY_SIBLING_MERGE_KEY\x10\x03\x42\x18\n\x16static_or_dynamic_nameB\x19\n\x17sibling_merge_key_field\"\xed\x03\n\x10TranslationTable\x12M\n\x10\x63hrome_histogram\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.ChromeHistorgramTranslationTableH\x00\x12M\n\x11\x63hrome_user_event\x18\x02 \x01(\x0b\x32\x30.perfetto.protos.ChromeUserEventTranslationTableH\x00\x12Y\n\x17\x63hrome_performance_mark\x18\x03 \x01(\x0b\x32\x36.perfetto.protos.ChromePerformanceMarkTranslationTableH\x00\x12@\n\nslice_name\x18\x04 \x01(\x0b\x32*.perfetto.protos.SliceNameTranslationTableH\x00\x12O\n\x12process_track_name\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.ProcessTrackNameTranslationTableH\x00\x12\x44\n\x0c\x63hrome_study\x18\x06 \x01(\x0b\x32,.perfetto.protos.ChromeStudyTranslationTableH\x00\x42\x07\n\x05table\"\xae\x01\n ChromeHistorgramTranslationTable\x12W\n\x0chash_to_name\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.ChromeHistorgramTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x01\n\x1f\x43hromeUserEventTranslationTable\x12\x63\n\x13\x61\x63tion_hash_to_name\x18\x01 \x03(\x0b\x32\x46.perfetto.protos.ChromeUserEventTranslationTable.ActionHashToNameEntry\x1a\x37\n\x15\x41\x63tionHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x02\n%ChromePerformanceMarkTranslationTable\x12\x65\n\x11site_hash_to_name\x18\x01 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.SiteHashToNameEntry\x12\x65\n\x11mark_hash_to_name\x18\x02 \x03(\x0b\x32J.perfetto.protos.ChromePerformanceMarkTranslationTable.MarkHashToNameEntry\x1a\x35\n\x13SiteHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MarkHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc2\x01\n\x19SliceNameTranslationTable\x12g\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.SliceNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd0\x01\n ProcessTrackNameTranslationTable\x12n\n\x18raw_to_deobfuscated_name\x18\x01 \x03(\x0b\x32L.perfetto.protos.ProcessTrackNameTranslationTable.RawToDeobfuscatedNameEntry\x1a<\n\x1aRawToDeobfuscatedNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x1b\x43hromeStudyTranslationTable\x12R\n\x0chash_to_name\x18\x01 \x03(\x0b\x32<.perfetto.protos.ChromeStudyTranslationTable.HashToNameEntry\x1a\x31\n\x0fHashToNameEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07Trigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x15\n\rproducer_name\x18\x02 \x01(\t\x12\x1c\n\x14trusted_producer_uid\x18\x03 \x01(\x05\x12\x15\n\rstop_delay_ms\x18\x04 \x01(\x04\"\xc5\x01\n\x07UiState\x12\x19\n\x11timeline_start_ts\x18\x01 \x01(\x03\x12\x17\n\x0ftimeline_end_ts\x18\x02 \x01(\x03\x12\x44\n\x11highlight_process\x18\x03 \x01(\x0b\x32).perfetto.protos.UiState.HighlightProcess\x1a@\n\x10HighlightProcess\x12\r\n\x03pid\x18\x01 \x01(\rH\x00\x12\x11\n\x07\x63mdline\x18\x02 \x01(\tH\x00\x42\n\n\x08selector\"\xa8\x30\n\x0bTracePacket\x12\x11\n\ttimestamp\x18\x08 \x01(\x04\x12\x1a\n\x12timestamp_clock_id\x18: \x01(\r\x12\x34\n\x0cprocess_tree\x18\x02 \x01(\x0b\x32\x1c.perfetto.protos.ProcessTreeH\x00\x12\x36\n\rprocess_stats\x18\t \x01(\x0b\x32\x1d.perfetto.protos.ProcessStatsH\x00\x12\x37\n\x0einode_file_map\x18\x04 \x01(\x0b\x32\x1d.perfetto.protos.InodeFileMapH\x00\x12;\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundleH\x00\x12\x38\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshotH\x00\x12.\n\tsys_stats\x18\x07 \x01(\x0b\x32\x19.perfetto.protos.SysStatsH\x00\x12\x32\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEventH\x00\x12\x30\n\ntrace_uuid\x18Y \x01(\x0b\x32\x1a.perfetto.protos.TraceUuidH\x00\x12\x34\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfigH\x00\x12\x34\n\x0c\x66trace_stats\x18\" \x01(\x0b\x32\x1c.perfetto.protos.FtraceStatsH\x00\x12\x32\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStatsH\x00\x12\x38\n\x0eprofile_packet\x18% \x01(\x0b\x32\x1e.perfetto.protos.ProfilePacketH\x00\x12\x44\n\x14streaming_allocation\x18J \x01(\x0b\x32$.perfetto.protos.StreamingAllocationH\x00\x12\x38\n\x0estreaming_free\x18K \x01(\x0b\x32\x1e.perfetto.protos.StreamingFreeH\x00\x12\x33\n\x07\x62\x61ttery\x18& \x01(\x0b\x32 .perfetto.protos.BatteryCountersH\x00\x12\x32\n\x0bpower_rails\x18( \x01(\x0b\x32\x1b.perfetto.protos.PowerRailsH\x00\x12\x38\n\x0b\x61ndroid_log\x18\' \x01(\x0b\x32!.perfetto.protos.AndroidLogPacketH\x00\x12\x32\n\x0bsystem_info\x18- \x01(\x0b\x32\x1b.perfetto.protos.SystemInfoH\x00\x12+\n\x07trigger\x18. \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x38\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTriggerH\x00\x12\x36\n\rpackages_list\x18/ \x01(\x0b\x32\x1d.perfetto.protos.PackagesListH\x00\x12M\n\x19\x63hrome_benchmark_metadata\x18\x30 \x01(\x0b\x32(.perfetto.protos.ChromeBenchmarkMetadataH\x00\x12@\n\x12perfetto_metatrace\x18\x31 \x01(\x0b\x32\".perfetto.protos.PerfettoMetatraceH\x00\x12@\n\x0f\x63hrome_metadata\x18\x33 \x01(\x0b\x32%.perfetto.protos.ChromeMetadataPacketH\x00\x12=\n\x11gpu_counter_event\x18\x34 \x01(\x0b\x32 .perfetto.protos.GpuCounterEventH\x00\x12\x46\n\x16gpu_render_stage_event\x18\x35 \x01(\x0b\x32$.perfetto.protos.GpuRenderStageEventH\x00\x12K\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacketH\x00\x12\x30\n\nheap_graph\x18\x38 \x01(\x0b\x32\x1a.perfetto.protos.HeapGraphH\x00\x12\x43\n\x14graphics_frame_event\x18\x39 \x01(\x0b\x32#.perfetto.protos.GraphicsFrameEventH\x00\x12\x41\n\x13vulkan_memory_event\x18> \x01(\x0b\x32\".perfetto.protos.VulkanMemoryEventH\x00\x12*\n\x07gpu_log\x18? \x01(\x0b\x32\x17.perfetto.protos.GpuLogH\x00\x12;\n\x10vulkan_api_event\x18\x41 \x01(\x0b\x32\x1f.perfetto.protos.VulkanApiEventH\x00\x12\x32\n\x0bperf_sample\x18\x42 \x01(\x0b\x32\x1b.perfetto.protos.PerfSampleH\x00\x12,\n\x08\x63pu_info\x18\x43 \x01(\x0b\x32\x18.perfetto.protos.CpuInfoH\x00\x12\x34\n\x0csmaps_packet\x18\x44 \x01(\x0b\x32\x1c.perfetto.protos.SmapsPacketH\x00\x12=\n\rservice_event\x18\x45 \x01(\x0b\x32$.perfetto.protos.TracingServiceEventH\x00\x12\x45\n\x15initial_display_state\x18\x46 \x01(\x0b\x32$.perfetto.protos.InitialDisplayStateH\x00\x12@\n\x13gpu_mem_total_event\x18G \x01(\x0b\x32!.perfetto.protos.GpuMemTotalEventH\x00\x12I\n\x17memory_tracker_snapshot\x18I \x01(\x0b\x32&.perfetto.protos.MemoryTrackerSnapshotH\x00\x12\x43\n\x14\x66rame_timeline_event\x18L \x01(\x0b\x32#.perfetto.protos.FrameTimelineEventH\x00\x12`\n#android_energy_estimation_breakdown\x18M \x01(\x0b\x32\x31.perfetto.protos.AndroidEnergyEstimationBreakdownH\x00\x12,\n\x08ui_state\x18N \x01(\x0b\x32\x18.perfetto.protos.UiStateH\x00\x12N\n\x1a\x61ndroid_camera_frame_event\x18P \x01(\x0b\x32(.perfetto.protos.AndroidCameraFrameEventH\x00\x12R\n\x1c\x61ndroid_camera_session_stats\x18Q \x01(\x0b\x32*.perfetto.protos.AndroidCameraSessionStatsH\x00\x12>\n\x11translation_table\x18R \x01(\x0b\x32!.perfetto.protos.TranslationTableH\x00\x12V\n\x1e\x61ndroid_game_intervention_list\x18S \x01(\x0b\x32,.perfetto.protos.AndroidGameInterventionListH\x00\x12\x32\n\x0bstatsd_atom\x18T \x01(\x0b\x32\x1b.perfetto.protos.StatsdAtomH\x00\x12I\n\x17\x61ndroid_system_property\x18V \x01(\x0b\x32&.perfetto.protos.AndroidSystemPropertyH\x00\x12G\n\x16\x65ntity_state_residency\x18[ \x01(\x0b\x32%.perfetto.protos.EntityStateResidencyH\x00\x12\x38\n\x0emodule_symbols\x18= \x01(\x0b\x32\x1e.perfetto.protos.ModuleSymbolsH\x00\x12\x46\n\x15\x64\x65obfuscation_mapping\x18@ \x01(\x0b\x32%.perfetto.protos.DeobfuscationMappingH\x00\x12<\n\x10track_descriptor\x18< \x01(\x0b\x32 .perfetto.protos.TrackDescriptorH\x00\x12@\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptorH\x00\x12>\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptorH\x00\x12;\n\rftrace_events\x18\x01 \x01(\x0b\x32\".perfetto.protos.FtraceEventBundleH\x00\x12 \n\x16synchronization_marker\x18$ \x01(\x0cH\x00\x12\x1c\n\x12\x63ompressed_packets\x18\x32 \x01(\x0cH\x00\x12\x44\n\x14\x65xtension_descriptor\x18H \x01(\x0b\x32$.perfetto.protos.ExtensionDescriptorH\x00\x12=\n\x0enetwork_packet\x18X \x01(\x0b\x32#.perfetto.protos.NetworkPacketEventH\x00\x12\x45\n\x15network_packet_bundle\x18\\ \x01(\x0b\x32$.perfetto.protos.NetworkPacketBundleH\x00\x12S\n\x1dtrack_event_range_of_interest\x18Z \x01(\x0b\x32*.perfetto.protos.TrackEventRangeOfInterestH\x00\x12N\n\x1esurfaceflinger_layers_snapshot\x18] \x01(\x0b\x32$.perfetto.protos.LayersSnapshotProtoH\x00\x12M\n\x1bsurfaceflinger_transactions\x18^ \x01(\x0b\x32&.perfetto.protos.TransactionTraceEntryH\x00\x12<\n\x10shell_transition\x18` \x01(\x0b\x32 .perfetto.protos.ShellTransitionH\x00\x12G\n\x16shell_handler_mappings\x18\x61 \x01(\x0b\x32%.perfetto.protos.ShellHandlerMappingsH\x00\x12<\n\x10protolog_message\x18h \x01(\x0b\x32 .perfetto.protos.ProtoLogMessageH\x00\x12G\n\x16protolog_viewer_config\x18i \x01(\x0b\x32%.perfetto.protos.ProtoLogViewerConfigH\x00\x12\x42\n\x13winscope_extensions\x18p \x01(\x0b\x32#.perfetto.protos.WinscopeExtensionsH\x00\x12:\n\netw_events\x18_ \x01(\x0b\x32$.perfetto.protos.EtwTraceEventBundleH\x00\x12/\n\nv8_js_code\x18\x63 \x01(\x0b\x32\x19.perfetto.protos.V8JsCodeH\x00\x12;\n\x10v8_internal_code\x18\x64 \x01(\x0b\x32\x1f.perfetto.protos.V8InternalCodeH\x00\x12\x33\n\x0cv8_wasm_code\x18\x65 \x01(\x0b\x32\x1b.perfetto.protos.V8WasmCodeH\x00\x12\x38\n\x0fv8_reg_exp_code\x18\x66 \x01(\x0b\x32\x1d.perfetto.protos.V8RegExpCodeH\x00\x12\x33\n\x0cv8_code_move\x18g \x01(\x0b\x32\x1b.perfetto.protos.V8CodeMoveH\x00\x12=\n\x11remote_clock_sync\x18k \x01(\x0b\x32 .perfetto.protos.RemoteClockSyncH\x00\x12?\n\x12pixel_modem_events\x18n \x01(\x0b\x32!.perfetto.protos.PixelModemEventsH\x00\x12N\n\x1apixel_modem_token_database\x18o \x01(\x0b\x32(.perfetto.protos.PixelModemTokenDatabaseH\x00\x12:\n\x16\x63lone_snapshot_trigger\x18q \x01(\x0b\x32\x18.perfetto.protos.TriggerH\x00\x12\x45\n\x15\x62luetooth_trace_event\x18r \x01(\x0b\x32$.perfetto.protos.BluetoothTraceEventH\x00\x12\x43\n\x14kernel_wakelock_data\x18s \x01(\x0b\x32#.perfetto.protos.KernelWakelockDataH\x00\x12\x41\n\x13\x61pp_wakelock_bundle\x18t \x01(\x0b\x32\".perfetto.protos.AppWakelockBundleH\x00\x12W\n\x1fgeneric_kernel_task_state_event\x18u \x01(\x0b\x32,.perfetto.protos.GenericKernelTaskStateEventH\x00\x12X\n\x1dgeneric_kernel_cpu_freq_event\x18v \x01(\x0b\x32/.perfetto.protos.GenericKernelCpuFrequencyEventH\x00\x12Y\n generic_kernel_task_rename_event\x18x \x01(\x0b\x32-.perfetto.protos.GenericKernelTaskRenameEventH\x00\x12P\n\x1bgeneric_kernel_process_tree\x18z \x01(\x0b\x32).perfetto.protos.GenericKernelProcessTreeH\x00\x12:\n\x10\x63pu_per_uid_data\x18w \x01(\x0b\x32\x1e.perfetto.protos.CpuPerUidDataH\x00\x12\x32\n\x0b\x65vdev_event\x18y \x01(\x0b\x32\x1b.perfetto.protos.EvdevEventH\x00\x12\x32\n\x0b\x66or_testing\x18\x84\x07 \x01(\x0b\x32\x1a.perfetto.protos.TestEventH\x00\x12\x15\n\x0btrusted_uid\x18\x03 \x01(\x05H\x01\x12$\n\x1atrusted_packet_sequence_id\x18\n \x01(\rH\x02\x12\x13\n\x0btrusted_pid\x18O \x01(\x05\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12\x16\n\x0esequence_flags\x18\r \x01(\r\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x43\n\x15trace_packet_defaults\x18; \x01(\x0b\x32$.perfetto.protos.TracePacketDefaults\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x12 \n\x18\x66irst_packet_on_sequence\x18W \x01(\x08\x12\x12\n\nmachine_id\x18\x62 \x01(\r\"h\n\rSequenceFlags\x12\x13\n\x0fSEQ_UNSPECIFIED\x10\x00\x12!\n\x1dSEQ_INCREMENTAL_STATE_CLEARED\x10\x01\x12\x1f\n\x1bSEQ_NEEDS_INCREMENTAL_STATE\x10\x02\x42\x06\n\x04\x64\x61taB\x16\n\x14optional_trusted_uidB%\n#optional_trusted_packet_sequence_idJ\x04\x08j\x10kJ\x04\x08\x37\x10\x38\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xbb\x02\n\x0c\x42uiltinClock\x12\x19\n\x15\x42UILTIN_CLOCK_UNKNOWN\x10\x00\x12\x1a\n\x16\x42UILTIN_CLOCK_REALTIME\x10\x01\x12!\n\x1d\x42UILTIN_CLOCK_REALTIME_COARSE\x10\x02\x12\x1b\n\x17\x42UILTIN_CLOCK_MONOTONIC\x10\x03\x12\"\n\x1e\x42UILTIN_CLOCK_MONOTONIC_COARSE\x10\x04\x12\x1f\n\x1b\x42UILTIN_CLOCK_MONOTONIC_RAW\x10\x05\x12\x1a\n\x16\x42UILTIN_CLOCK_BOOTTIME\x10\x06\x12\x15\n\x11\x42UILTIN_CLOCK_TSC\x10\t\x12\x16\n\x12\x42UILTIN_CLOCK_PERF\x10\n\x12\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08*\x8e\x01\n\x0c\x41ndroidLogId\x12\x0f\n\x0bLID_DEFAULT\x10\x00\x12\r\n\tLID_RADIO\x10\x01\x12\x0e\n\nLID_EVENTS\x10\x02\x12\x0e\n\nLID_SYSTEM\x10\x03\x12\r\n\tLID_CRASH\x10\x04\x12\r\n\tLID_STATS\x10\x05\x12\x10\n\x0cLID_SECURITY\x10\x06\x12\x0e\n\nLID_KERNEL\x10\x07*\x9b\x01\n\x12\x41ndroidLogPriority\x12\x14\n\x10PRIO_UNSPECIFIED\x10\x00\x12\x0f\n\x0bPRIO_UNUSED\x10\x01\x12\x10\n\x0cPRIO_VERBOSE\x10\x02\x12\x0e\n\nPRIO_DEBUG\x10\x03\x12\r\n\tPRIO_INFO\x10\x04\x12\r\n\tPRIO_WARN\x10\x05\x12\x0e\n\nPRIO_ERROR\x10\x06\x12\x0e\n\nPRIO_FATAL\x10\x07*\xc7\x01\n\rProtoLogLevel\x12\x1c\n\x18PROTOLOG_LEVEL_UNDEFINED\x10\x00\x12\x18\n\x14PROTOLOG_LEVEL_DEBUG\x10\x01\x12\x1a\n\x16PROTOLOG_LEVEL_VERBOSE\x10\x02\x12\x17\n\x13PROTOLOG_LEVEL_INFO\x10\x03\x12\x17\n\x13PROTOLOG_LEVEL_WARN\x10\x04\x12\x18\n\x14PROTOLOG_LEVEL_ERROR\x10\x05\x12\x16\n\x12PROTOLOG_LEVEL_WTF\x10\x06*\xd7\xe8\x02\n\x06\x41tomId\x12\x14\n\x10\x41TOM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41TOM_BLE_SCAN_STATE_CHANGED\x10\x02\x12\x1e\n\x1a\x41TOM_PROCESS_STATE_CHANGED\x10\x03\x12!\n\x1d\x41TOM_BLE_SCAN_RESULT_RECEIVED\x10\x04\x12\x1d\n\x19\x41TOM_SENSOR_STATE_CHANGED\x10\x05\x12\x1f\n\x1b\x41TOM_GPS_SCAN_STATE_CHANGED\x10\x06\x12\x1b\n\x17\x41TOM_SYNC_STATE_CHANGED\x10\x07\x12$\n ATOM_SCHEDULED_JOB_STATE_CHANGED\x10\x08\x12\"\n\x1e\x41TOM_SCREEN_BRIGHTNESS_CHANGED\x10\t\x12\x1f\n\x1b\x41TOM_WAKELOCK_STATE_CHANGED\x10\n\x12,\n(ATOM_LONG_PARTIAL_WAKELOCK_STATE_CHANGED\x10\x0b\x12)\n%ATOM_MOBILE_RADIO_POWER_STATE_CHANGED\x10\x0c\x12\'\n#ATOM_WIFI_RADIO_POWER_STATE_CHANGED\x10\r\x12-\n)ATOM_ACTIVITY_MANAGER_SLEEP_STATE_CHANGED\x10\x0e\x12$\n ATOM_MEMORY_FACTOR_STATE_CHANGED\x10\x0f\x12%\n!ATOM_EXCESSIVE_CPU_USAGE_REPORTED\x10\x10\x12\x1d\n\x19\x41TOM_CACHED_KILL_REPORTED\x10\x11\x12%\n!ATOM_PROCESS_MEMORY_STAT_REPORTED\x10\x12\x12\x17\n\x13\x41TOM_LAUNCHER_EVENT\x10\x13\x12)\n%ATOM_BATTERY_SAVER_MODE_STATE_CHANGED\x10\x14\x12\'\n#ATOM_DEVICE_IDLE_MODE_STATE_CHANGED\x10\x15\x12)\n%ATOM_DEVICE_IDLING_MODE_STATE_CHANGED\x10\x16\x12\x1c\n\x18\x41TOM_AUDIO_STATE_CHANGED\x10\x17\x12\"\n\x1e\x41TOM_MEDIA_CODEC_STATE_CHANGED\x10\x18\x12\x1d\n\x19\x41TOM_CAMERA_STATE_CHANGED\x10\x19\x12!\n\x1d\x41TOM_FLASHLIGHT_STATE_CHANGED\x10\x1a\x12\"\n\x1e\x41TOM_UID_PROCESS_STATE_CHANGED\x10\x1b\x12)\n%ATOM_PROCESS_LIFE_CYCLE_STATE_CHANGED\x10\x1c\x12\x1d\n\x19\x41TOM_SCREEN_STATE_CHANGED\x10\x1d\x12\x1e\n\x1a\x41TOM_BATTERY_LEVEL_CHANGED\x10\x1e\x12\x1f\n\x1b\x41TOM_CHARGING_STATE_CHANGED\x10\x1f\x12\x1e\n\x1a\x41TOM_PLUGGED_STATE_CHANGED\x10 \x12\"\n\x1e\x41TOM_INTERACTIVE_STATE_CHANGED\x10!\x12\x1d\n\x19\x41TOM_TOUCH_EVENT_REPORTED\x10\"\x12\x1e\n\x1a\x41TOM_WAKEUP_ALARM_OCCURRED\x10#\x12\x1f\n\x1b\x41TOM_KERNEL_WAKEUP_REPORTED\x10$\x12 \n\x1c\x41TOM_WIFI_LOCK_STATE_CHANGED\x10%\x12%\n!ATOM_WIFI_SIGNAL_STRENGTH_CHANGED\x10&\x12 \n\x1c\x41TOM_WIFI_SCAN_STATE_CHANGED\x10\'\x12&\n\"ATOM_PHONE_SIGNAL_STRENGTH_CHANGED\x10(\x12\x18\n\x14\x41TOM_SETTING_CHANGED\x10)\x12*\n&ATOM_ACTIVITY_FOREGROUND_STATE_CHANGED\x10*\x12\x1d\n\x19\x41TOM_ISOLATED_UID_CHANGED\x10+\x12\x1f\n\x1b\x41TOM_PACKET_WAKEUP_OCCURRED\x10,\x12 \n\x1c\x41TOM_WALL_CLOCK_TIME_SHIFTED\x10-\x12\x19\n\x15\x41TOM_ANOMALY_DETECTED\x10.\x12 \n\x1c\x41TOM_APP_BREADCRUMB_REPORTED\x10/\x12\x1b\n\x17\x41TOM_APP_START_OCCURRED\x10\x30\x12\x1b\n\x17\x41TOM_APP_START_CANCELED\x10\x31\x12\x1e\n\x1a\x41TOM_APP_START_FULLY_DRAWN\x10\x32\x12\x1a\n\x16\x41TOM_LMK_KILL_OCCURRED\x10\x33\x12)\n%ATOM_PICTURE_IN_PICTURE_STATE_CHANGED\x10\x34\x12*\n&ATOM_WIFI_MULTICAST_LOCK_STATE_CHANGED\x10\x35\x12(\n$ATOM_APP_START_MEMORY_STATE_CAPTURED\x10\x37\x12#\n\x1f\x41TOM_SHUTDOWN_SEQUENCE_REPORTED\x10\x38\x12\x1f\n\x1b\x41TOM_BOOT_SEQUENCE_REPORTED\x10\x39\x12\x1e\n\x1a\x41TOM_OVERLAY_STATE_CHANGED\x10;\x12)\n%ATOM_FOREGROUND_SERVICE_STATE_CHANGED\x10<\x12\x1b\n\x17\x41TOM_CALL_STATE_CHANGED\x10=\x12\x1f\n\x1b\x41TOM_KEYGUARD_STATE_CHANGED\x10>\x12\'\n#ATOM_KEYGUARD_BOUNCER_STATE_CHANGED\x10?\x12*\n&ATOM_KEYGUARD_BOUNCER_PASSWORD_ENTERED\x10@\x12\x11\n\rATOM_APP_DIED\x10\x41\x12\'\n#ATOM_RESOURCE_CONFIGURATION_CHANGED\x10\x42\x12(\n$ATOM_BLUETOOTH_ENABLED_STATE_CHANGED\x10\x43\x12+\n\'ATOM_BLUETOOTH_CONNECTION_STATE_CHANGED\x10\x44\x12#\n\x1f\x41TOM_GPS_SIGNAL_QUALITY_CHANGED\x10\x45\x12$\n ATOM_USB_CONNECTOR_STATE_CHANGED\x10\x46\x12#\n\x1f\x41TOM_SPEAKER_IMPEDANCE_REPORTED\x10G\x12\x18\n\x14\x41TOM_HARDWARE_FAILED\x10H\x12\x1f\n\x1b\x41TOM_PHYSICAL_DROP_DETECTED\x10I\x12\x1f\n\x1b\x41TOM_CHARGE_CYCLES_REPORTED\x10J\x12(\n$ATOM_MOBILE_CONNECTION_STATE_CHANGED\x10K\x12(\n$ATOM_MOBILE_RADIO_TECHNOLOGY_CHANGED\x10L\x12\x1c\n\x18\x41TOM_USB_DEVICE_ATTACHED\x10M\x12\x1b\n\x17\x41TOM_APP_CRASH_OCCURRED\x10N\x12\x15\n\x11\x41TOM_ANR_OCCURRED\x10O\x12\x15\n\x11\x41TOM_WTF_OCCURRED\x10P\x12\x19\n\x15\x41TOM_LOW_MEM_REPORTED\x10Q\x12\x15\n\x11\x41TOM_GENERIC_ATOM\x10R\x12\x1f\n\x1b\x41TOM_VIBRATOR_STATE_CHANGED\x10T\x12$\n ATOM_DEFERRED_JOB_STATS_REPORTED\x10U\x12\x1b\n\x17\x41TOM_THERMAL_THROTTLING\x10V\x12\x1b\n\x17\x41TOM_BIOMETRIC_ACQUIRED\x10W\x12 \n\x1c\x41TOM_BIOMETRIC_AUTHENTICATED\x10X\x12!\n\x1d\x41TOM_BIOMETRIC_ERROR_OCCURRED\x10Y\x12\x1a\n\x16\x41TOM_UI_EVENT_REPORTED\x10Z\x12 \n\x1c\x41TOM_BATTERY_HEALTH_SNAPSHOT\x10[\x12\x10\n\x0c\x41TOM_SLOW_IO\x10\\\x12 \n\x1c\x41TOM_BATTERY_CAUSED_SHUTDOWN\x10]\x12$\n ATOM_PHONE_SERVICE_STATE_CHANGED\x10^\x12\x1c\n\x18\x41TOM_PHONE_STATE_CHANGED\x10_\x12!\n\x1d\x41TOM_USER_RESTRICTION_CHANGED\x10`\x12\x1c\n\x18\x41TOM_SETTINGS_UI_CHANGED\x10\x61\x12#\n\x1f\x41TOM_CONNECTIVITY_STATE_CHANGED\x10\x62\x12\x1e\n\x1a\x41TOM_SERVICE_STATE_CHANGED\x10\x63\x12 \n\x1c\x41TOM_SERVICE_LAUNCH_REPORTED\x10\x64\x12\"\n\x1e\x41TOM_FLAG_FLIP_UPDATE_OCCURRED\x10\x65\x12\"\n\x1e\x41TOM_BINARY_PUSH_STATE_CHANGED\x10\x66\x12\x1c\n\x18\x41TOM_DEVICE_POLICY_EVENT\x10g\x12!\n\x1d\x41TOM_DOCS_UI_FILE_OP_CANCELED\x10h\x12\x30\n,ATOM_DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED\x10i\x12 \n\x1c\x41TOM_DOCS_UI_FILE_OP_FAILURE\x10j\x12!\n\x1d\x41TOM_DOCS_UI_PROVIDER_FILE_OP\x10k\x12.\n*ATOM_DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST\x10l\x12 \n\x1c\x41TOM_DOCS_UI_LAUNCH_REPORTED\x10m\x12\x1d\n\x19\x41TOM_DOCS_UI_ROOT_VISITED\x10n\x12\x1b\n\x17\x41TOM_DOCS_UI_STARTUP_MS\x10o\x12%\n!ATOM_DOCS_UI_USER_ACTION_REPORTED\x10p\x12#\n\x1f\x41TOM_WIFI_ENABLED_STATE_CHANGED\x10q\x12#\n\x1f\x41TOM_WIFI_RUNNING_STATE_CHANGED\x10r\x12\x16\n\x12\x41TOM_APP_COMPACTED\x10s\x12#\n\x1f\x41TOM_NETWORK_DNS_EVENT_REPORTED\x10t\x12.\n*ATOM_DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED\x10u\x12%\n!ATOM_DOCS_UI_PICK_RESULT_REPORTED\x10v\x12%\n!ATOM_DOCS_UI_SEARCH_MODE_REPORTED\x10w\x12%\n!ATOM_DOCS_UI_SEARCH_TYPE_REPORTED\x10x\x12\x19\n\x15\x41TOM_DATA_STALL_EVENT\x10y\x12$\n ATOM_RESCUE_PARTY_RESET_REPORTED\x10z\x12\x1f\n\x1b\x41TOM_SIGNED_CONFIG_REPORTED\x10{\x12\x1f\n\x1b\x41TOM_GNSS_NI_EVENT_REPORTED\x10|\x12.\n*ATOM_BLUETOOTH_LINK_LAYER_CONNECTION_EVENT\x10}\x12/\n+ATOM_BLUETOOTH_ACL_CONNECTION_STATE_CHANGED\x10~\x12/\n+ATOM_BLUETOOTH_SCO_CONNECTION_STATE_CHANGED\x10\x7f\x12\x18\n\x13\x41TOM_APP_DOWNGRADED\x10\x80\x01\x12(\n#ATOM_APP_OPTIMIZED_AFTER_DOWNGRADED\x10\x81\x01\x12#\n\x1e\x41TOM_LOW_STORAGE_STATE_CHANGED\x10\x82\x01\x12(\n#ATOM_GNSS_NFW_NOTIFICATION_REPORTED\x10\x83\x01\x12%\n ATOM_GNSS_CONFIGURATION_REPORTED\x10\x84\x01\x12*\n%ATOM_USB_PORT_OVERHEAT_EVENT_REPORTED\x10\x85\x01\x12\x1c\n\x17\x41TOM_NFC_ERROR_OCCURRED\x10\x86\x01\x12\x1b\n\x16\x41TOM_NFC_STATE_CHANGED\x10\x87\x01\x12\x1b\n\x16\x41TOM_NFC_BEAM_OCCURRED\x10\x88\x01\x12$\n\x1f\x41TOM_NFC_CARDEMULATION_OCCURRED\x10\x89\x01\x12\x1a\n\x15\x41TOM_NFC_TAG_OCCURRED\x10\x8a\x01\x12&\n!ATOM_NFC_HCE_TRANSACTION_OCCURRED\x10\x8b\x01\x12\x1a\n\x15\x41TOM_SE_STATE_CHANGED\x10\x8c\x01\x12\x1b\n\x16\x41TOM_SE_OMAPI_REPORTED\x10\x8d\x01\x12-\n(ATOM_BROADCAST_DISPATCH_LATENCY_REPORTED\x10\x8e\x01\x12\x33\n.ATOM_ATTENTION_MANAGER_SERVICE_RESULT_REPORTED\x10\x8f\x01\x12 \n\x1b\x41TOM_ADB_CONNECTION_CHANGED\x10\x90\x01\x12\"\n\x1d\x41TOM_SPEECH_DSP_STAT_REPORTED\x10\x91\x01\x12\"\n\x1d\x41TOM_USB_CONTAMINANT_REPORTED\x10\x92\x01\x12$\n\x1f\x41TOM_WATCHDOG_ROLLBACK_OCCURRED\x10\x93\x01\x12\x30\n+ATOM_BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED\x10\x94\x01\x12\x1b\n\x16\x41TOM_BUBBLE_UI_CHANGED\x10\x95\x01\x12*\n%ATOM_SCHEDULED_JOB_CONSTRAINT_CHANGED\x10\x96\x01\x12)\n$ATOM_BLUETOOTH_ACTIVE_DEVICE_CHANGED\x10\x97\x01\x12/\n*ATOM_BLUETOOTH_A2DP_PLAYBACK_STATE_CHANGED\x10\x98\x01\x12-\n(ATOM_BLUETOOTH_A2DP_CODEC_CONFIG_CHANGED\x10\x99\x01\x12\x31\n,ATOM_BLUETOOTH_A2DP_CODEC_CAPABILITY_CHANGED\x10\x9a\x01\x12\x30\n+ATOM_BLUETOOTH_A2DP_AUDIO_UNDERRUN_REPORTED\x10\x9b\x01\x12/\n*ATOM_BLUETOOTH_A2DP_AUDIO_OVERRUN_REPORTED\x10\x9c\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_RSSI_REPORTED\x10\x9d\x01\x12:\n5ATOM_BLUETOOTH_DEVICE_FAILED_CONTACT_COUNTER_REPORTED\x10\x9e\x01\x12\x32\n-ATOM_BLUETOOTH_DEVICE_TX_POWER_LEVEL_REPORTED\x10\x9f\x01\x12(\n#ATOM_BLUETOOTH_HCI_TIMEOUT_REPORTED\x10\xa0\x01\x12+\n&ATOM_BLUETOOTH_QUALITY_REPORT_REPORTED\x10\xa1\x01\x12(\n#ATOM_BLUETOOTH_DEVICE_INFO_REPORTED\x10\xa2\x01\x12\x30\n+ATOM_BLUETOOTH_REMOTE_VERSION_INFO_REPORTED\x10\xa3\x01\x12*\n%ATOM_BLUETOOTH_SDP_ATTRIBUTE_REPORTED\x10\xa4\x01\x12&\n!ATOM_BLUETOOTH_BOND_STATE_CHANGED\x10\xa5\x01\x12\x32\n-ATOM_BLUETOOTH_CLASSIC_PAIRING_EVENT_REPORTED\x10\xa6\x01\x12.\n)ATOM_BLUETOOTH_SMP_PAIRING_EVENT_REPORTED\x10\xa7\x01\x12+\n&ATOM_SCREEN_TIMEOUT_EXTENSION_REPORTED\x10\xa8\x01\x12\x1c\n\x17\x41TOM_PROCESS_START_TIME\x10\xa9\x01\x12\x32\n-ATOM_PERMISSION_GRANT_REQUEST_RESULT_REPORTED\x10\xaa\x01\x12\x33\n.ATOM_BLUETOOTH_SOCKET_CONNECTION_STATE_CHANGED\x10\xab\x01\x12)\n$ATOM_DEVICE_IDENTIFIER_ACCESS_DENIED\x10\xac\x01\x12)\n$ATOM_BUBBLE_DEVELOPER_ERROR_REPORTED\x10\xad\x01\x12\'\n\"ATOM_ASSIST_GESTURE_STAGE_REPORTED\x10\xae\x01\x12*\n%ATOM_ASSIST_GESTURE_FEEDBACK_REPORTED\x10\xaf\x01\x12*\n%ATOM_ASSIST_GESTURE_PROGRESS_REPORTED\x10\xb0\x01\x12\"\n\x1d\x41TOM_TOUCH_GESTURE_CLASSIFIED\x10\xb1\x01\x12\x19\n\x14\x41TOM_HIDDEN_API_USED\x10\xb2\x01\x12\x1a\n\x15\x41TOM_STYLE_UI_CHANGED\x10\xb3\x01\x12\'\n\"ATOM_PRIVACY_INDICATORS_INTERACTED\x10\xb4\x01\x12\x32\n-ATOM_APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED\x10\xb5\x01\x12 \n\x1b\x41TOM_NETWORK_STACK_REPORTED\x10\xb6\x01\x12$\n\x1f\x41TOM_APP_MOVED_STORAGE_REPORTED\x10\xb7\x01\x12\x1c\n\x17\x41TOM_BIOMETRIC_ENROLLED\x10\xb8\x01\x12)\n$ATOM_SYSTEM_SERVER_WATCHDOG_OCCURRED\x10\xb9\x01\x12\x1d\n\x18\x41TOM_TOMB_STONE_OCCURRED\x10\xba\x01\x12,\n\'ATOM_BLUETOOTH_CLASS_OF_DEVICE_REPORTED\x10\xbb\x01\x12%\n ATOM_INTELLIGENCE_EVENT_REPORTED\x10\xbc\x01\x12\x33\n.ATOM_THERMAL_THROTTLING_SEVERITY_STATE_CHANGED\x10\xbd\x01\x12&\n!ATOM_ROLE_REQUEST_RESULT_REPORTED\x10\xbe\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOPOLICY_REPORTED\x10\xbf\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIORECORD_REPORTED\x10\xc0\x01\x12+\n&ATOM_MEDIAMETRICS_AUDIOTHREAD_REPORTED\x10\xc1\x01\x12*\n%ATOM_MEDIAMETRICS_AUDIOTRACK_REPORTED\x10\xc2\x01\x12%\n ATOM_MEDIAMETRICS_CODEC_REPORTED\x10\xc3\x01\x12,\n\'ATOM_MEDIAMETRICS_DRM_WIDEVINE_REPORTED\x10\xc4\x01\x12)\n$ATOM_MEDIAMETRICS_EXTRACTOR_REPORTED\x10\xc5\x01\x12(\n#ATOM_MEDIAMETRICS_MEDIADRM_REPORTED\x10\xc6\x01\x12(\n#ATOM_MEDIAMETRICS_NUPLAYER_REPORTED\x10\xc7\x01\x12(\n#ATOM_MEDIAMETRICS_RECORDER_REPORTED\x10\xc8\x01\x12*\n%ATOM_MEDIAMETRICS_DRMMANAGER_REPORTED\x10\xc9\x01\x12!\n\x1c\x41TOM_CAR_POWER_STATE_CHANGED\x10\xcb\x01\x12\x1a\n\x15\x41TOM_GARAGE_MODE_INFO\x10\xcc\x01\x12\x1c\n\x17\x41TOM_TEST_ATOM_REPORTED\x10\xcd\x01\x12\x32\n-ATOM_CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED\x10\xce\x01\x12(\n#ATOM_CONTENT_CAPTURE_SERVICE_EVENTS\x10\xcf\x01\x12(\n#ATOM_CONTENT_CAPTURE_SESSION_EVENTS\x10\xd0\x01\x12!\n\x1c\x41TOM_CONTENT_CAPTURE_FLUSHED\x10\xd1\x01\x12-\n(ATOM_LOCATION_MANAGER_API_USAGE_REPORTED\x10\xd2\x01\x12\x35\n0ATOM_REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED\x10\xd3\x01\x12,\n\'ATOM_RUNTIME_PERMISSIONS_UPGRADE_RESULT\x10\xd4\x01\x12\x33\n.ATOM_GRANT_PERMISSIONS_ACTIVITY_BUTTON_ACTIONS\x10\xd5\x01\x12\x33\n.ATOM_LOCATION_ACCESS_CHECK_NOTIFICATION_ACTION\x10\xd6\x01\x12\x31\n,ATOM_APP_PERMISSION_FRAGMENT_ACTION_REPORTED\x10\xd7\x01\x12(\n#ATOM_APP_PERMISSION_FRAGMENT_VIEWED\x10\xd8\x01\x12)\n$ATOM_APP_PERMISSIONS_FRAGMENT_VIEWED\x10\xd9\x01\x12)\n$ATOM_PERMISSION_APPS_FRAGMENT_VIEWED\x10\xda\x01\x12\x1e\n\x19\x41TOM_TEXT_SELECTION_EVENT\x10\xdb\x01\x12\x1c\n\x17\x41TOM_TEXT_LINKIFY_EVENT\x10\xdc\x01\x12$\n\x1f\x41TOM_CONVERSATION_ACTIONS_EVENT\x10\xdd\x01\x12\"\n\x1d\x41TOM_LANGUAGE_DETECTION_EVENT\x10\xde\x01\x12&\n!ATOM_EXCLUSION_RECT_STATE_CHANGED\x10\xdf\x01\x12(\n#ATOM_BACK_GESTURE_REPORTED_REPORTED\x10\xe0\x01\x12/\n*ATOM_UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED\x10\xe1\x01\x12\x32\n-ATOM_UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED\x10\xe2\x01\x12\x1d\n\x18\x41TOM_CAMERA_ACTION_EVENT\x10\xe3\x01\x12+\n&ATOM_APP_COMPATIBILITY_CHANGE_REPORTED\x10\xe4\x01\x12\x1b\n\x16\x41TOM_PERFETTO_UPLOADED\x10\xe5\x01\x12-\n(ATOM_VMS_CLIENT_CONNECTION_STATE_CHANGED\x10\xe6\x01\x12&\n!ATOM_MEDIA_PROVIDER_SCAN_OCCURRED\x10\xe9\x01\x12\x1f\n\x1a\x41TOM_MEDIA_CONTENT_DELETED\x10\xea\x01\x12-\n(ATOM_MEDIA_PROVIDER_PERMISSION_REQUESTED\x10\xeb\x01\x12\'\n\"ATOM_MEDIA_PROVIDER_SCHEMA_CHANGED\x10\xec\x01\x12\x32\n-ATOM_MEDIA_PROVIDER_IDLE_MAINTENANCE_FINISHED\x10\xed\x01\x12)\n$ATOM_REBOOT_ESCROW_RECOVERY_REPORTED\x10\xee\x01\x12+\n&ATOM_BOOT_TIME_EVENT_DURATION_REPORTED\x10\xef\x01\x12/\n*ATOM_BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED\x10\xf0\x01\x12+\n&ATOM_BOOT_TIME_EVENT_UTC_TIME_REPORTED\x10\xf1\x01\x12-\n(ATOM_BOOT_TIME_EVENT_ERROR_CODE_REPORTED\x10\xf2\x01\x12#\n\x1e\x41TOM_USERSPACE_REBOOT_REPORTED\x10\xf3\x01\x12\x1f\n\x1a\x41TOM_NOTIFICATION_REPORTED\x10\xf4\x01\x12%\n ATOM_NOTIFICATION_PANEL_REPORTED\x10\xf5\x01\x12\'\n\"ATOM_NOTIFICATION_CHANNEL_MODIFIED\x10\xf6\x01\x12)\n$ATOM_INTEGRITY_CHECK_RESULT_REPORTED\x10\xf7\x01\x12 \n\x1b\x41TOM_INTEGRITY_RULES_PUSHED\x10\xf8\x01\x12\x1d\n\x18\x41TOM_CB_MESSAGE_REPORTED\x10\xf9\x01\x12\x1a\n\x15\x41TOM_CB_MESSAGE_ERROR\x10\xfa\x01\x12#\n\x1e\x41TOM_WIFI_HEALTH_STAT_REPORTED\x10\xfb\x01\x12$\n\x1f\x41TOM_WIFI_FAILURE_STAT_REPORTED\x10\xfc\x01\x12)\n$ATOM_WIFI_CONNECTION_RESULT_REPORTED\x10\xfd\x01\x12\x1c\n\x17\x41TOM_APP_FREEZE_CHANGED\x10\xfe\x01\x12!\n\x1c\x41TOM_SNAPSHOT_MERGE_REPORTED\x10\xff\x01\x12\x31\n,ATOM_FOREGROUND_SERVICE_APP_OP_SESSION_ENDED\x10\x80\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_JANK_REPORTED\x10\x81\x02\x12$\n\x1f\x41TOM_APP_STANDBY_BUCKET_CHANGED\x10\x82\x02\x12\x1c\n\x17\x41TOM_SHARESHEET_STARTED\x10\x83\x02\x12\x1a\n\x15\x41TOM_RANKING_SELECTED\x10\x84\x02\x12\"\n\x1d\x41TOM_TVSETTINGS_UI_INTERACTED\x10\x85\x02\x12\x1b\n\x16\x41TOM_LAUNCHER_SNAPSHOT\x10\x86\x02\x12\'\n\"ATOM_PACKAGE_INSTALLER_V2_REPORTED\x10\x87\x02\x12)\n$ATOM_USER_LIFECYCLE_JOURNEY_REPORTED\x10\x88\x02\x12\'\n\"ATOM_USER_LIFECYCLE_EVENT_OCCURRED\x10\x89\x02\x12)\n$ATOM_ACCESSIBILITY_SHORTCUT_REPORTED\x10\x8a\x02\x12(\n#ATOM_ACCESSIBILITY_SERVICE_REPORTED\x10\x8b\x02\x12(\n#ATOM_DOCS_UI_DRAG_AND_DROP_REPORTED\x10\x8c\x02\x12\"\n\x1d\x41TOM_APP_USAGE_EVENT_OCCURRED\x10\x8d\x02\x12*\n%ATOM_AUTO_REVOKE_NOTIFICATION_CLICKED\x10\x8e\x02\x12)\n$ATOM_AUTO_REVOKE_FRAGMENT_APP_VIEWED\x10\x8f\x02\x12&\n!ATOM_AUTO_REVOKED_APP_INTERACTION\x10\x90\x02\x12;\n6ATOM_APP_PERMISSION_GROUPS_FRAGMENT_AUTO_REVOKE_ACTION\x10\x91\x02\x12\"\n\x1d\x41TOM_EVS_USAGE_STATS_REPORTED\x10\x92\x02\x12)\n$ATOM_AUDIO_POWER_USAGE_DATA_REPORTED\x10\x93\x02\x12 \n\x1b\x41TOM_TV_TUNER_STATE_CHANGED\x10\x94\x02\x12(\n#ATOM_MEDIAOUTPUT_OP_SWITCH_REPORTED\x10\x95\x02\x12\x1d\n\x18\x41TOM_CB_MESSAGE_FILTERED\x10\x96\x02\x12\x1d\n\x18\x41TOM_TV_TUNER_DVR_STATUS\x10\x97\x02\x12$\n\x1f\x41TOM_TV_CAS_SESSION_OPEN_STATUS\x10\x98\x02\x12\'\n\"ATOM_ASSISTANT_INVOCATION_REPORTED\x10\x99\x02\x12\x1f\n\x1a\x41TOM_DISPLAY_WAKE_REPORTED\x10\x9a\x02\x12\x33\n.ATOM_CAR_USER_HAL_MODIFY_USER_REQUEST_REPORTED\x10\x9b\x02\x12\x34\n/ATOM_CAR_USER_HAL_MODIFY_USER_RESPONSE_REPORTED\x10\x9c\x02\x12\x34\n/ATOM_CAR_USER_HAL_POST_SWITCH_RESPONSE_REPORTED\x10\x9d\x02\x12\x39\n4ATOM_CAR_USER_HAL_INITIAL_USER_INFO_REQUEST_REPORTED\x10\x9e\x02\x12:\n5ATOM_CAR_USER_HAL_INITIAL_USER_INFO_RESPONSE_REPORTED\x10\x9f\x02\x12\x38\n3ATOM_CAR_USER_HAL_USER_ASSOCIATION_REQUEST_REPORTED\x10\xa0\x02\x12=\n8ATOM_CAR_USER_HAL_SET_USER_ASSOCIATION_RESPONSE_REPORTED\x10\xa1\x02\x12*\n%ATOM_NETWORK_IP_PROVISIONING_REPORTED\x10\xa2\x02\x12%\n ATOM_NETWORK_DHCP_RENEW_REPORTED\x10\xa3\x02\x12%\n ATOM_NETWORK_VALIDATION_REPORTED\x10\xa4\x02\x12&\n!ATOM_NETWORK_STACK_QUIRK_REPORTED\x10\xa5\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIORECORDDEVICEUSAGE_REPORTED\x10\xa6\x02\x12\x36\n1ATOM_MEDIAMETRICS_AUDIOTHREADDEVICEUSAGE_REPORTED\x10\xa7\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIOTRACKDEVICEUSAGE_REPORTED\x10\xa8\x02\x12\x35\n0ATOM_MEDIAMETRICS_AUDIODEVICECONNECTION_REPORTED\x10\xa9\x02\x12\x18\n\x13\x41TOM_BLOB_COMMITTED\x10\xaa\x02\x12\x15\n\x10\x41TOM_BLOB_LEASED\x10\xab\x02\x12\x15\n\x10\x41TOM_BLOB_OPENED\x10\xac\x02\x12+\n&ATOM_CONTACTS_PROVIDER_STATUS_REPORTED\x10\xad\x02\x12%\n ATOM_KEYSTORE_KEY_EVENT_REPORTED\x10\xae\x02\x12$\n\x1f\x41TOM_NETWORK_TETHERING_REPORTED\x10\xaf\x02\x12\x1c\n\x17\x41TOM_IME_TOUCH_REPORTED\x10\xb0\x02\x12,\n\'ATOM_UI_INTERACTION_FRAME_INFO_REPORTED\x10\xb1\x02\x12$\n\x1f\x41TOM_UI_ACTION_LATENCY_REPORTED\x10\xb2\x02\x12\"\n\x1d\x41TOM_WIFI_DISCONNECT_REPORTED\x10\xb3\x02\x12\'\n\"ATOM_WIFI_CONNECTION_STATE_CHANGED\x10\xb4\x02\x12(\n#ATOM_HDMI_CEC_ACTIVE_SOURCE_CHANGED\x10\xb5\x02\x12#\n\x1e\x41TOM_HDMI_CEC_MESSAGE_REPORTED\x10\xb6\x02\x12\x17\n\x12\x41TOM_AIRPLANE_MODE\x10\xb7\x02\x12\x17\n\x12\x41TOM_MODEM_RESTART\x10\xb8\x02\x12&\n!ATOM_CARRIER_ID_MISMATCH_REPORTED\x10\xb9\x02\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_UPDATED\x10\xba\x02\x12&\n!ATOM_DATA_STALL_RECOVERY_REPORTED\x10\xbb\x02\x12+\n&ATOM_MEDIAMETRICS_MEDIAPARSER_REPORTED\x10\xbc\x02\x12 \n\x1b\x41TOM_TLS_HANDSHAKE_REPORTED\x10\xbd\x02\x12,\n\'ATOM_TEXT_CLASSIFIER_API_USAGE_REPORTED\x10\xbe\x02\x12*\n%ATOM_CAR_WATCHDOG_KILL_STATS_REPORTED\x10\xbf\x02\x12(\n#ATOM_MEDIAMETRICS_PLAYBACK_REPORTED\x10\xc0\x02\x12$\n\x1f\x41TOM_MEDIA_NETWORK_INFO_CHANGED\x10\xc1\x02\x12&\n!ATOM_MEDIA_PLAYBACK_STATE_CHANGED\x10\xc2\x02\x12\'\n\"ATOM_MEDIA_PLAYBACK_ERROR_REPORTED\x10\xc3\x02\x12&\n!ATOM_MEDIA_PLAYBACK_TRACK_CHANGED\x10\xc4\x02\x12\x1c\n\x17\x41TOM_WIFI_SCAN_REPORTED\x10\xc5\x02\x12 \n\x1b\x41TOM_WIFI_PNO_SCAN_REPORTED\x10\xc6\x02\x12\x1a\n\x15\x41TOM_TIF_TUNE_CHANGED\x10\xc7\x02\x12\x1e\n\x19\x41TOM_AUTO_ROTATE_REPORTED\x10\xc8\x02\x12\x1a\n\x15\x41TOM_PERFETTO_TRIGGER\x10\xc9\x02\x12\x1a\n\x15\x41TOM_TRANSCODING_DATA\x10\xca\x02\x12)\n$ATOM_IMS_SERVICE_ENTITLEMENT_UPDATED\x10\xcb\x02\x12\x18\n\x13\x41TOM_DEVICE_ROTATED\x10\xcd\x02\x12(\n#ATOM_SIM_SPECIFIC_SETTINGS_RESTORED\x10\xce\x02\x12+\n&ATOM_TEXT_CLASSIFIER_DOWNLOAD_REPORTED\x10\xcf\x02\x12\x1b\n\x16\x41TOM_PIN_STORAGE_EVENT\x10\xd0\x02\x12\x1c\n\x17\x41TOM_FACE_DOWN_REPORTED\x10\xd1\x02\x12-\n(ATOM_BLUETOOTH_HAL_CRASH_REASON_REPORTED\x10\xd2\x02\x12,\n\'ATOM_REBOOT_ESCROW_PREPARATION_REPORTED\x10\xd3\x02\x12-\n(ATOM_REBOOT_ESCROW_LSKF_CAPTURE_REPORTED\x10\xd4\x02\x12\'\n\"ATOM_REBOOT_ESCROW_REBOOT_REPORTED\x10\xd5\x02\x12!\n\x1c\x41TOM_BINDER_LATENCY_REPORTED\x10\xd6\x02\x12,\n\'ATOM_MEDIAMETRICS_AAUDIOSTREAM_REPORTED\x10\xd7\x02\x12)\n$ATOM_MEDIA_TRANSCODING_SESSION_ENDED\x10\xd8\x02\x12&\n!ATOM_MAGNIFICATION_USAGE_REPORTED\x10\xd9\x02\x12\x31\n,ATOM_MAGNIFICATION_MODE_WITH_IME_ON_REPORTED\x10\xda\x02\x12(\n#ATOM_APP_SEARCH_CALL_STATS_REPORTED\x10\xdb\x02\x12\x30\n+ATOM_APP_SEARCH_PUT_DOCUMENT_STATS_REPORTED\x10\xdc\x02\x12 \n\x1b\x41TOM_DEVICE_CONTROL_CHANGED\x10\xdd\x02\x12\x1e\n\x19\x41TOM_DEVICE_STATE_CHANGED\x10\xde\x02\x12 \n\x1b\x41TOM_INPUTDEVICE_REGISTERED\x10\xdf\x02\x12\"\n\x1d\x41TOM_SMARTSPACE_CARD_REPORTED\x10\xe0\x02\x12*\n%ATOM_AUTH_PROMPT_AUTHENTICATE_INVOKED\x10\xe1\x02\x12/\n*ATOM_AUTH_MANAGER_CAN_AUTHENTICATE_INVOKED\x10\xe2\x02\x12$\n\x1f\x41TOM_AUTH_ENROLL_ACTION_INVOKED\x10\xe3\x02\x12\"\n\x1d\x41TOM_AUTH_DEPRECATED_API_USED\x10\xe4\x02\x12$\n\x1f\x41TOM_UNATTENDED_REBOOT_OCCURRED\x10\xe5\x02\x12\'\n\"ATOM_LONG_REBOOT_BLOCKING_REPORTED\x10\xe6\x02\x12\x33\n.ATOM_LOCATION_TIME_ZONE_PROVIDER_STATE_CHANGED\x10\xe7\x02\x12 \n\x1b\x41TOM_FDTRACK_EVENT_OCCURRED\x10\xec\x02\x12(\n#ATOM_TIMEOUT_AUTO_EXTENDED_REPORTED\x10\xed\x02\x12\x1f\n\x1a\x41TOM_ALARM_BATCH_DELIVERED\x10\xef\x02\x12\x19\n\x14\x41TOM_ALARM_SCHEDULED\x10\xf0\x02\x12\x30\n+ATOM_CAR_WATCHDOG_IO_OVERUSE_STATS_REPORTED\x10\xf1\x02\x12.\n)ATOM_USER_LEVEL_HIBERNATION_STATE_CHANGED\x10\xf2\x02\x12.\n)ATOM_APP_SEARCH_INITIALIZE_STATS_REPORTED\x10\xf3\x02\x12)\n$ATOM_APP_SEARCH_QUERY_STATS_REPORTED\x10\xf4\x02\x12\x1a\n\x15\x41TOM_APP_PROCESS_DIED\x10\xf5\x02\x12\x32\n-ATOM_NETWORK_IP_REACHABILITY_MONITOR_REPORTED\x10\xf6\x02\x12#\n\x1e\x41TOM_SLOW_INPUT_EVENT_REPORTED\x10\xf7\x02\x12)\n$ATOM_ANR_OCCURRED_PROCESSING_STARTED\x10\xf8\x02\x12*\n%ATOM_APP_SEARCH_REMOVE_STATS_REPORTED\x10\xf9\x02\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_REPORTED\x10\xfa\x02\x12/\n*ATOM_PERMISSION_USAGE_FRAGMENT_INTERACTION\x10\xfb\x02\x12(\n#ATOM_PERMISSION_DETAILS_INTERACTION\x10\xfc\x02\x12+\n&ATOM_PRIVACY_SENSOR_TOGGLE_INTERACTION\x10\xfd\x02\x12+\n&ATOM_PRIVACY_TOGGLE_DIALOG_INTERACTION\x10\xfe\x02\x12,\n\'ATOM_APP_SEARCH_OPTIMIZE_STATS_REPORTED\x10\xff\x02\x12.\n)ATOM_NON_A11Y_TOOL_SERVICE_WARNING_REPORT\x10\x80\x03\x12\"\n\x1d\x41TOM_APP_COMPAT_STATE_CHANGED\x10\x82\x03\x12\x33\n.ATOM_SIZE_COMPAT_RESTART_BUTTON_EVENT_REPORTED\x10\x83\x03\x12 \n\x1b\x41TOM_SPLITSCREEN_UI_CHANGED\x10\x84\x03\x12(\n#ATOM_NETWORK_DNS_HANDSHAKE_REPORTED\x10\x85\x03\x12%\n ATOM_BLUETOOTH_CODE_PATH_COUNTER\x10\x86\x03\x12.\n)ATOM_BLUETOOTH_LE_BATCH_SCAN_REPORT_DELAY\x10\x88\x03\x12\x30\n+ATOM_ACCESSIBILITY_FLOATING_MENU_UI_CHANGED\x10\x89\x03\x12.\n)ATOM_NEURALNETWORKS_COMPILATION_COMPLETED\x10\x8a\x03\x12,\n\'ATOM_NEURALNETWORKS_EXECUTION_COMPLETED\x10\x8b\x03\x12+\n&ATOM_NEURALNETWORKS_COMPILATION_FAILED\x10\x8c\x03\x12)\n$ATOM_NEURALNETWORKS_EXECUTION_FAILED\x10\x8d\x03\x12\x1c\n\x17\x41TOM_CONTEXT_HUB_BOOTED\x10\x8e\x03\x12\x1f\n\x1a\x41TOM_CONTEXT_HUB_RESTARTED\x10\x8f\x03\x12\x36\n1ATOM_CONTEXT_HUB_LOADED_NANOAPP_SNAPSHOT_REPORTED\x10\x90\x03\x12\'\n\"ATOM_CHRE_CODE_DOWNLOAD_TRANSACTED\x10\x91\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_INITED\x10\x92\x03\x12\x1c\n\x17\x41TOM_UWB_SESSION_CLOSED\x10\x93\x03\x12$\n\x1f\x41TOM_UWB_FIRST_RANGING_RECEIVED\x10\x94\x03\x12*\n%ATOM_UWB_RANGING_MEASUREMENT_RECEIVED\x10\x95\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_SCHEDULED\x10\x96\x03\x12\x31\n,ATOM_TEXT_CLASSIFIER_DOWNLOAD_WORK_COMPLETED\x10\x97\x03\x12\x1b\n\x16\x41TOM_CLIPBOARD_CLEARED\x10\x98\x03\x12\x1f\n\x1a\x41TOM_VM_CREATION_REQUESTED\x10\x99\x03\x12*\n%ATOM_NEARBY_DEVICE_SCAN_STATE_CHANGED\x10\x9a\x03\x12%\n ATOM_APPLICATION_LOCALES_CHANGED\x10\x9c\x03\x12\x30\n+ATOM_MEDIAMETRICS_AUDIOTRACKSTATUS_REPORTED\x10\x9d\x03\x12&\n!ATOM_FOLD_STATE_DURATION_REPORTED\x10\x9e\x03\x12>\n9ATOM_LOCATION_TIME_ZONE_PROVIDER_CONTROLLER_STATE_CHANGED\x10\x9f\x03\x12#\n\x1e\x41TOM_DISPLAY_HBM_STATE_CHANGED\x10\xa0\x03\x12(\n#ATOM_DISPLAY_HBM_BRIGHTNESS_CHANGED\x10\xa1\x03\x12,\n\'ATOM_PERSISTENT_URI_PERMISSIONS_FLUSHED\x10\xa2\x03\x12\x35\n0ATOM_EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED\x10\xa3\x03\x12 \n\x1b\x41TOM_VBMETA_DIGEST_REPORTED\x10\xa4\x03\x12\x1c\n\x17\x41TOM_APEX_INFO_GATHERED\x10\xa5\x03\x12\x1b\n\x16\x41TOM_PVM_INFO_GATHERED\x10\xa6\x03\x12%\n ATOM_WEAR_SETTINGS_UI_INTERACTED\x10\xa7\x03\x12&\n!ATOM_TRACING_SERVICE_REPORT_EVENT\x10\xa8\x03\x12\x31\n,ATOM_MEDIAMETRICS_AUDIORECORDSTATUS_REPORTED\x10\xa9\x03\x12\x1a\n\x15\x41TOM_LAUNCHER_LATENCY\x10\xaa\x03\x12\x1f\n\x1a\x41TOM_DROPBOX_ENTRY_DROPPED\x10\xab\x03\x12&\n!ATOM_WIFI_P2P_CONNECTION_REPORTED\x10\xac\x03\x12\x1c\n\x17\x41TOM_GAME_STATE_CHANGED\x10\xad\x03\x12+\n&ATOM_HOTWORD_DETECTOR_CREATE_REQUESTED\x10\xae\x03\x12\x38\n3ATOM_HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED\x10\xaf\x03\x12-\n(ATOM_HOTWORD_DETECTION_SERVICE_RESTARTED\x10\xb0\x03\x12.\n)ATOM_HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED\x10\xb1\x03\x12!\n\x1c\x41TOM_HOTWORD_DETECTOR_EVENTS\x10\xb2\x03\x12>\n9ATOM_BOOT_COMPLETED_BROADCAST_COMPLETION_LATENCY_REPORTED\x10\xb5\x03\x12\x30\n+ATOM_CONTACTS_INDEXER_UPDATE_STATS_REPORTED\x10\xb8\x03\x12*\n%ATOM_APP_BACKGROUND_RESTRICTIONS_INFO\x10\xb9\x03\x12/\n*ATOM_MMS_SMS_PROVIDER_GET_THREAD_ID_FAILED\x10\xba\x03\x12\x33\n.ATOM_MMS_SMS_DATABASE_HELPER_ON_UPGRADE_FAILED\x10\xbb\x03\x12\x35\n0ATOM_PERMISSION_REMINDER_NOTIFICATION_INTERACTED\x10\xbc\x03\x12\x30\n+ATOM_RECENT_PERMISSION_DECISIONS_INTERACTED\x10\xbd\x03\x12%\n ATOM_GNSS_PSDS_DOWNLOAD_REPORTED\x10\xbe\x03\x12.\n)ATOM_LE_AUDIO_CONNECTION_SESSION_REPORTED\x10\xbf\x03\x12-\n(ATOM_LE_AUDIO_BROADCAST_SESSION_REPORTED\x10\xc0\x03\x12!\n\x1c\x41TOM_DREAM_UI_EVENT_REPORTED\x10\xc1\x03\x12%\n ATOM_TASK_MANAGER_EVENT_REPORTED\x10\xc2\x03\x12 \n\x1b\x41TOM_CDM_ASSOCIATION_ACTION\x10\xc3\x03\x12\x46\nAATOM_MAGNIFICATION_TRIPLE_TAP_AND_HOLD_ACTIVATED_SESSION_REPORTED\x10\xc4\x03\x12\x46\nAATOM_MAGNIFICATION_FOLLOW_TYPING_FOCUS_ACTIVATED_SESSION_REPORTED\x10\xc5\x03\x12\x34\n/ATOM_ACCESSIBILITY_TEXT_READING_OPTIONS_CHANGED\x10\xc6\x03\x12+\n&ATOM_WIFI_SETUP_FAILURE_CRASH_REPORTED\x10\xc7\x03\x12#\n\x1e\x41TOM_UWB_DEVICE_ERROR_REPORTED\x10\xc8\x03\x12(\n#ATOM_ISOLATED_COMPILATION_SCHEDULED\x10\xc9\x03\x12$\n\x1f\x41TOM_ISOLATED_COMPILATION_ENDED\x10\xca\x03\x12\x36\n1ATOM_ONS_OPPORTUNISTIC_ESIM_PROVISIONING_COMPLETE\x10\xcb\x03\x12-\n(ATOM_SYSTEM_SERVER_PRE_WATCHDOG_OCCURRED\x10\xcc\x03\x12$\n\x1f\x41TOM_TELEPHONY_ANOMALY_DETECTED\x10\xcd\x03\x12$\n\x1f\x41TOM_LETTERBOX_POSITION_CHANGED\x10\xce\x03\x12)\n$ATOM_REMOTE_KEY_PROVISIONING_ATTEMPT\x10\xcf\x03\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_NETWORK_INFO\x10\xd0\x03\x12(\n#ATOM_REMOTE_KEY_PROVISIONING_TIMING\x10\xd1\x03\x12+\n&ATOM_MEDIAOUTPUT_OP_INTERACTION_REPORT\x10\xd2\x03\x12!\n\x1c\x41TOM_SYNC_EXEMPTION_OCCURRED\x10\xd4\x03\x12.\n)ATOM_AUTOFILL_PRESENTATION_EVENT_REPORTED\x10\xd5\x03\x12\x1c\n\x17\x41TOM_DOCK_STATE_CHANGED\x10\xd6\x03\x12\'\n\"ATOM_SAFETY_SOURCE_STATE_COLLECTED\x10\xd7\x03\x12-\n(ATOM_SAFETY_CENTER_SYSTEM_EVENT_REPORTED\x10\xd8\x03\x12,\n\'ATOM_SAFETY_CENTER_INTERACTION_REPORTED\x10\xd9\x03\x12+\n&ATOM_SETTINGS_PROVIDER_SETTING_CHANGED\x10\xda\x03\x12+\n&ATOM_BROADCAST_DELIVERY_EVENT_REPORTED\x10\xdb\x03\x12(\n#ATOM_SERVICE_REQUEST_EVENT_REPORTED\x10\xdc\x03\x12-\n(ATOM_PROVIDER_ACQUISITION_EVENT_REPORTED\x10\xdd\x03\x12(\n#ATOM_BLUETOOTH_DEVICE_NAME_REPORTED\x10\xde\x03\x12\x1b\n\x16\x41TOM_CB_CONFIG_UPDATED\x10\xdf\x03\x12\"\n\x1d\x41TOM_CB_MODULE_ERROR_REPORTED\x10\xe0\x03\x12$\n\x1f\x41TOM_CB_SERVICE_FEATURE_CHANGED\x10\xe1\x03\x12%\n ATOM_CB_RECEIVER_FEATURE_CHANGED\x10\xe2\x03\x12\x31\n,ATOM_PRIVACY_SIGNAL_NOTIFICATION_INTERACTION\x10\xe4\x03\x12/\n*ATOM_PRIVACY_SIGNAL_ISSUE_CARD_INTERACTION\x10\xe5\x03\x12%\n ATOM_PRIVACY_SIGNALS_JOB_FAILURE\x10\xe6\x03\x12\x1c\n\x17\x41TOM_VIBRATION_REPORTED\x10\xe7\x03\x12\x1b\n\x16\x41TOM_UWB_RANGING_START\x10\xe9\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\x03\x12-\n(ATOM_NETWORK_DNS_SERVER_SUPPORT_REPORTED\x10\xf8\x03\x12\x13\n\x0e\x41TOM_VM_BOOTED\x10\xf9\x03\x12\x13\n\x0e\x41TOM_VM_EXITED\x10\xfa\x03\x12+\n&ATOM_AMBIENT_BRIGHTNESS_STATS_REPORTED\x10\xfb\x03\x12\x37\n2ATOM_MEDIAMETRICS_SPATIALIZERCAPABILITIES_REPORTED\x10\xfc\x03\x12\x38\n3ATOM_MEDIAMETRICS_SPATIALIZERDEVICEENABLED_REPORTED\x10\xfd\x03\x12\x38\n3ATOM_MEDIAMETRICS_HEADTRACKERDEVICEENABLED_REPORTED\x10\xfe\x03\x12:\n5ATOM_MEDIAMETRICS_HEADTRACKERDEVICESUPPORTED_REPORTED\x10\xff\x03\x12#\n\x1e\x41TOM_HEARING_AID_INFO_REPORTED\x10\x81\x04\x12,\n\'ATOM_DEVICE_WIDE_JOB_CONSTRAINT_CHANGED\x10\x82\x04\x12\x1e\n\x19\x41TOM_AMBIENT_MODE_CHANGED\x10\x83\x04\x12\x1e\n\x19\x41TOM_ANR_LATENCY_REPORTED\x10\x84\x04\x12\x1b\n\x16\x41TOM_RESOURCE_API_INFO\x10\x85\x04\x12(\n#ATOM_SYSTEM_DEFAULT_NETWORK_CHANGED\x10\x86\x04\x12/\n*ATOM_IWLAN_SETUP_DATA_CALL_RESULT_REPORTED\x10\x87\x04\x12\x30\n+ATOM_IWLAN_PDN_DISCONNECTED_REASON_REPORTED\x10\x88\x04\x12(\n#ATOM_AIRPLANE_MODE_SESSION_REPORTED\x10\x89\x04\x12 \n\x1b\x41TOM_VM_CPU_STATUS_REPORTED\x10\x8a\x04\x12 \n\x1b\x41TOM_VM_MEM_STATUS_REPORTED\x10\x8b\x04\x12/\n*ATOM_PACKAGE_INSTALLATION_SESSION_REPORTED\x10\x8c\x04\x12&\n!ATOM_DEFAULT_NETWORK_REMATCH_INFO\x10\x8d\x04\x12\'\n\"ATOM_NETWORK_SELECTION_PERFORMANCE\x10\x8e\x04\x12\x1e\n\x19\x41TOM_NETWORK_NSD_REPORTED\x10\x8f\x04\x12\x31\n,ATOM_BLUETOOTH_DISCONNECTION_REASON_REPORTED\x10\x91\x04\x12+\n&ATOM_BLUETOOTH_LOCAL_VERSIONS_REPORTED\x10\x92\x04\x12\x36\n1ATOM_BLUETOOTH_REMOTE_SUPPORTED_FEATURES_REPORTED\x10\x93\x04\x12\x35\n0ATOM_BLUETOOTH_LOCAL_SUPPORTED_FEATURES_REPORTED\x10\x94\x04\x12!\n\x1c\x41TOM_BLUETOOTH_GATT_APP_INFO\x10\x95\x04\x12*\n%ATOM_BRIGHTNESS_CONFIGURATION_UPDATED\x10\x96\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_LAUNCHED\x10\x9a\x04\x12-\n(ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FINISHED\x10\x9b\x04\x12\x38\n3ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECTION_REPORTED\x10\x9c\x04\x12:\n5ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_DEVICE_SCAN_TRIGGERED\x10\x9d\x04\x12>\n9ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_FIRST_DEVICE_SCAN_LATENCY\x10\x9e\x04\x12;\n6ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_CONNECT_DEVICE_LATENCY\x10\x9f\x04\x12+\n&ATOM_PACKAGE_MANAGER_SNAPSHOT_REPORTED\x10\xa0\x04\x12:\n5ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_BUILD_REPORTED\x10\xa1\x04\x12;\n6ATOM_PACKAGE_MANAGER_APPS_FILTER_CACHE_UPDATE_REPORTED\x10\xa2\x04\x12#\n\x1e\x41TOM_LAUNCHER_IMPRESSION_EVENT\x10\xa3\x04\x12=\n8ATOM_WEAR_MEDIA_OUTPUT_SWITCHER_ALL_DEVICES_SCAN_LATENCY\x10\xa5\x04\x12\x1e\n\x19\x41TOM_WS_WATCH_FACE_EDITED\x10\xa7\x04\x12\x30\n+ATOM_WS_WATCH_FACE_FAVORITE_ACTION_REPORTED\x10\xa8\x04\x12+\n&ATOM_WS_WATCH_FACE_SET_ACTION_REPORTED\x10\xa9\x04\x12)\n$ATOM_PACKAGE_UNINSTALLATION_REPORTED\x10\xaa\x04\x12\x1b\n\x16\x41TOM_GAME_MODE_CHANGED\x10\xab\x04\x12)\n$ATOM_GAME_MODE_CONFIGURATION_CHANGED\x10\xac\x04\x12$\n\x1f\x41TOM_BEDTIME_MODE_STATE_CHANGED\x10\xad\x04\x12%\n ATOM_NETWORK_SLICE_SESSION_ENDED\x10\xae\x04\x12\x31\n,ATOM_NETWORK_SLICE_DAILY_DATA_USAGE_REPORTED\x10\xaf\x04\x12\x1f\n\x1a\x41TOM_NFC_TAG_TYPE_OCCURRED\x10\xb0\x04\x12#\n\x1e\x41TOM_NFC_AID_CONFLICT_OCCURRED\x10\xb1\x04\x12&\n!ATOM_NFC_READER_CONFLICT_OCCURRED\x10\xb2\x04\x12\x1e\n\x19\x41TOM_WS_TILE_LIST_CHANGED\x10\xb3\x04\x12.\n)ATOM_GET_TYPE_ACCESSED_WITHOUT_PERMISSION\x10\xb4\x04\x12*\n%ATOM_MOBILE_BUNDLED_APP_INFO_GATHERED\x10\xb6\x04\x12\x30\n+ATOM_WS_WATCH_FACE_COMPLICATION_SET_CHANGED\x10\xb7\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_CREATED\x10\xb8\x04\x12\x1b\n\x16\x41TOM_MEDIA_DRM_ERRORED\x10\xb9\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_OPENED\x10\xba\x04\x12\"\n\x1d\x41TOM_MEDIA_DRM_SESSION_CLOSED\x10\xbb\x04\x12\"\n\x1d\x41TOM_USER_SELECTED_RESOLUTION\x10\xbc\x04\x12&\n!ATOM_UNSAFE_INTENT_EVENT_REPORTED\x10\xbd\x04\x12+\n&ATOM_PERFORMANCE_HINT_SESSION_REPORTED\x10\xbe\x04\x12\x31\n,ATOM_MEDIAMETRICS_MIDI_DEVICE_CLOSE_REPORTED\x10\xc0\x04\x12\"\n\x1d\x41TOM_BIOMETRIC_TOUCH_REPORTED\x10\xc1\x04\x12-\n(ATOM_HOTWORD_AUDIO_EGRESS_EVENT_REPORTED\x10\xc2\x04\x12(\n#ATOM_LOCATION_ENABLED_STATE_CHANGED\x10\xc4\x04\x12\x1e\n\x19\x41TOM_IME_REQUEST_FINISHED\x10\xc5\x04\x12*\n%ATOM_USB_COMPLIANCE_WARNINGS_REPORTED\x10\xc6\x04\x12\'\n\"ATOM_APP_SUPPORTED_LOCALES_CHANGED\x10\xc7\x04\x12\x31\n,ATOM_MEDIA_PROVIDER_VOLUME_RECOVERY_REPORTED\x10\xca\x04\x12(\n#ATOM_BIOMETRIC_PROPERTIES_COLLECTED\x10\xcb\x04\x12\"\n\x1d\x41TOM_KERNEL_WAKEUP_ATTRIBUTED\x10\xcc\x04\x12!\n\x1c\x41TOM_SCREEN_STATE_CHANGED_V2\x10\xcd\x04\x12#\n\x1e\x41TOM_WS_BACKUP_ACTION_REPORTED\x10\xce\x04\x12$\n\x1f\x41TOM_WS_RESTORE_ACTION_REPORTED\x10\xcf\x04\x12*\n%ATOM_DEVICE_LOG_ACCESS_EVENT_REPORTED\x10\xd0\x04\x12\x1f\n\x1a\x41TOM_MEDIA_SESSION_UPDATED\x10\xd2\x04\x12!\n\x1c\x41TOM_WEAR_OOBE_STATE_CHANGED\x10\xd3\x04\x12!\n\x1c\x41TOM_WS_NOTIFICATION_UPDATED\x10\xd4\x04\x12\x39\n4ATOM_NETWORK_VALIDATION_FAILURE_STATS_DAILY_REPORTED\x10\xd9\x04\x12 \n\x1b\x41TOM_WS_COMPLICATION_TAPPED\x10\xda\x04\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_BLOCKING\x10\x8c\x06\x12,\n\'ATOM_WS_NOTIFICATION_BRIDGEMODE_UPDATED\x10\xb6\x06\x12,\n\'ATOM_WS_NOTIFICATION_DISMISSAL_ACTIONED\x10\xb7\x06\x12\"\n\x1d\x41TOM_WS_NOTIFICATION_ACTIONED\x10\xb8\x06\x12!\n\x1c\x41TOM_WS_NOTIFICATION_LATENCY\x10\xf0\x06\x12\x1d\n\x18\x41TOM_WIFI_BYTES_TRANSFER\x10\x90N\x12&\n!ATOM_WIFI_BYTES_TRANSFER_BY_FG_BG\x10\x91N\x12\x1f\n\x1a\x41TOM_MOBILE_BYTES_TRANSFER\x10\x92N\x12(\n#ATOM_MOBILE_BYTES_TRANSFER_BY_FG_BG\x10\x93N\x12\"\n\x1d\x41TOM_BLUETOOTH_BYTES_TRANSFER\x10\x96N\x12\x19\n\x14\x41TOM_KERNEL_WAKELOCK\x10\x94N\x12\x1f\n\x1a\x41TOM_SUBSYSTEM_SLEEP_STATE\x10\x95N\x12\x1a\n\x15\x41TOM_CPU_TIME_PER_UID\x10\x99N\x12\x1f\n\x1a\x41TOM_CPU_TIME_PER_UID_FREQ\x10\x9aN\x12\x1c\n\x17\x41TOM_WIFI_ACTIVITY_INFO\x10\x9bN\x12\x1d\n\x18\x41TOM_MODEM_ACTIVITY_INFO\x10\x9cN\x12!\n\x1c\x41TOM_BLUETOOTH_ACTIVITY_INFO\x10\x97N\x12\x1e\n\x19\x41TOM_PROCESS_MEMORY_STATE\x10\x9dN\x12!\n\x1c\x41TOM_SYSTEM_ELAPSED_REALTIME\x10\x9eN\x12\x17\n\x12\x41TOM_SYSTEM_UPTIME\x10\x9fN\x12\x19\n\x14\x41TOM_CPU_ACTIVE_TIME\x10\xa0N\x12\x1a\n\x15\x41TOM_CPU_CLUSTER_TIME\x10\xa1N\x12\x14\n\x0f\x41TOM_DISK_SPACE\x10\xa2N\x12$\n\x1f\x41TOM_REMAINING_BATTERY_CAPACITY\x10\xa3N\x12\x1f\n\x1a\x41TOM_FULL_BATTERY_CAPACITY\x10\xa4N\x12\x15\n\x10\x41TOM_TEMPERATURE\x10\xa5N\x12\x16\n\x11\x41TOM_BINDER_CALLS\x10\xa6N\x12!\n\x1c\x41TOM_BINDER_CALLS_EXCEPTIONS\x10\xa7N\x12\x16\n\x11\x41TOM_LOOPER_STATS\x10\xa8N\x12\x14\n\x0f\x41TOM_DISK_STATS\x10\xa9N\x12\x19\n\x14\x41TOM_DIRECTORY_USAGE\x10\xaaN\x12\x12\n\rATOM_APP_SIZE\x10\xabN\x12\x17\n\x12\x41TOM_CATEGORY_SIZE\x10\xacN\x12\x14\n\x0f\x41TOM_PROC_STATS\x10\xadN\x12\x19\n\x14\x41TOM_BATTERY_VOLTAGE\x10\xaeN\x12#\n\x1e\x41TOM_NUM_FINGERPRINTS_ENROLLED\x10\xafN\x12\x11\n\x0c\x41TOM_DISK_IO\x10\xb0N\x12\x17\n\x12\x41TOM_POWER_PROFILE\x10\xb1N\x12\x1d\n\x18\x41TOM_PROC_STATS_PKG_PROC\x10\xb2N\x12\x1a\n\x15\x41TOM_PROCESS_CPU_TIME\x10\xb3N\x12\"\n\x1d\x41TOM_CPU_TIME_PER_THREAD_FREQ\x10\xb5N\x12%\n ATOM_ON_DEVICE_POWER_MEASUREMENT\x10\xb6N\x12%\n ATOM_DEVICE_CALCULATED_POWER_USE\x10\xb7N\x12(\n#ATOM_PROCESS_MEMORY_HIGH_WATER_MARK\x10\xbaN\x12\x17\n\x12\x41TOM_BATTERY_LEVEL\x10\xbbN\x12\x1b\n\x16\x41TOM_BUILD_INFORMATION\x10\xbcN\x12\x1d\n\x18\x41TOM_BATTERY_CYCLE_COUNT\x10\xbdN\x12\x1d\n\x18\x41TOM_DEBUG_ELAPSED_CLOCK\x10\xbeN\x12%\n ATOM_DEBUG_FAILING_ELAPSED_CLOCK\x10\xbfN\x12\x1c\n\x17\x41TOM_NUM_FACES_ENROLLED\x10\xc0N\x12\x15\n\x10\x41TOM_ROLE_HOLDER\x10\xc1N\x12$\n\x1f\x41TOM_DANGEROUS_PERMISSION_STATE\x10\xc2N\x12\x14\n\x0f\x41TOM_TRAIN_INFO\x10\xc3N\x12\x1d\n\x18\x41TOM_TIME_ZONE_DATA_INFO\x10\xc4N\x12\x1f\n\x1a\x41TOM_EXTERNAL_STORAGE_INFO\x10\xc5N\x12\x1f\n\x1a\x41TOM_GPU_STATS_GLOBAL_INFO\x10\xc6N\x12\x1c\n\x17\x41TOM_GPU_STATS_APP_INFO\x10\xc7N\x12\x1e\n\x19\x41TOM_SYSTEM_ION_HEAP_SIZE\x10\xc8N\x12\'\n\"ATOM_APPS_ON_EXTERNAL_STORAGE_INFO\x10\xc9N\x12\x17\n\x12\x41TOM_FACE_SETTINGS\x10\xcaN\x12\x18\n\x13\x41TOM_COOLING_DEVICE\x10\xcbN\x12\x11\n\x0c\x41TOM_APP_OPS\x10\xccN\x12&\n!ATOM_PROCESS_SYSTEM_ION_HEAP_SIZE\x10\xcdN\x12*\n%ATOM_SURFACEFLINGER_STATS_GLOBAL_INFO\x10\xceN\x12)\n$ATOM_SURFACEFLINGER_STATS_LAYER_INFO\x10\xcfN\x12!\n\x1c\x41TOM_PROCESS_MEMORY_SNAPSHOT\x10\xd0N\x12\x1a\n\x15\x41TOM_VMS_CLIENT_STATS\x10\xd1N\x12#\n\x1e\x41TOM_NOTIFICATION_REMOTE_VIEWS\x10\xd2N\x12,\n\'ATOM_DANGEROUS_PERMISSION_STATE_SAMPLED\x10\xd3N\x12\x18\n\x13\x41TOM_GRAPHICS_STATS\x10\xd4N\x12\x1f\n\x1a\x41TOM_RUNTIME_APP_OP_ACCESS\x10\xd5N\x12\x17\n\x12\x41TOM_ION_HEAP_SIZE\x10\xd6N\x12*\n%ATOM_PACKAGE_NOTIFICATION_PREFERENCES\x10\xd7N\x12\x32\n-ATOM_PACKAGE_NOTIFICATION_CHANNEL_PREFERENCES\x10\xd8N\x12\x38\n3ATOM_PACKAGE_NOTIFICATION_CHANNEL_GROUP_PREFERENCES\x10\xd9N\x12\x14\n\x0f\x41TOM_GNSS_STATS\x10\xdaN\x12\x1c\n\x17\x41TOM_ATTRIBUTED_APP_OPS\x10\xdbN\x12\x1c\n\x17\x41TOM_VOICE_CALL_SESSION\x10\xdcN\x12\x1e\n\x19\x41TOM_VOICE_CALL_RAT_USAGE\x10\xddN\x12\x18\n\x13\x41TOM_SIM_SLOT_STATE\x10\xdeN\x12\'\n\"ATOM_SUPPORTED_RADIO_ACCESS_FAMILY\x10\xdfN\x12\x1a\n\x15\x41TOM_SETTING_SNAPSHOT\x10\xe0N\x12\x13\n\x0e\x41TOM_BLOB_INFO\x10\xe1N\x12#\n\x1e\x41TOM_DATA_USAGE_BYTES_TRANSFER\x10\xe2N\x12+\n&ATOM_BYTES_TRANSFER_BY_TAG_AND_METERED\x10\xe3N\x12\x17\n\x12\x41TOM_DND_MODE_RULE\x10\xe4N\x12/\n*ATOM_GENERAL_EXTERNAL_STORAGE_ACCESS_STATS\x10\xe5N\x12\x16\n\x11\x41TOM_INCOMING_SMS\x10\xe6N\x12\x16\n\x11\x41TOM_OUTGOING_SMS\x10\xe7N\x12\"\n\x1d\x41TOM_CARRIER_ID_TABLE_VERSION\x10\xe8N\x12\x1b\n\x16\x41TOM_DATA_CALL_SESSION\x10\xe9N\x12 \n\x1b\x41TOM_CELLULAR_SERVICE_STATE\x10\xeaN\x12&\n!ATOM_CELLULAR_DATA_SERVICE_SWITCH\x10\xebN\x12\x17\n\x12\x41TOM_SYSTEM_MEMORY\x10\xecN\x12&\n!ATOM_IMS_REGISTRATION_TERMINATION\x10\xedN\x12 \n\x1b\x41TOM_IMS_REGISTRATION_STATS\x10\xeeN\x12#\n\x1e\x41TOM_CPU_TIME_PER_CLUSTER_FREQ\x10\xefN\x12$\n\x1f\x41TOM_CPU_CYCLES_PER_UID_CLUSTER\x10\xf0N\x12\x1d\n\x18\x41TOM_DEVICE_ROTATED_DATA\x10\xf1N\x12-\n(ATOM_CPU_CYCLES_PER_THREAD_GROUP_CLUSTER\x10\xf2N\x12!\n\x1c\x41TOM_MEDIA_DRM_ACTIVITY_INFO\x10\xf3N\x12$\n\x1f\x41TOM_OEM_MANAGED_BYTES_TRANSFER\x10\xf4N\x12\x1a\n\x15\x41TOM_GNSS_POWER_STATS\x10\xf5N\x12\"\n\x1d\x41TOM_TIME_ZONE_DETECTOR_STATE\x10\xf6N\x12!\n\x1c\x41TOM_KEYSTORE2_STORAGE_STATS\x10\xf7N\x12\x18\n\x13\x41TOM_RKP_POOL_STATS\x10\xf8N\x12\x1f\n\x1a\x41TOM_PROCESS_DMABUF_MEMORY\x10\xf9N\x12\x1c\n\x17\x41TOM_PENDING_ALARM_INFO\x10\xfaN\x12$\n\x1f\x41TOM_USER_LEVEL_HIBERNATED_APPS\x10\xfbN\x12\"\n\x1d\x41TOM_LAUNCHER_LAYOUT_SNAPSHOT\x10\xfcN\x12 \n\x1b\x41TOM_GLOBAL_HIBERNATED_APPS\x10\xfdN\x12$\n\x1f\x41TOM_INPUT_EVENT_LATENCY_SKETCH\x10\xfeN\x12*\n%ATOM_BATTERY_USAGE_STATS_BEFORE_RESET\x10\xffN\x12)\n$ATOM_BATTERY_USAGE_STATS_SINCE_RESET\x10\x80O\x12\x43\n>ATOM_BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL\x10\x81O\x12\'\n\"ATOM_INSTALLED_INCREMENTAL_PACKAGE\x10\x82O\x12$\n\x1f\x41TOM_TELEPHONY_NETWORK_REQUESTS\x10\x83O\x12!\n\x1c\x41TOM_APP_SEARCH_STORAGE_INFO\x10\x84O\x12\x10\n\x0b\x41TOM_VMSTAT\x10\x85O\x12\x32\n-ATOM_KEYSTORE2_KEY_CREATION_WITH_GENERAL_INFO\x10\x86O\x12/\n*ATOM_KEYSTORE2_KEY_CREATION_WITH_AUTH_INFO\x10\x87O\x12<\n7ATOM_KEYSTORE2_KEY_CREATION_WITH_PURPOSE_AND_MODES_INFO\x10\x88O\x12&\n!ATOM_KEYSTORE2_ATOM_WITH_OVERFLOW\x10\x89O\x12=\n8ATOM_KEYSTORE2_KEY_OPERATION_WITH_PURPOSE_AND_MODES_INFO\x10\x8aO\x12\x33\n.ATOM_KEYSTORE2_KEY_OPERATION_WITH_GENERAL_INFO\x10\x8bO\x12\x19\n\x14\x41TOM_RKP_ERROR_STATS\x10\x8cO\x12\x1f\n\x1a\x41TOM_KEYSTORE2_CRASH_STATS\x10\x8dO\x12\x1a\n\x15\x41TOM_VENDOR_APEX_INFO\x10\x8eO\x12&\n!ATOM_ACCESSIBILITY_SHORTCUT_STATS\x10\x8fO\x12+\n&ATOM_ACCESSIBILITY_FLOATING_MENU_STATS\x10\x90O\x12&\n!ATOM_DATA_USAGE_BYTES_TRANSFER_V2\x10\x91O\x12\x1c\n\x17\x41TOM_MEDIA_CAPABILITIES\x10\x92O\x12.\n)ATOM_CAR_WATCHDOG_SYSTEM_IO_USAGE_SUMMARY\x10\x93O\x12+\n&ATOM_CAR_WATCHDOG_UID_IO_USAGE_SUMMARY\x10\x94O\x12,\n\'ATOM_IMS_REGISTRATION_FEATURE_TAG_STATS\x10\x95O\x12\'\n\"ATOM_RCS_CLIENT_PROVISIONING_STATS\x10\x96O\x12$\n\x1f\x41TOM_RCS_ACS_PROVISIONING_STATS\x10\x97O\x12\x1c\n\x17\x41TOM_SIP_DELEGATE_STATS\x10\x98O\x12)\n$ATOM_SIP_TRANSPORT_FEATURE_TAG_STATS\x10\x99O\x12\x1e\n\x19\x41TOM_SIP_MESSAGE_RESPONSE\x10\x9aO\x12\x1f\n\x1a\x41TOM_SIP_TRANSPORT_SESSION\x10\x9bO\x12-\n(ATOM_IMS_DEDICATED_BEARER_LISTENER_EVENT\x10\x9cO\x12$\n\x1f\x41TOM_IMS_DEDICATED_BEARER_EVENT\x10\x9dO\x12-\n(ATOM_IMS_REGISTRATION_SERVICE_DESC_STATS\x10\x9eO\x12\x19\n\x14\x41TOM_UCE_EVENT_STATS\x10\x9fO\x12\x1f\n\x1a\x41TOM_PRESENCE_NOTIFY_EVENT\x10\xa0O\x12\x13\n\x0e\x41TOM_GBA_EVENT\x10\xa1O\x12\x18\n\x13\x41TOM_PER_SIM_STATUS\x10\xa2O\x12\x1a\n\x15\x41TOM_GPU_WORK_PER_UID\x10\xa3O\x12\x37\n2ATOM_PERSISTENT_URI_PERMISSIONS_AMOUNT_PER_PACKAGE\x10\xa4O\x12\x1f\n\x1a\x41TOM_SIGNED_PARTITION_INFO\x10\xa5O\x12\'\n\"ATOM_PINNED_FILE_SIZES_PER_PACKAGE\x10\xa6O\x12%\n ATOM_PENDING_INTENTS_PER_PACKAGE\x10\xa7O\x12\x13\n\x0e\x41TOM_USER_INFO\x10\xa8O\x12\'\n\"ATOM_TELEPHONY_NETWORK_REQUESTS_V2\x10\xa9O\x12%\n ATOM_DEVICE_TELEPHONY_PROPERTIES\x10\xaaO\x12.\n)ATOM_REMOTE_KEY_PROVISIONING_ERROR_COUNTS\x10\xabO\x12\x16\n\x11\x41TOM_SAFETY_STATE\x10\xacO\x12\x16\n\x11\x41TOM_INCOMING_MMS\x10\xadO\x12\x16\n\x11\x41TOM_OUTGOING_MMS\x10\xaeO\x12\x19\n\x14\x41TOM_MULTI_USER_INFO\x10\xb0O\x12\x1e\n\x19\x41TOM_NETWORK_BPF_MAP_INFO\x10\xb1O\x12!\n\x1c\x41TOM_OUTGOING_SHORT_CODE_SMS\x10\xb2O\x12#\n\x1e\x41TOM_CONNECTIVITY_STATE_SAMPLE\x10\xb3O\x12\x30\n+ATOM_NETWORK_SELECTION_REMATCH_REASONS_INFO\x10\xb4O\x12\x18\n\x13\x41TOM_GAME_MODE_INFO\x10\xb5O\x12!\n\x1c\x41TOM_GAME_MODE_CONFIGURATION\x10\xb6O\x12\x1c\n\x17\x41TOM_GAME_MODE_LISTENER\x10\xb7O\x12%\n ATOM_NETWORK_SLICE_REQUEST_COUNT\x10\xb8O\x12\x1a\n\x15\x41TOM_WS_TILE_SNAPSHOT\x10\xb9O\x12\x38\n3ATOM_WS_ACTIVE_WATCH_FACE_COMPLICATION_SET_SNAPSHOT\x10\xbaO\x12\x17\n\x12\x41TOM_PROCESS_STATE\x10\xbbO\x12\x1d\n\x18\x41TOM_PROCESS_ASSOCIATION\x10\xbcO\x12$\n\x1f\x41TOM_ADPF_SYSTEM_COMPONENT_INFO\x10\xbdO\x12!\n\x1c\x41TOM_NOTIFICATION_MEMORY_USE\x10\xbeO\x12\x1a\n\x15\x41TOM_HDR_CAPABILITIES\x10\xbfO\x12/\n*ATOM_WS_FAVOURITE_WATCH_FACE_LIST_SNAPSHOT\x10\xc0O\x12-\n(ATOM_ACCESSIBILITY_CHECK_RESULT_REPORTED\x10\x8e\x07\x12\x32\n-ATOM_ADAPTIVE_AUTH_UNLOCK_AFTER_LOCK_REPORTED\x10\xb4\x06\x12\x1f\n\x1a\x41TOM_THERMAL_STATUS_CALLED\x10\x84\x06\x12!\n\x1c\x41TOM_THERMAL_HEADROOM_CALLED\x10\x85\x06\x12,\n\'ATOM_THERMAL_HEADROOM_THRESHOLDS_CALLED\x10\x86\x06\x12\'\n\"ATOM_ADPF_HINT_SESSION_TID_CLEANUP\x10\xc7\x06\x12%\n ATOM_THERMAL_HEADROOM_THRESHOLDS\x10\xd9O\x12\x1f\n\x1a\x41TOM_ADPF_SESSION_SNAPSHOT\x10\xeaO\x12)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\x03\x12 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\x03\x12\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12+\n&ATOM_BACKGROUND_FETCH_PROCESS_REPORTED\x10\xf0\x03\x12\x31\n,ATOM_UPDATE_CUSTOM_AUDIENCE_PROCESS_REPORTED\x10\xf1\x03\x12)\n$ATOM_RUN_AD_BIDDING_PROCESS_REPORTED\x10\xf2\x03\x12)\n$ATOM_RUN_AD_SCORING_PROCESS_REPORTED\x10\xf3\x03\x12+\n&ATOM_RUN_AD_SELECTION_PROCESS_REPORTED\x10\xf4\x03\x12\x30\n+ATOM_RUN_AD_BIDDING_PER_CA_PROCESS_REPORTED\x10\xf5\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\x03\x12/\n*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\x12)\n$ATOM_AD_SERVICES_GET_TOPICS_REPORTED\x10\x97\x04\x12?\n:ATOM_AD_SERVICES_EPOCH_COMPUTATION_GET_TOP_TOPICS_REPORTED\x10\x98\x04\x12;\n6ATOM_AD_SERVICES_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\x99\x04\x12\x35\n0ATOM_AD_SERVICES_BACK_COMPAT_GET_TOPICS_REPORTED\x10\xd6\x04\x12G\nBATOM_AD_SERVICES_BACK_COMPAT_EPOCH_COMPUTATION_CLASSIFIER_REPORTED\x10\xd7\x04\x12,\n\'ATOM_AD_SERVICES_MEASUREMENT_DEBUG_KEYS\x10\x80\x05\x12$\n\x1f\x41TOM_AD_SERVICES_ERROR_REPORTED\x10\x96\x05\x12\x38\n3ATOM_AD_SERVICES_BACKGROUND_JOBS_EXECUTION_REPORTED\x10\x97\x05\x12=\n8ATOM_AD_SERVICES_MEASUREMENT_DELAYED_SOURCE_REGISTRATION\x10\xa1\x05\x12-\n(ATOM_AD_SERVICES_MEASUREMENT_ATTRIBUTION\x10\xa2\x05\x12&\n!ATOM_AD_SERVICES_MEASUREMENT_JOBS\x10\xa3\x05\x12)\n$ATOM_AD_SERVICES_MEASUREMENT_WIPEOUT\x10\xa4\x05\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_AD_ID_MATCH_FOR_DEBUG_KEYS\x10\xb7\x05\x12,\n\'ATOM_AD_SERVICES_ENROLLMENT_DATA_STORED\x10\xb9\x05\x12\x30\n+ATOM_AD_SERVICES_ENROLLMENT_FILE_DOWNLOADED\x10\xba\x05\x12(\n#ATOM_AD_SERVICES_ENROLLMENT_MATCHED\x10\xbb\x05\x12&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\'\n\"ATOM_AD_SERVICES_ENROLLMENT_FAILED\x10\xca\x05\x12\x34\n/ATOM_AD_SERVICES_MEASUREMENT_CLICK_VERIFICATION\x10\xf4\x05\x12,\n\'ATOM_AD_SERVICES_ENCRYPTION_KEY_FETCHED\x10\xfd\x05\x12\x39\n4ATOM_AD_SERVICES_ENCRYPTION_KEY_DB_TRANSACTION_ENDED\x10\xfe\x05\x12(\n#ATOM_DESTINATION_REGISTERED_BEACONS\x10\xff\x05\x12\'\n\"ATOM_REPORT_INTERACTION_API_CALLED\x10\x80\x06\x12-\n(ATOM_INTERACTION_REPORTING_TABLE_CLEARED\x10\x81\x06\x12+\n&ATOM_APP_MANIFEST_CONFIG_HELPER_CALLED\x10\x94\x06\x12/\n*ATOM_AD_FILTERING_PROCESS_JOIN_CA_REPORTED\x10\x99\x06\x12\x34\n/ATOM_AD_FILTERING_PROCESS_AD_SELECTION_REPORTED\x10\x9a\x06\x12/\n*ATOM_AD_COUNTER_HISTOGRAM_UPDATER_REPORTED\x10\x9b\x06\x12 \n\x1b\x41TOM_SIGNATURE_VERIFICATION\x10\xa7\x06\x12\x34\n/ATOM_K_ANON_IMMEDIATE_SIGN_JOIN_STATUS_REPORTED\x10\xa8\x06\x12/\n*ATOM_K_ANON_BACKGROUND_JOB_STATUS_REPORTED\x10\xa9\x06\x12+\n&ATOM_K_ANON_INITIALIZE_STATUS_REPORTED\x10\xaa\x06\x12%\n ATOM_K_ANON_SIGN_STATUS_REPORTED\x10\xab\x06\x12%\n ATOM_K_ANON_JOIN_STATUS_REPORTED\x10\xac\x06\x12\x30\n+ATOM_K_ANON_KEY_ATTESTATION_STATUS_REPORTED\x10\xad\x06\x12*\n%ATOM_GET_AD_SELECTION_DATA_API_CALLED\x10\xae\x06\x12\x35\n0ATOM_GET_AD_SELECTION_DATA_BUYER_INPUT_GENERATED\x10\xaf\x06\x12,\n\'ATOM_BACKGROUND_JOB_SCHEDULING_REPORTED\x10\xc2\x06\x12\x36\n1ATOM_TOPICS_ENCRYPTION_EPOCH_COMPUTATION_REPORTED\x10\xc8\x06\x12/\n*ATOM_TOPICS_ENCRYPTION_GET_TOPICS_REPORTED\x10\xc9\x06\x12)\n$ATOM_ADSERVICES_SHELL_COMMAND_CALLED\x10\xca\x06\x12#\n\x1e\x41TOM_UPDATE_SIGNALS_API_CALLED\x10\xcb\x06\x12\x1a\n\x15\x41TOM_ENCODING_JOB_RUN\x10\xcc\x06\x12\x1b\n\x16\x41TOM_ENCODING_JS_FETCH\x10\xcd\x06\x12\x1f\n\x1a\x41TOM_ENCODING_JS_EXECUTION\x10\xce\x06\x12,\n\'ATOM_PERSIST_AD_SELECTION_RESULT_CALLED\x10\xcf\x06\x12)\n$ATOM_SERVER_AUCTION_KEY_FETCH_CALLED\x10\xd0\x06\x12\x35\n0ATOM_SERVER_AUCTION_BACKGROUND_KEY_FETCH_ENABLED\x10\xd1\x06\x12:\n5ATOM_AD_SERVICES_MEASUREMENT_PROCESS_ODP_REGISTRATION\x10\xe0\x06\x12<\n7ATOM_AD_SERVICES_MEASUREMENT_NOTIFY_REGISTRATION_TO_ODP\x10\xe1\x06\x12-\n(ATOM_SELECT_ADS_FROM_OUTCOMES_API_CALLED\x10\xec\x06\x12&\n!ATOM_REPORT_IMPRESSION_API_CALLED\x10\xed\x06\x12\x32\n-ATOM_AD_SERVICES_ENROLLMENT_TRANSACTION_STATS\x10\xf5\x06\x12\x32\n-ATOM_AD_SERVICES_COBALT_LOGGER_EVENT_REPORTED\x10\x86\x07\x12\x38\n3ATOM_AD_SERVICES_COBALT_PERIODIC_JOB_EVENT_REPORTED\x10\x87\x07\x12)\n$ATOM_UPDATE_SIGNALS_PROCESS_REPORTED\x10\x89\x07\x12\x34\n/ATOM_TOPICS_SCHEDULE_EPOCH_JOB_SETTING_REPORTED\x10\xa2\x07\x12&\n!ATOM_AI_WALLPAPERS_BUTTON_PRESSED\x10\xc2\x05\x12)\n$ATOM_AI_WALLPAPERS_TEMPLATE_SELECTED\x10\xc3\x05\x12%\n ATOM_AI_WALLPAPERS_TERM_SELECTED\x10\xc4\x05\x12%\n ATOM_AI_WALLPAPERS_WALLPAPER_SET\x10\xc5\x05\x12\'\n\"ATOM_AI_WALLPAPERS_SESSION_SUMMARY\x10\xc6\x05\x12%\n ATOM_APEX_INSTALLATION_REQUESTED\x10\xdc\x05\x12\"\n\x1d\x41TOM_APEX_INSTALLATION_STAGED\x10\xdd\x05\x12!\n\x1c\x41TOM_APEX_INSTALLATION_ENDED\x10\xde\x05\x12.\n)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\x03\x12\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\x04\x12\x37\n2ATOM_APP_SEARCH_USAGE_SEARCH_INTENT_STATS_REPORTED\x10\xb9\x06\x12\x41\n\x12\x1c\n\x18VMSTAT_PGSCAN_DIRECT_DMA\x10?\x12\x1f\n\x1bVMSTAT_PGSCAN_DIRECT_NORMAL\x10@\x12 \n\x1cVMSTAT_PGSCAN_DIRECT_MOVABLE\x10\x41\x12!\n\x1dVMSTAT_PGSCAN_DIRECT_THROTTLE\x10\x42\x12\x17\n\x13VMSTAT_PGINODESTEAL\x10\x43\x12\x18\n\x14VMSTAT_SLABS_SCANNED\x10\x44\x12\x1c\n\x18VMSTAT_KSWAPD_INODESTEAL\x10\x45\x12\'\n#VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY\x10\x46\x12(\n$VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY\x10G\x12\x15\n\x11VMSTAT_PAGEOUTRUN\x10H\x12\x15\n\x11VMSTAT_ALLOCSTALL\x10I\x12\x14\n\x10VMSTAT_PGROTATED\x10J\x12\x19\n\x15VMSTAT_DROP_PAGECACHE\x10K\x12\x14\n\x10VMSTAT_DROP_SLAB\x10L\x12\x1c\n\x18VMSTAT_PGMIGRATE_SUCCESS\x10M\x12\x19\n\x15VMSTAT_PGMIGRATE_FAIL\x10N\x12\"\n\x1eVMSTAT_COMPACT_MIGRATE_SCANNED\x10O\x12\x1f\n\x1bVMSTAT_COMPACT_FREE_SCANNED\x10P\x12\x1b\n\x17VMSTAT_COMPACT_ISOLATED\x10Q\x12\x18\n\x14VMSTAT_COMPACT_STALL\x10R\x12\x17\n\x13VMSTAT_COMPACT_FAIL\x10S\x12\x1a\n\x16VMSTAT_COMPACT_SUCCESS\x10T\x12\x1e\n\x1aVMSTAT_COMPACT_DAEMON_WAKE\x10U\x12!\n\x1dVMSTAT_UNEVICTABLE_PGS_CULLED\x10V\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_SCANNED\x10W\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_RESCUED\x10X\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_MLOCKED\x10Y\x12$\n VMSTAT_UNEVICTABLE_PGS_MUNLOCKED\x10Z\x12\"\n\x1eVMSTAT_UNEVICTABLE_PGS_CLEARED\x10[\x12#\n\x1fVMSTAT_UNEVICTABLE_PGS_STRANDED\x10\\\x12\x15\n\x11VMSTAT_NR_ZSPAGES\x10]\x12\x16\n\x12VMSTAT_NR_ION_HEAP\x10^\x12\x16\n\x12VMSTAT_NR_GPU_HEAP\x10_\x12\x19\n\x15VMSTAT_ALLOCSTALL_DMA\x10`\x12\x1d\n\x19VMSTAT_ALLOCSTALL_MOVABLE\x10\x61\x12\x1c\n\x18VMSTAT_ALLOCSTALL_NORMAL\x10\x62\x12&\n\"VMSTAT_COMPACT_DAEMON_FREE_SCANNED\x10\x63\x12)\n%VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED\x10\x64\x12\x15\n\x11VMSTAT_NR_FASTRPC\x10\x65\x12$\n VMSTAT_NR_INDIRECTLY_RECLAIMABLE\x10\x66\x12\x1b\n\x17VMSTAT_NR_ION_HEAP_POOL\x10g\x12%\n!VMSTAT_NR_KERNEL_MISC_RECLAIMABLE\x10h\x12%\n!VMSTAT_NR_SHADOW_CALL_STACK_BYTES\x10i\x12\x1d\n\x19VMSTAT_NR_SHMEM_HUGEPAGES\x10j\x12\x1d\n\x19VMSTAT_NR_SHMEM_PMDMAPPED\x10k\x12!\n\x1dVMSTAT_NR_UNRECLAIMABLE_PAGES\x10l\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_ANON\x10m\x12\x1e\n\x1aVMSTAT_NR_ZONE_ACTIVE_FILE\x10n\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_ANON\x10o\x12 \n\x1cVMSTAT_NR_ZONE_INACTIVE_FILE\x10p\x12\x1e\n\x1aVMSTAT_NR_ZONE_UNEVICTABLE\x10q\x12 \n\x1cVMSTAT_NR_ZONE_WRITE_PENDING\x10r\x12\x13\n\x0fVMSTAT_OOM_KILL\x10s\x12\x15\n\x11VMSTAT_PGLAZYFREE\x10t\x12\x16\n\x12VMSTAT_PGLAZYFREED\x10u\x12\x13\n\x0fVMSTAT_PGREFILL\x10v\x12\x18\n\x14VMSTAT_PGSCAN_DIRECT\x10w\x12\x18\n\x14VMSTAT_PGSCAN_KSWAPD\x10x\x12\x15\n\x11VMSTAT_PGSKIP_DMA\x10y\x12\x19\n\x15VMSTAT_PGSKIP_MOVABLE\x10z\x12\x18\n\x14VMSTAT_PGSKIP_NORMAL\x10{\x12\x19\n\x15VMSTAT_PGSTEAL_DIRECT\x10|\x12\x19\n\x15VMSTAT_PGSTEAL_KSWAPD\x10}\x12\x12\n\x0eVMSTAT_SWAP_RA\x10~\x12\x16\n\x12VMSTAT_SWAP_RA_HIT\x10\x7f\x12\x1e\n\x19VMSTAT_WORKINGSET_RESTORE\x10\x80\x01\x12\x1d\n\x18VMSTAT_ALLOCSTALL_DEVICE\x10\x81\x01\x12\x1c\n\x17VMSTAT_ALLOCSTALL_DMA32\x10\x82\x01\x12\x1b\n\x16VMSTAT_BALLOON_DEFLATE\x10\x83\x01\x12\x1b\n\x16VMSTAT_BALLOON_INFLATE\x10\x84\x01\x12\x1b\n\x16VMSTAT_BALLOON_MIGRATE\x10\x85\x01\x12\x1a\n\x15VMSTAT_CMA_ALLOC_FAIL\x10\x86\x01\x12\x1d\n\x18VMSTAT_CMA_ALLOC_SUCCESS\x10\x87\x01\x12\x1d\n\x18VMSTAT_NR_FILE_HUGEPAGES\x10\x88\x01\x12\x1d\n\x18VMSTAT_NR_FILE_PMDMAPPED\x10\x89\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_ACQUIRED\x10\x8a\x01\x12 \n\x1bVMSTAT_NR_FOLL_PIN_RELEASED\x10\x8b\x01\x12#\n\x1eVMSTAT_NR_SEC_PAGE_TABLE_PAGES\x10\x8c\x01\x12 \n\x1bVMSTAT_NR_SHADOW_CALL_STACK\x10\x8d\x01\x12\x19\n\x14VMSTAT_NR_SWAPCACHED\x10\x8e\x01\x12 \n\x1bVMSTAT_NR_THROTTLED_WRITTEN\x10\x8f\x01\x12\x1a\n\x15VMSTAT_PGALLOC_DEVICE\x10\x90\x01\x12\x19\n\x14VMSTAT_PGALLOC_DMA32\x10\x91\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_DIRECT\x10\x92\x01\x12\x1b\n\x16VMSTAT_PGDEMOTE_KSWAPD\x10\x93\x01\x12\x13\n\x0eVMSTAT_PGREUSE\x10\x94\x01\x12\x17\n\x12VMSTAT_PGSCAN_ANON\x10\x95\x01\x12\x17\n\x12VMSTAT_PGSCAN_FILE\x10\x96\x01\x12\x19\n\x14VMSTAT_PGSKIP_DEVICE\x10\x97\x01\x12\x18\n\x13VMSTAT_PGSKIP_DMA32\x10\x98\x01\x12\x18\n\x13VMSTAT_PGSTEAL_ANON\x10\x99\x01\x12\x18\n\x13VMSTAT_PGSTEAL_FILE\x10\x9a\x01\x12\x1e\n\x19VMSTAT_THP_COLLAPSE_ALLOC\x10\x9b\x01\x12%\n VMSTAT_THP_COLLAPSE_ALLOC_FAILED\x10\x9c\x01\x12#\n\x1eVMSTAT_THP_DEFERRED_SPLIT_PAGE\x10\x9d\x01\x12\x1b\n\x16VMSTAT_THP_FAULT_ALLOC\x10\x9e\x01\x12\x1e\n\x19VMSTAT_THP_FAULT_FALLBACK\x10\x9f\x01\x12%\n VMSTAT_THP_FAULT_FALLBACK_CHARGE\x10\xa0\x01\x12\x1a\n\x15VMSTAT_THP_FILE_ALLOC\x10\xa1\x01\x12\x1d\n\x18VMSTAT_THP_FILE_FALLBACK\x10\xa2\x01\x12$\n\x1fVMSTAT_THP_FILE_FALLBACK_CHARGE\x10\xa3\x01\x12\x1b\n\x16VMSTAT_THP_FILE_MAPPED\x10\xa4\x01\x12\x1e\n\x19VMSTAT_THP_MIGRATION_FAIL\x10\xa5\x01\x12\x1f\n\x1aVMSTAT_THP_MIGRATION_SPLIT\x10\xa6\x01\x12!\n\x1cVMSTAT_THP_MIGRATION_SUCCESS\x10\xa7\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_NONE_PTE\x10\xa8\x01\x12%\n VMSTAT_THP_SCAN_EXCEED_SHARE_PTE\x10\xa9\x01\x12$\n\x1fVMSTAT_THP_SCAN_EXCEED_SWAP_PTE\x10\xaa\x01\x12\x1a\n\x15VMSTAT_THP_SPLIT_PAGE\x10\xab\x01\x12!\n\x1cVMSTAT_THP_SPLIT_PAGE_FAILED\x10\xac\x01\x12\x19\n\x14VMSTAT_THP_SPLIT_PMD\x10\xad\x01\x12\x16\n\x11VMSTAT_THP_SWPOUT\x10\xae\x01\x12\x1f\n\x1aVMSTAT_THP_SWPOUT_FALLBACK\x10\xaf\x01\x12\x1f\n\x1aVMSTAT_THP_ZERO_PAGE_ALLOC\x10\xb0\x01\x12&\n!VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED\x10\xb1\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_ABORT\x10\xb2\x01\x12\x19\n\x14VMSTAT_VMA_LOCK_MISS\x10\xb3\x01\x12\x1a\n\x15VMSTAT_VMA_LOCK_RETRY\x10\xb4\x01\x12\x1c\n\x17VMSTAT_VMA_LOCK_SUCCESS\x10\xb5\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_ANON\x10\xb6\x01\x12$\n\x1fVMSTAT_WORKINGSET_ACTIVATE_FILE\x10\xb7\x01\x12\x1c\n\x17VMSTAT_WORKINGSET_NODES\x10\xb8\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_ANON\x10\xb9\x01\x12#\n\x1eVMSTAT_WORKINGSET_REFAULT_FILE\x10\xba\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_ANON\x10\xbb\x01\x12#\n\x1eVMSTAT_WORKINGSET_RESTORE_FILE\x10\xbc\x01*\x94\x01\n\x18\x42luetoothTracePacketType\x12\x0b\n\x07HCI_CMD\x10\x01\x12\x0b\n\x07HCI_EVT\x10\x02\x12\x0e\n\nHCI_ACL_RX\x10\x03\x12\x0e\n\nHCI_ACL_TX\x10\x04\x12\x0e\n\nHCI_SCO_RX\x10\x05\x12\x0e\n\nHCI_SCO_TX\x10\x06\x12\x0e\n\nHCI_ISO_RX\x10\x07\x12\x0e\n\nHCI_ISO_TX\x10\x08*H\n\x10TrafficDirection\x12\x13\n\x0f\x44IR_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44IR_INGRESS\x10\x01\x12\x0e\n\nDIR_EGRESS\x10\x02*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xbf\x01\n\x12HwcCompositionType\x12\x18\n\x14HWC_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fHWC_TYPE_CLIENT\x10\x01\x12\x13\n\x0fHWC_TYPE_DEVICE\x10\x02\x12\x18\n\x14HWC_TYPE_SOLID_COLOR\x10\x03\x12\x13\n\x0fHWC_TYPE_CURSOR\x10\x04\x12\x15\n\x11HWC_TYPE_SIDEBAND\x10\x05\x12\x1f\n\x1bHWC_TYPE_DISPLAY_DECORATION\x10\x06*\xc8\x05\n\x11\x46traceParseStatus\x12\x1d\n\x19\x46TRACE_STATUS_UNSPECIFIED\x10\x00\x12\x14\n\x10\x46TRACE_STATUS_OK\x10\x01\x12\'\n#FTRACE_STATUS_UNEXPECTED_READ_ERROR\x10\x02\x12#\n\x1f\x46TRACE_STATUS_PARTIAL_PAGE_READ\x10\x03\x12)\n%FTRACE_STATUS_ABI_INVALID_PAGE_HEADER\x10\x04\x12(\n$FTRACE_STATUS_ABI_SHORT_EVENT_HEADER\x10\x05\x12\"\n\x1e\x46TRACE_STATUS_ABI_NULL_PADDING\x10\x06\x12*\n&FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH\x10\x07\x12,\n(FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH\x10\x08\x12\'\n#FTRACE_STATUS_ABI_SHORT_TIME_EXTEND\x10\t\x12&\n\"FTRACE_STATUS_ABI_SHORT_TIME_STAMP\x10\n\x12\'\n#FTRACE_STATUS_ABI_SHORT_DATA_LENGTH\x10\x0b\x12&\n\"FTRACE_STATUS_ABI_ZERO_DATA_LENGTH\x10\x0c\x12)\n%FTRACE_STATUS_ABI_INVALID_DATA_LENGTH\x10\r\x12$\n FTRACE_STATUS_ABI_SHORT_EVENT_ID\x10\x0e\x12\"\n\x1e\x46TRACE_STATUS_ABI_END_OVERFLOW\x10\x0f\x12%\n!FTRACE_STATUS_SHORT_COMPACT_EVENT\x10\x10\x12\x1f\n\x1b\x46TRACE_STATUS_INVALID_EVENT\x10\x11*\x91\x01\n\x0b\x46traceClock\x12\x1c\n\x18\x46TRACE_CLOCK_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46TRACE_CLOCK_UNKNOWN\x10\x01\x12\x17\n\x13\x46TRACE_CLOCK_GLOBAL\x10\x02\x12\x16\n\x12\x46TRACE_CLOCK_LOCAL\x10\x03\x12\x19\n\x15\x46TRACE_CLOCK_MONO_RAW\x10\x04*\xb0\x05\n\x1f\x43hromeCompositorSchedulerAction\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43\x43_SCHEDULER_ACTION_NONE\x10\x01\x12-\n)CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME\x10\x02\x12\x1e\n\x1a\x43\x43_SCHEDULER_ACTION_COMMIT\x10\x03\x12*\n&CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE\x10\x04\x12(\n$CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE\x10\x05\x12#\n\x1f\x43\x43_SCHEDULER_ACTION_DRAW_FORCED\x10\x06\x12\"\n\x1e\x43\x43_SCHEDULER_ACTION_DRAW_ABORT\x10\x07\x12<\n8CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION\x10\x08\x12%\n!CC_SCHEDULER_ACTION_PREPARE_TILES\x10\t\x12\x38\n4CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK\x10\n\x12\x36\n2CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION\x10\x0b\x12\x42\n>CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL\x10\x0c\x12\x41\n=CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON\x10\r*}\n\x0e\x43hromeRAILMode\x12\x12\n\x0eRAIL_MODE_NONE\x10\x00\x12\x16\n\x12RAIL_MODE_RESPONSE\x10\x01\x12\x17\n\x13RAIL_MODE_ANIMATION\x10\x02\x12\x12\n\x0eRAIL_MODE_IDLE\x10\x03\x12\x12\n\x0eRAIL_MODE_LOAD\x10\x04\x42+Z)github.com/google/perfetto/perfetto_proto') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', globals()) @@ -135,6 +135,14 @@ _INPUTWINDOWINFOPROTO.fields_by_name['window_x_scale']._serialized_options = b'\030\001' _INPUTWINDOWINFOPROTO.fields_by_name['window_y_scale']._options = None _INPUTWINDOWINFOPROTO.fields_by_name['window_y_scale']._serialized_options = b'\030\001' + _BLURREGION.fields_by_name['corner_radius_tl']._options = None + _BLURREGION.fields_by_name['corner_radius_tl']._serialized_options = b'\030\001' + _BLURREGION.fields_by_name['corner_radius_tr']._options = None + _BLURREGION.fields_by_name['corner_radius_tr']._serialized_options = b'\030\001' + _BLURREGION.fields_by_name['corner_radius_bl']._options = None + _BLURREGION.fields_by_name['corner_radius_bl']._serialized_options = b'\030\001' + _BLURREGION.fields_by_name['corner_radius_br']._options = None + _BLURREGION.fields_by_name['corner_radius_br']._serialized_options = b'\030\001' _COLORTRANSFORMPROTO.fields_by_name['val']._options = None _COLORTRANSFORMPROTO.fields_by_name['val']._serialized_options = b'\020\001' _LAYERPROTO_METADATAENTRY._options = None @@ -219,36 +227,36 @@ _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_options = b'8\001' _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._options = None _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_options = b'8\001' - _BUILTINCLOCK._serialized_start=218027 - _BUILTINCLOCK._serialized_end=218342 - _ANDROIDLOGID._serialized_start=218345 - _ANDROIDLOGID._serialized_end=218487 - _ANDROIDLOGPRIORITY._serialized_start=218490 - _ANDROIDLOGPRIORITY._serialized_end=218645 - _PROTOLOGLEVEL._serialized_start=218648 - _PROTOLOGLEVEL._serialized_end=218847 - _ATOMID._serialized_start=218851 - _ATOMID._serialized_end=265018 - _MEMINFOCOUNTERS._serialized_start=265021 - _MEMINFOCOUNTERS._serialized_end=265954 - _VMSTATCOUNTERS._serialized_start=265957 - _VMSTATCOUNTERS._serialized_end=271590 - _BLUETOOTHTRACEPACKETTYPE._serialized_start=271593 - _BLUETOOTHTRACEPACKETTYPE._serialized_end=271741 - _TRAFFICDIRECTION._serialized_start=271743 - _TRAFFICDIRECTION._serialized_end=271815 - _TRUSTEDOVERLAY._serialized_start=271817 - _TRUSTEDOVERLAY._serialized_end=271871 - _HWCCOMPOSITIONTYPE._serialized_start=271874 - _HWCCOMPOSITIONTYPE._serialized_end=272065 - _FTRACEPARSESTATUS._serialized_start=272068 - _FTRACEPARSESTATUS._serialized_end=272780 - _FTRACECLOCK._serialized_start=272783 - _FTRACECLOCK._serialized_end=272928 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=272931 - _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273619 - _CHROMERAILMODE._serialized_start=273621 - _CHROMERAILMODE._serialized_end=273746 + _BUILTINCLOCK._serialized_start=218259 + _BUILTINCLOCK._serialized_end=218574 + _ANDROIDLOGID._serialized_start=218577 + _ANDROIDLOGID._serialized_end=218719 + _ANDROIDLOGPRIORITY._serialized_start=218722 + _ANDROIDLOGPRIORITY._serialized_end=218877 + _PROTOLOGLEVEL._serialized_start=218880 + _PROTOLOGLEVEL._serialized_end=219079 + _ATOMID._serialized_start=219083 + _ATOMID._serialized_end=265250 + _MEMINFOCOUNTERS._serialized_start=265253 + _MEMINFOCOUNTERS._serialized_end=266186 + _VMSTATCOUNTERS._serialized_start=266189 + _VMSTATCOUNTERS._serialized_end=271822 + _BLUETOOTHTRACEPACKETTYPE._serialized_start=271825 + _BLUETOOTHTRACEPACKETTYPE._serialized_end=271973 + _TRAFFICDIRECTION._serialized_start=271975 + _TRAFFICDIRECTION._serialized_end=272047 + _TRUSTEDOVERLAY._serialized_start=272049 + _TRUSTEDOVERLAY._serialized_end=272103 + _HWCCOMPOSITIONTYPE._serialized_start=272106 + _HWCCOMPOSITIONTYPE._serialized_end=272297 + _FTRACEPARSESTATUS._serialized_start=272300 + _FTRACEPARSESTATUS._serialized_end=273012 + _FTRACECLOCK._serialized_start=273015 + _FTRACECLOCK._serialized_end=273160 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_start=273163 + _CHROMECOMPOSITORSCHEDULERACTION._serialized_end=273851 + _CHROMERAILMODE._serialized_start=273853 + _CHROMERAILMODE._serialized_end=273978 _FTRACEDESCRIPTOR._serialized_start=64 _FTRACEDESCRIPTOR._serialized_end=212 _FTRACEDESCRIPTOR_ATRACECATEGORY._serialized_start=161 @@ -630,1839 +638,1839 @@ _INPUTWINDOWINFOPROTO._serialized_start=36305 _INPUTWINDOWINFOPROTO._serialized_end=36880 _BLURREGION._serialized_start=36883 - _BLURREGION._serialized_end=37093 - _COLORTRANSFORMPROTO._serialized_start=37095 - _COLORTRANSFORMPROTO._serialized_end=37133 - _BOXSHADOWSETTINGS._serialized_start=37136 - _BOXSHADOWSETTINGS._serialized_end=37342 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37230 - _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37342 - _BORDERSETTINGS._serialized_start=37344 - _BORDERSETTINGS._serialized_end=37397 - _LAYERSTRACEFILEPROTO._serialized_start=37400 - _LAYERSTRACEFILEPROTO._serialized_end=37616 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37542 - _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37616 - _LAYERSSNAPSHOTPROTO._serialized_start=37619 - _LAYERSSNAPSHOTPROTO._serialized_end=37878 - _LAYERSPROTO._serialized_start=37880 - _LAYERSPROTO._serialized_end=37938 - _DISPLAYPROTO._serialized_start=37941 - _DISPLAYPROTO._serialized_end=38206 - _LAYERPROTO._serialized_start=38209 - _LAYERPROTO._serialized_end=40972 - _LAYERPROTO_METADATAENTRY._serialized_start=40925 - _LAYERPROTO_METADATAENTRY._serialized_end=40972 - _POSITIONPROTO._serialized_start=40974 - _POSITIONPROTO._serialized_end=41011 - _FLOATRECTPROTO._serialized_start=41013 - _FLOATRECTPROTO._serialized_end=41087 - _CORNERRADIIPROTO._serialized_start=41089 - _CORNERRADIIPROTO._serialized_end=41155 - _ACTIVEBUFFERPROTO._serialized_start=41157 - _ACTIVEBUFFERPROTO._serialized_end=41254 - _BARRIERLAYERPROTO._serialized_start=41256 - _BARRIERLAYERPROTO._serialized_end=41309 - _TRANSACTIONTRACEFILE._serialized_start=41312 - _TRANSACTIONTRACEFILE._serialized_end=41547 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41473 - _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41547 - _TRANSACTIONTRACEENTRY._serialized_start=41550 - _TRANSACTIONTRACEENTRY._serialized_end=41952 - _DISPLAYINFO._serialized_start=41955 - _DISPLAYINFO._serialized_end=42289 - _LAYERCREATIONARGS._serialized_start=42292 - _LAYERCREATIONARGS._serialized_end=42453 - _TRANSFORM._serialized_start=42455 - _TRANSFORM._serialized_end=42546 - _TRANSACTIONBARRIER._serialized_start=42548 - _TRANSACTIONBARRIER._serialized_end=42605 - _TRANSACTIONSTATE._serialized_start=42608 - _TRANSACTIONSTATE._serialized_end=42965 - _LAYERSTATE._serialized_start=42968 - _LAYERSTATE._serialized_end=47660 - _LAYERSTATE_MATRIX22._serialized_start=44679 - _LAYERSTATE_MATRIX22._serialized_end=44745 - _LAYERSTATE_CORNERRADII._serialized_start=44747 - _LAYERSTATE_CORNERRADII._serialized_end=44808 - _LAYERSTATE_COLOR3._serialized_start=44810 - _LAYERSTATE_COLOR3._serialized_end=44851 - _LAYERSTATE_BUFFERDATA._serialized_start=44854 - _LAYERSTATE_BUFFERDATA._serialized_end=45642 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45070 - _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45181 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45184 - _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45642 - _LAYERSTATE_WINDOWINFO._serialized_start=45645 - _LAYERSTATE_WINDOWINFO._serialized_end=46059 - _LAYERSTATE_CHANGESLSB._serialized_start=46062 - _LAYERSTATE_CHANGESLSB._serialized_end=46822 - _LAYERSTATE_CHANGESMSB._serialized_start=46825 - _LAYERSTATE_CHANGESMSB._serialized_end=47445 - _LAYERSTATE_FLAGS._serialized_start=47448 - _LAYERSTATE_FLAGS._serialized_end=47610 - _LAYERSTATE_DROPINPUTMODE._serialized_start=47612 - _LAYERSTATE_DROPINPUTMODE._serialized_end=47660 - _DISPLAYSTATE._serialized_start=47663 - _DISPLAYSTATE._serialized_end=48066 - _DISPLAYSTATE_CHANGES._serialized_start=47919 - _DISPLAYSTATE_CHANGES._serialized_end=48066 - _WINSCOPEEXTENSIONS._serialized_start=48068 - _WINSCOPEEXTENSIONS._serialized_end=48094 - _CHROMEBENCHMARKMETADATA._serialized_start=48097 - _CHROMEBENCHMARKMETADATA._serialized_end=48339 - _CHROMEMETADATAPACKET._serialized_start=48342 - _CHROMEMETADATAPACKET._serialized_end=48621 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48581 - _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48621 - _BACKGROUNDTRACINGMETADATA._serialized_start=48624 - _BACKGROUNDTRACINGMETADATA._serialized_end=49669 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=48840 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49669 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49144 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49250 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49253 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49531 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49398 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49531 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49534 - _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49669 - _CHROMETRACEDVALUE._serialized_start=49672 - _CHROMETRACEDVALUE._serialized_end=50011 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=49978 - _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=50011 - _CHROMESTRINGTABLEENTRY._serialized_start=50013 - _CHROMESTRINGTABLEENTRY._serialized_end=50067 - _CHROMETRACEEVENT._serialized_start=50070 - _CHROMETRACEEVENT._serialized_end=50711 - _CHROMETRACEEVENT_ARG._serialized_start=50443 - _CHROMETRACEEVENT_ARG._serialized_end=50711 - _CHROMEMETADATA._serialized_start=50714 - _CHROMEMETADATA._serialized_end=50842 - _CHROMELEGACYJSONTRACE._serialized_start=50845 - _CHROMELEGACYJSONTRACE._serialized_end=50993 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=50948 - _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=50993 - _CHROMEEVENTBUNDLE._serialized_start=50996 - _CHROMEEVENTBUNDLE._serialized_end=51291 - _CHROMETRIGGER._serialized_start=51293 - _CHROMETRIGGER._serialized_end=51374 - _V8STRING._serialized_start=51376 - _V8STRING._serialized_end=51462 - _INTERNEDV8STRING._serialized_start=51464 - _INTERNEDV8STRING._serialized_end=51571 - _INTERNEDV8JSSCRIPT._serialized_start=51574 - _INTERNEDV8JSSCRIPT._serialized_end=51899 - _INTERNEDV8JSSCRIPT_TYPE._serialized_start=51769 - _INTERNEDV8JSSCRIPT_TYPE._serialized_end=51899 - _INTERNEDV8WASMSCRIPT._serialized_start=51901 - _INTERNEDV8WASMSCRIPT._serialized_end=51988 - _INTERNEDV8JSFUNCTION._serialized_start=51991 - _INTERNEDV8JSFUNCTION._serialized_end=53100 - _INTERNEDV8JSFUNCTION_KIND._serialized_start=52218 - _INTERNEDV8JSFUNCTION_KIND._serialized_end=53100 - _INTERNEDV8ISOLATE._serialized_start=53103 - _INTERNEDV8ISOLATE._serialized_end=53430 - _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53311 - _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53430 - _V8JSCODE._serialized_start=53433 - _V8JSCODE._serialized_end=53795 - _V8JSCODE_TIER._serialized_start=53659 - _V8JSCODE_TIER._serialized_end=53779 - _V8INTERNALCODE._serialized_start=53798 - _V8INTERNALCODE._serialized_end=54279 - _V8INTERNALCODE_TYPE._serialized_start=54021 - _V8INTERNALCODE_TYPE._serialized_end=54279 - _V8WASMCODE._serialized_start=54282 - _V8WASMCODE._serialized_end=54605 - _V8WASMCODE_TIER._serialized_start=54544 - _V8WASMCODE_TIER._serialized_end=54605 - _V8REGEXPCODE._serialized_start=54608 - _V8REGEXPCODE._serialized_end=54784 - _V8CODEMOVE._serialized_start=54787 - _V8CODEMOVE._serialized_end=55012 - _V8CODEDEFAULTS._serialized_start=55014 - _V8CODEDEFAULTS._serialized_end=55043 - _CLOCKSNAPSHOT._serialized_start=55046 - _CLOCKSNAPSHOT._serialized_end=55448 - _CLOCKSNAPSHOT_CLOCK._serialized_start=55178 - _CLOCKSNAPSHOT_CLOCK._serialized_end=55448 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55277 - _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55448 - _CSWITCHETWEVENT._serialized_start=55451 - _CSWITCHETWEVENT._serialized_end=57069 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=56027 - _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=56772 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=56774 - _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=56825 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=56828 - _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=56963 - _READYTHREADETWEVENT._serialized_start=57072 - _READYTHREADETWEVENT._serialized_end=57592 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57331 - _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57419 - _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57421 - _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57543 - _MEMINFOETWEVENT._serialized_start=57595 - _MEMINFOETWEVENT._serialized_end=57995 - _FILEIOCREATEETWEVENT._serialized_start=57998 - _FILEIOCREATEETWEVENT._serialized_end=58162 - _FILEIODIRENUMETWEVENT._serialized_start=58165 - _FILEIODIRENUMETWEVENT._serialized_end=58333 - _FILEIOINFOETWEVENT._serialized_start=58336 - _FILEIOINFOETWEVENT._serialized_end=58466 - _FILEIOREADWRITEETWEVENT._serialized_start=58469 - _FILEIOREADWRITEETWEVENT._serialized_end=58615 - _FILEIOSIMPLEOPETWEVENT._serialized_start=58617 - _FILEIOSIMPLEOPETWEVENT._serialized_end=58711 - _FILEIOOPENDETWEVENT._serialized_start=58713 - _FILEIOOPENDETWEVENT._serialized_end=58790 - _ETWTRACEEVENT._serialized_start=58793 - _ETWTRACEEVENT._serialized_end=59438 - _ETWTRACEEVENTBUNDLE._serialized_start=59440 - _ETWTRACEEVENTBUNDLE._serialized_end=59521 - _EVDEVEVENT._serialized_start=59524 - _EVDEVEVENT._serialized_end=59710 - _EVDEVEVENT_INPUTEVENT._serialized_start=59620 - _EVDEVEVENT_INPUTEVENT._serialized_end=59701 - _FILEDESCRIPTORSET._serialized_start=59712 - _FILEDESCRIPTORSET._serialized_end=59783 - _FILEDESCRIPTORPROTO._serialized_start=59786 - _FILEDESCRIPTORPROTO._serialized_end=60105 - _DESCRIPTORPROTO._serialized_start=60108 - _DESCRIPTORPROTO._serialized_end=60574 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60519 - _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60562 - _UNINTERPRETEDOPTION._serialized_start=60577 - _UNINTERPRETEDOPTION._serialized_end=60863 - _UNINTERPRETEDOPTION_NAMEPART._serialized_start=60812 - _UNINTERPRETEDOPTION_NAMEPART._serialized_end=60863 - _FIELDOPTIONS._serialized_start=60865 - _FIELDOPTIONS._serialized_end=60964 - _FIELDDESCRIPTORPROTO._serialized_start=60967 - _FIELDDESCRIPTORPROTO._serialized_end=61654 - _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61269 - _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61579 - _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61581 - _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61648 - _ONEOFDESCRIPTORPROTO._serialized_start=61656 - _ONEOFDESCRIPTORPROTO._serialized_end=61740 - _ENUMDESCRIPTORPROTO._serialized_start=61743 - _ENUMDESCRIPTORPROTO._serialized_end=61871 - _ENUMVALUEDESCRIPTORPROTO._serialized_start=61873 - _ENUMVALUEDESCRIPTORPROTO._serialized_end=61935 - _ONEOFOPTIONS._serialized_start=61937 - _ONEOFOPTIONS._serialized_end=61970 - _EXTENSIONDESCRIPTOR._serialized_start=61972 - _EXTENSIONDESCRIPTOR._serialized_end=62052 - _INODEFILEMAP._serialized_start=62055 - _INODEFILEMAP._serialized_end=62319 - _INODEFILEMAP_ENTRY._serialized_start=62173 - _INODEFILEMAP_ENTRY._serialized_end=62319 - _INODEFILEMAP_ENTRY_TYPE._serialized_start=62275 - _INODEFILEMAP_ENTRY_TYPE._serialized_end=62319 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62321 - _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62398 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62401 - _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62543 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62545 - _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62623 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62626 - _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=62769 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=62771 - _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=62845 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=62847 - _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=62955 - _BCLIRQTRIGGERFTRACEEVENT._serialized_start=62958 - _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63147 - _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63150 - _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63299 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63301 - _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63357 - _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63359 - _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63477 - _BINDERLOCKFTRACEEVENT._serialized_start=63479 - _BINDERLOCKFTRACEEVENT._serialized_end=63515 - _BINDERLOCKEDFTRACEEVENT._serialized_start=63517 - _BINDERLOCKEDFTRACEEVENT._serialized_end=63555 - _BINDERUNLOCKFTRACEEVENT._serialized_start=63557 - _BINDERUNLOCKFTRACEEVENT._serialized_end=63595 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63597 - _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63722 - _BINDERCOMMANDFTRACEEVENT._serialized_start=63724 - _BINDERCOMMANDFTRACEEVENT._serialized_end=63763 - _BINDERRETURNFTRACEEVENT._serialized_start=63765 - _BINDERRETURNFTRACEEVENT._serialized_end=63803 - _BLOCKRQISSUEFTRACEEVENT._serialized_start=63806 - _BLOCKRQISSUEFTRACEEVENT._serialized_end=63935 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=63937 - _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=64043 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=64045 - _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64148 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64150 - _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64256 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64258 - _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64365 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64367 - _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64469 - _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64471 - _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64596 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64598 - _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64670 - _BLOCKGETRQFTRACEEVENT._serialized_start=64672 - _BLOCKGETRQFTRACEEVENT._serialized_end=64771 - _BLOCKPLUGFTRACEEVENT._serialized_start=64773 - _BLOCKPLUGFTRACEEVENT._serialized_end=64809 - _BLOCKRQABORTFTRACEEVENT._serialized_start=64811 - _BLOCKRQABORTFTRACEEVENT._serialized_end=64927 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=64930 - _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65064 - _BLOCKRQINSERTFTRACEEVENT._serialized_start=65067 - _BLOCKRQINSERTFTRACEEVENT._serialized_end=65197 - _BLOCKRQREMAPFTRACEEVENT._serialized_start=65200 - _BLOCKRQREMAPFTRACEEVENT._serialized_end=65341 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65343 - _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65461 - _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65463 - _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65564 - _BLOCKSPLITFTRACEEVENT._serialized_start=65566 - _BLOCKSPLITFTRACEEVENT._serialized_end=65666 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65668 - _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65740 - _BLOCKUNPLUGFTRACEEVENT._serialized_start=65742 - _BLOCKUNPLUGFTRACEEVENT._serialized_end=65795 - _BLOCKIOSTARTFTRACEEVENT._serialized_start=65798 - _BLOCKIOSTARTFTRACEEVENT._serialized_end=65943 - _BLOCKIODONEFTRACEEVENT._serialized_start=65946 - _BLOCKIODONEFTRACEEVENT._serialized_end=66090 - _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66093 - _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66235 - _CGROUPMKDIRFTRACEEVENT._serialized_start=66237 - _CGROUPMKDIRFTRACEEVENT._serialized_end=66331 - _CGROUPREMOUNTFTRACEEVENT._serialized_start=66333 - _CGROUPREMOUNTFTRACEEVENT._serialized_end=66404 - _CGROUPRMDIRFTRACEEVENT._serialized_start=66406 - _CGROUPRMDIRFTRACEEVENT._serialized_end=66500 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66503 - _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66648 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66650 - _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66725 - _CGROUPRELEASEFTRACEEVENT._serialized_start=66727 - _CGROUPRELEASEFTRACEEVENT._serialized_end=66823 - _CGROUPRENAMEFTRACEEVENT._serialized_start=66825 - _CGROUPRENAMEFTRACEEVENT._serialized_end=66920 - _CGROUPSETUPROOTFTRACEEVENT._serialized_start=66922 - _CGROUPSETUPROOTFTRACEEVENT._serialized_end=66995 - _CLKENABLEFTRACEEVENT._serialized_start=66997 - _CLKENABLEFTRACEEVENT._serialized_end=67033 - _CLKDISABLEFTRACEEVENT._serialized_start=67035 - _CLKDISABLEFTRACEEVENT._serialized_end=67072 - _CLKSETRATEFTRACEEVENT._serialized_start=67074 - _CLKSETRATEFTRACEEVENT._serialized_end=67125 - _CMAALLOCSTARTFTRACEEVENT._serialized_start=67127 - _CMAALLOCSTARTFTRACEEVENT._serialized_end=67197 - _CMAALLOCINFOFTRACEEVENT._serialized_start=67200 - _CMAALLOCINFOFTRACEEVENT._serialized_end=67396 - _CMAALLOCFINISHFTRACEEVENT._serialized_start=67398 - _CMAALLOCFINISHFTRACEEVENT._serialized_end=67513 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67515 - _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67636 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67639 - _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=67783 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=67786 - _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=67923 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=67926 - _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68065 - _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68068 - _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68203 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68205 - _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68292 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68294 - _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68409 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68411 - _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68529 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68531 - _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68583 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68585 - _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68699 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68701 - _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=68778 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=68780 - _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=68867 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=68869 - _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=68972 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=68974 - _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69090 - _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69092 - _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69169 - _CPUHPEXITFTRACEEVENT._serialized_start=69171 - _CPUHPEXITFTRACEEVENT._serialized_end=69247 - _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69249 - _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69332 - _CPUHPENTERFTRACEEVENT._serialized_start=69334 - _CPUHPENTERFTRACEEVENT._serialized_end=69412 - _CPUHPLATENCYFTRACEEVENT._serialized_start=69414 - _CPUHPLATENCYFTRACEEVENT._serialized_end=69494 - _CPUHPPAUSEFTRACEEVENT._serialized_start=69496 - _CPUHPPAUSEFTRACEEVENT._serialized_end=69583 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69586 - _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69756 - _DCVSHFREQFTRACEEVENT._serialized_start=69758 - _DCVSHFREQFTRACEEVENT._serialized_end=69807 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=69809 - _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=69928 - _DMAFENCEINITFTRACEEVENT._serialized_start=69930 - _DMAFENCEINITFTRACEEVENT._serialized_end=70021 - _DMAFENCEEMITFTRACEEVENT._serialized_start=70023 - _DMAFENCEEMITFTRACEEVENT._serialized_end=70114 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70116 - _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70211 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70213 - _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70309 - _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70311 - _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70405 - _DMAHEAPSTATFTRACEEVENT._serialized_start=70407 - _DMAHEAPSTATFTRACEEVENT._serialized_end=70484 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70487 - _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70616 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70618 - _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70683 - _DPUDSIRXFTRACEEVENT._serialized_start=70685 - _DPUDSIRXFTRACEEVENT._serialized_end=70735 - _DPUDSITXFTRACEEVENT._serialized_start=70737 - _DPUDSITXFTRACEEVENT._serialized_end=70820 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=70822 - _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=70910 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=70912 - _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=70994 - _DRMVBLANKEVENTFTRACEEVENT._serialized_start=70996 - _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71083 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71085 - _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71162 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71165 - _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71327 - _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71330 - _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71522 - _DWC3CTRLREQFTRACEEVENT._serialized_start=71524 - _DWC3CTRLREQFTRACEEVENT._serialized_end=71650 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71653 - _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=71812 - _DWC3EPQUEUEFTRACEEVENT._serialized_start=71815 - _DWC3EPQUEUEFTRACEEVENT._serialized_end=71972 - _DWC3EVENTFTRACEEVENT._serialized_start=71974 - _DWC3EVENTFTRACEEVENT._serialized_end=72042 - _DWC3FREEREQUESTFTRACEEVENT._serialized_start=72045 - _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72206 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72208 - _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72331 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72334 - _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72539 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72542 - _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72746 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72748 - _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=72825 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=72828 - _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=72992 - _DWC3PREPARETRBFTRACEEVENT._serialized_start=72995 - _DWC3PREPARETRBFTRACEEVENT._serialized_end=73186 - _DWC3READLFTRACEEVENT._serialized_start=73188 - _DWC3READLFTRACEEVENT._serialized_end=73268 - _DWC3WRITELFTRACEEVENT._serialized_start=73270 - _DWC3WRITELFTRACEEVENT._serialized_end=73351 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73353 - _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73449 - _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73451 - _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73546 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73548 - _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73638 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73640 - _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73708 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73710 - _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=73808 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=73811 - _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=74004 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=74006 - _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74089 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74091 - _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74172 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74174 - _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74259 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74262 - _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74464 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74467 - _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74635 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74638 - _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=74866 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=74869 - _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75076 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75078 - _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75181 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75183 - _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75277 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75279 - _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75385 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75387 - _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75458 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75460 - _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75553 - _EXT4DROPINODEFTRACEEVENT._serialized_start=75555 - _EXT4DROPINODEFTRACEEVENT._serialized_end=75621 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75623 - _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75736 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75738 - _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=75824 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=75827 - _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=75955 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=75957 - _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76071 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76073 - _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76149 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76152 - _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76285 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76287 - _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76371 - _EXT4ESSHRINKFTRACEEVENT._serialized_start=76373 - _EXT4ESSHRINKFTRACEEVENT._serialized_end=76486 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76488 - _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76570 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76572 - _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76658 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76660 - _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76744 - _EXT4EVICTINODEFTRACEEVENT._serialized_start=76746 - _EXT4EVICTINODEFTRACEEVENT._serialized_end=76814 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=76817 - _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=76966 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=76969 - _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77168 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77171 - _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77330 - _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77332 - _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77412 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77414 - _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77498 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77500 - _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77602 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77605 - _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77749 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77751 - _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=77849 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=77851 - _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=77951 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=77954 - _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78147 - _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78149 - _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78214 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78217 - _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78403 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78405 - _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78502 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78504 - _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78617 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78619 - _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78717 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78720 - _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=78857 - _EXT4FORGETFTRACEEVENT._serialized_start=78859 - _EXT4FORGETFTRACEEVENT._serialized_end=78958 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=78960 - _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79072 - _EXT4FREEINODEFTRACEEVENT._serialized_start=79074 - _EXT4FREEINODEFTRACEEVENT._serialized_end=79182 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79184 - _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79309 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79311 - _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79404 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79406 - _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79508 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79511 - _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79655 - _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79657 - _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79740 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79742 - _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=79846 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=79849 - _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=79978 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=79980 - _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=80058 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80060 - _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80174 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80176 - _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80279 - _EXT4LOADINODEFTRACEEVENT._serialized_start=80281 - _EXT4LOADINODEFTRACEEVENT._serialized_end=80333 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80335 - _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80395 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80397 - _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80466 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80468 - _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80525 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80527 - _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80589 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80591 - _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80660 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80662 - _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=80771 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=80773 - _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=80882 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=80884 - _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=80965 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=80967 - _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=81056 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=81059 - _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81449 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81451 - _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81572 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81574 - _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81692 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81695 - _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=81921 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=81923 - _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=82044 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=82046 - _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82141 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82143 - _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82225 - _EXT4READPAGEFTRACEEVENT._serialized_start=82227 - _EXT4READPAGEFTRACEEVENT._serialized_end=82293 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82295 - _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82364 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82367 - _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82567 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82570 - _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82747 - _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82749 - _EXT4REQUESTINODEFTRACEEVENT._serialized_end=82818 - _EXT4SYNCFSFTRACEEVENT._serialized_start=82820 - _EXT4SYNCFSFTRACEEVENT._serialized_end=82870 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=82872 - _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=82981 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=82983 - _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83091 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83093 - _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83165 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83167 - _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83238 - _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83240 - _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83324 - _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83326 - _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83392 - _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83394 - _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83488 - _EXT4WRITEENDFTRACEEVENT._serialized_start=83490 - _EXT4WRITEENDFTRACEEVENT._serialized_end=83583 - _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83585 - _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83652 - _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83655 - _EXT4WRITEPAGESFTRACEEVENT._serialized_end=83879 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=83882 - _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=84044 - _EXT4ZERORANGEFTRACEEVENT._serialized_start=84046 - _EXT4ZERORANGEFTRACEEVENT._serialized_end=84141 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84143 - _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84243 - _F2FSEVICTINODEFTRACEEVENT._serialized_start=84246 - _F2FSEVICTINODEFTRACEEVENT._serialized_end=84388 - _F2FSFALLOCATEFTRACEEVENT._serialized_start=84391 - _F2FSFALLOCATEFTRACEEVENT._serialized_end=84529 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84531 - _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84650 - _F2FSGETVICTIMFTRACEEVENT._serialized_start=84653 - _F2FSGETVICTIMFTRACEEVENT._serialized_end=84859 - _F2FSIGETFTRACEEVENT._serialized_start=84862 - _F2FSIGETFTRACEEVENT._serialized_end=84998 - _F2FSIGETEXITFTRACEEVENT._serialized_start=85000 - _F2FSIGETEXITFTRACEEVENT._serialized_end=85064 - _F2FSNEWINODEFTRACEEVENT._serialized_start=85066 - _F2FSNEWINODEFTRACEEVENT._serialized_end=85130 - _F2FSREADPAGEFTRACEEVENT._serialized_start=85133 - _F2FSREADPAGEFTRACEEVENT._serialized_end=85276 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85278 - _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85357 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85360 - _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85490 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85492 - _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85594 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85597 - _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85742 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85744 - _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=85866 - _F2FSSYNCFSFTRACEEVENT._serialized_start=85868 - _F2FSSYNCFSFTRACEEVENT._serialized_end=85933 - _F2FSTRUNCATEFTRACEEVENT._serialized_start=85936 - _F2FSTRUNCATEFTRACEEVENT._serialized_end=86076 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86078 - _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86184 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86186 - _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86260 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86262 - _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86368 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86370 - _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86481 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86483 - _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86562 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86564 - _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86650 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86652 - _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86744 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86746 - _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=86819 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=86821 - _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=86925 - _F2FSUNLINKENTERFTRACEEVENT._serialized_start=86927 - _F2FSUNLINKENTERFTRACEEVENT._serialized_end=87025 - _F2FSUNLINKEXITFTRACEEVENT._serialized_start=87027 - _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87093 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87096 - _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87227 - _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87229 - _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87323 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87325 - _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87418 - _F2FSWRITEENDFTRACEEVENT._serialized_start=87420 - _F2FSWRITEENDFTRACEEVENT._serialized_end=87513 - _F2FSIOSTATFTRACEEVENT._serialized_start=87516 - _F2FSIOSTATFTRACEEVENT._serialized_end=87941 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=87944 - _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88527 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88529 - _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88619 - _F2FSGCBEGINFTRACEEVENT._serialized_start=88622 - _F2FSGCBEGINFTRACEEVENT._serialized_end=88892 - _F2FSGCENDFTRACEEVENT._serialized_start=88895 - _F2FSGCENDFTRACEEVENT._serialized_end=89123 - _FASTRPCDMASTATFTRACEEVENT._serialized_start=89125 - _FASTRPCDMASTATFTRACEEVENT._serialized_end=89203 - _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89205 - _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89273 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89275 - _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89374 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89376 - _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89445 - _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89447 - _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89569 - _FENCEINITFTRACEEVENT._serialized_start=89571 - _FENCEINITFTRACEEVENT._serialized_end=89659 - _FENCEDESTROYFTRACEEVENT._serialized_start=89661 - _FENCEDESTROYFTRACEEVENT._serialized_end=89752 - _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89754 - _FENCEENABLESIGNALFTRACEEVENT._serialized_end=89850 - _FENCESIGNALEDFTRACEEVENT._serialized_start=89852 - _FENCESIGNALEDFTRACEEVENT._serialized_end=89944 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=89946 - _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=90054 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=90056 - _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90169 - _DOSYSOPENFTRACEEVENT._serialized_start=90171 - _DOSYSOPENFTRACEEVENT._serialized_end=90240 - _OPENEXECFTRACEEVENT._serialized_start=90242 - _OPENEXECFTRACEEVENT._serialized_end=90281 - _PRINTFTRACEEVENT._serialized_start=90283 - _PRINTFTRACEEVENT._serialized_end=90326 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90328 - _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90384 - _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90386 - _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90493 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90495 - _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90583 - _GENERICFTRACEEVENT._serialized_start=90586 - _GENERICFTRACEEVENT._serialized_end=90780 - _GENERICFTRACEEVENT_FIELD._serialized_start=90686 - _GENERICFTRACEEVENT_FIELD._serialized_end=90780 - _KPROBEEVENT._serialized_start=90783 - _KPROBEEVENT._serialized_end=90973 - _KPROBEEVENT_KPROBETYPE._serialized_start=90867 - _KPROBEEVENT_KPROBETYPE._serialized_end=90973 - _GOOGLEICCEVENTFTRACEEVENT._serialized_start=90975 - _GOOGLEICCEVENTFTRACEEVENT._serialized_end=91036 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=91038 - _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91099 - _GPUMEMTOTALFTRACEEVENT._serialized_start=91101 - _GPUMEMTOTALFTRACEEVENT._serialized_end=91168 - _DRMSCHEDJOBFTRACEEVENT._serialized_start=91170 - _DRMSCHEDJOBFTRACEEVENT._serialized_end=91292 - _DRMRUNJOBFTRACEEVENT._serialized_start=91294 - _DRMRUNJOBFTRACEEVENT._serialized_end=91414 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91416 - _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91462 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91464 - _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91566 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91568 - _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91640 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91643 - _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=91803 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=91806 - _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=91964 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=91966 - _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92075 - _HYPENTERFTRACEEVENT._serialized_start=92077 - _HYPENTERFTRACEEVENT._serialized_end=92098 - _HYPEXITFTRACEEVENT._serialized_start=92100 - _HYPEXITFTRACEEVENT._serialized_end=92120 - _HOSTHCALLFTRACEEVENT._serialized_start=92122 - _HOSTHCALLFTRACEEVENT._serialized_end=92173 - _HOSTSMCFTRACEEVENT._serialized_start=92175 - _HOSTSMCFTRACEEVENT._serialized_end=92226 - _HOSTMEMABORTFTRACEEVENT._serialized_start=92228 - _HOSTMEMABORTFTRACEEVENT._serialized_end=92280 - _HOSTFFACALLFTRACEEVENT._serialized_start=92283 - _HOSTFFACALLFTRACEEVENT._serialized_end=92418 - _IOMMUIDMAPFTRACEEVENT._serialized_start=92420 - _IOMMUIDMAPFTRACEEVENT._serialized_end=92483 - _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92485 - _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92540 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92542 - _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92603 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92605 - _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92666 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92668 - _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92698 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92700 - _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=92773 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=92775 - _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=92840 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=92842 - _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=92904 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=92906 - _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=92937 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=92939 - _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=92993 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=92995 - _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=93046 - _I2CREADFTRACEEVENT._serialized_start=93048 - _I2CREADFTRACEEVENT._serialized_end=93146 - _I2CWRITEFTRACEEVENT._serialized_start=93148 - _I2CWRITEFTRACEEVENT._serialized_end=93260 - _I2CRESULTFTRACEEVENT._serialized_start=93262 - _I2CRESULTFTRACEEVENT._serialized_end=93334 - _I2CREPLYFTRACEEVENT._serialized_start=93336 - _I2CREPLYFTRACEEVENT._serialized_end=93448 - _SMBUSREADFTRACEEVENT._serialized_start=93450 - _SMBUSREADFTRACEEVENT._serialized_end=93556 - _SMBUSWRITEFTRACEEVENT._serialized_start=93558 - _SMBUSWRITEFTRACEEVENT._serialized_end=93678 - _SMBUSRESULTFTRACEEVENT._serialized_start=93681 - _SMBUSRESULTFTRACEEVENT._serialized_end=93822 - _SMBUSREPLYFTRACEEVENT._serialized_start=93824 - _SMBUSREPLYFTRACEEVENT._serialized_end=93944 - _IONSTATFTRACEEVENT._serialized_start=93946 - _IONSTATFTRACEEVENT._serialized_end=94023 - _IPIENTRYFTRACEEVENT._serialized_start=94025 - _IPIENTRYFTRACEEVENT._serialized_end=94062 - _IPIEXITFTRACEEVENT._serialized_start=94064 - _IPIEXITFTRACEEVENT._serialized_end=94100 - _IPIRAISEFTRACEEVENT._serialized_start=94102 - _IPIRAISEFTRACEEVENT._serialized_end=94160 - _SOFTIRQENTRYFTRACEEVENT._serialized_start=94162 - _SOFTIRQENTRYFTRACEEVENT._serialized_end=94200 - _SOFTIRQEXITFTRACEEVENT._serialized_start=94202 - _SOFTIRQEXITFTRACEEVENT._serialized_end=94239 - _SOFTIRQRAISEFTRACEEVENT._serialized_start=94241 - _SOFTIRQRAISEFTRACEEVENT._serialized_end=94279 - _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94281 - _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94353 - _IRQHANDLEREXITFTRACEEVENT._serialized_start=94355 - _IRQHANDLEREXITFTRACEEVENT._serialized_end=94408 - _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94410 - _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94454 - _LOCALTIMEREXITFTRACEEVENT._serialized_start=94456 - _LOCALTIMEREXITFTRACEEVENT._serialized_end=94499 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94501 - _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94564 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94566 - _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94679 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94682 - _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=94931 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=94933 - _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=95028 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=95031 - _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95372 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95374 - _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95439 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95441 - _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95507 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95509 - _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95576 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95578 - _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95641 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95643 - _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95707 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95709 - _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=95774 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=95776 - _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=95827 - _IOMMUMAPRANGEFTRACEEVENT._serialized_start=95829 - _IOMMUMAPRANGEFTRACEEVENT._serialized_end=95912 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=95914 - _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=96016 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=96018 - _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96122 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96124 - _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96236 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96239 - _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96367 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96370 - _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96502 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96504 - _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96618 - _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96620 - _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96663 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96665 - _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96760 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96762 - _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=96859 - _IONPREFETCHINGFTRACEEVENT._serialized_start=96861 - _IONPREFETCHINGFTRACEEVENT._serialized_end=96901 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=96903 - _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=96994 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=96996 - _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97089 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97091 - _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97189 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97191 - _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97291 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97293 - _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97375 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97377 - _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97461 - _KFREEFTRACEEVENT._serialized_start=97463 - _KFREEFTRACEEVENT._serialized_end=97513 - _KMALLOCFTRACEEVENT._serialized_start=97515 - _KMALLOCFTRACEEVENT._serialized_end=97626 - _KMALLOCNODEFTRACEEVENT._serialized_start=97629 - _KMALLOCNODEFTRACEEVENT._serialized_end=97758 - _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97760 - _KMEMCACHEALLOCFTRACEEVENT._serialized_end=97878 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=97881 - _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=98017 - _KMEMCACHEFREEFTRACEEVENT._serialized_start=98019 - _KMEMCACHEFREEFTRACEEVENT._serialized_end=98077 - _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98079 - _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98121 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98123 - _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98167 - _MIGRATERETRYFTRACEEVENT._serialized_start=98169 - _MIGRATERETRYFTRACEEVENT._serialized_end=98209 - _MMPAGEALLOCFTRACEEVENT._serialized_start=98211 - _MMPAGEALLOCFTRACEEVENT._serialized_end=98317 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98320 - _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98506 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98508 - _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98605 - _MMPAGEFREEFTRACEEVENT._serialized_start=98607 - _MMPAGEFREEFTRACEEVENT._serialized_end=98672 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98674 - _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98745 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98747 - _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=98838 - _RSSSTATFTRACEEVENT._serialized_start=98840 - _RSSSTATFTRACEEVENT._serialized_end=98919 - _IONHEAPSHRINKFTRACEEVENT._serialized_start=98921 - _IONHEAPSHRINKFTRACEEVENT._serialized_end=99004 - _IONHEAPGROWFTRACEEVENT._serialized_start=99006 - _IONHEAPGROWFTRACEEVENT._serialized_end=99087 - _IONBUFFERCREATEFTRACEEVENT._serialized_start=99089 - _IONBUFFERCREATEFTRACEEVENT._serialized_end=99144 - _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99146 - _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99202 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99205 - _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99358 - _DMABUFRSSSTATFTRACEEVENT._serialized_start=99360 - _DMABUFRSSSTATFTRACEEVENT._serialized_end=99433 - _KVMACCESSFAULTFTRACEEVENT._serialized_start=99435 - _KVMACCESSFAULTFTRACEEVENT._serialized_end=99475 - _KVMACKIRQFTRACEEVENT._serialized_start=99477 - _KVMACKIRQFTRACEEVENT._serialized_end=99529 - _KVMAGEHVAFTRACEEVENT._serialized_start=99531 - _KVMAGEHVAFTRACEEVENT._serialized_end=99581 - _KVMAGEPAGEFTRACEEVENT._serialized_start=99583 - _KVMAGEPAGEFTRACEEVENT._serialized_end=99667 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99669 - _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99719 - _KVMARMSETDREG32FTRACEEVENT._serialized_start=99721 - _KVMARMSETDREG32FTRACEEVENT._serialized_end=99778 - _KVMARMSETREGSETFTRACEEVENT._serialized_start=99780 - _KVMARMSETREGSETFTRACEEVENT._serialized_end=99835 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=99837 - _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=99901 - _KVMENTRYFTRACEEVENT._serialized_start=99903 - _KVMENTRYFTRACEEVENT._serialized_end=99941 - _KVMEXITFTRACEEVENT._serialized_start=99943 - _KVMEXITFTRACEEVENT._serialized_end=100009 - _KVMFPUFTRACEEVENT._serialized_start=100011 - _KVMFPUFTRACEEVENT._serialized_end=100044 - _KVMGETTIMERMAPFTRACEEVENT._serialized_start=100046 - _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100157 - _KVMGUESTFAULTFTRACEEVENT._serialized_start=100159 - _KVMGUESTFAULTFTRACEEVENT._serialized_end=100243 - _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100245 - _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100286 - _KVMHVCARM64FTRACEEVENT._serialized_start=100288 - _KVMHVCARM64FTRACEEVENT._serialized_end=100354 - _KVMIRQLINEFTRACEEVENT._serialized_start=100356 - _KVMIRQLINEFTRACEEVENT._serialized_end=100443 - _KVMMMIOFTRACEEVENT._serialized_start=100445 - _KVMMMIOFTRACEEVENT._serialized_end=100518 - _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100520 - _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100593 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100595 - _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100659 - _KVMSETIRQFTRACEEVENT._serialized_start=100661 - _KVMSETIRQFTRACEEVENT._serialized_end=100734 - _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100736 - _KVMSETSPTEHVAFTRACEEVENT._serialized_end=100775 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=100777 - _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=100836 - _KVMSYSACCESSFTRACEEVENT._serialized_start=100839 - _KVMSYSACCESSFTRACEEVENT._serialized_end=100978 - _KVMTESTAGEHVAFTRACEEVENT._serialized_start=100980 - _KVMTESTAGEHVAFTRACEEVENT._serialized_end=101019 - _KVMTIMEREMULATEFTRACEEVENT._serialized_start=101021 - _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101089 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101091 - _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101144 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101146 - _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101225 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101227 - _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101303 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101305 - _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101380 - _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101382 - _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101452 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101454 - _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101511 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101513 - _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101558 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101560 - _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101629 - _KVMWFXARM64FTRACEEVENT._serialized_start=101631 - _KVMWFXARM64FTRACEEVENT._serialized_end=101688 - _TRAPREGFTRACEEVENT._serialized_start=101690 - _TRAPREGFTRACEEVENT._serialized_end=101774 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=101776 - _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=101854 - _LOWMEMORYKILLFTRACEEVENT._serialized_start=101856 - _LOWMEMORYKILLFTRACEEVENT._serialized_end=101972 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=101974 - _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102087 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102089 - _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102178 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102180 - _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102297 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102299 - _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102422 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102424 - _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102545 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102547 - _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102669 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102671 - _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=102796 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=102798 - _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=102921 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=102923 - _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=103015 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=103017 - _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103107 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103109 - _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103217 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103219 - _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103318 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103320 - _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103420 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103422 - _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103518 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103520 - _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103622 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103624 - _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103722 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103724 - _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=103821 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=103823 - _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=103922 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=103924 - _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=104011 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=104013 - _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104096 - _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104098 - _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104180 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104182 - _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104282 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104284 - _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104379 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104381 - _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104467 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104469 - _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104563 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104565 - _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104658 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104660 - _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104750 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104752 - _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=104843 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=104845 - _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=104940 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=104942 - _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=105029 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=105031 - _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105123 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105125 - _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105214 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105216 - _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105305 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105307 - _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105394 - _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105396 - _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105460 - _MDPCOMMITFTRACEEVENT._serialized_start=105462 - _MDPCOMMITFTRACEEVENT._serialized_end=105552 - _MDPPERFSETOTFTRACEEVENT._serialized_start=105554 - _MDPPERFSETOTFTRACEEVENT._serialized_end=105645 - _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105648 - _MDPSSPPCHANGEFTRACEEVENT._serialized_end=105916 - _TRACINGMARKWRITEFTRACEEVENT._serialized_start=105918 - _TRACINGMARKWRITEFTRACEEVENT._serialized_end=106001 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=106003 - _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106103 - _MDPCOMPAREBWFTRACEEVENT._serialized_start=106106 - _MDPCOMPAREBWFTRACEEVENT._serialized_end=106270 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106272 - _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106384 - _MDPSSPPSETFTRACEEVENT._serialized_start=106387 - _MDPSSPPSETFTRACEEVENT._serialized_end=106652 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106654 - _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106719 - _MDPMISRCRCFTRACEEVENT._serialized_start=106721 - _MDPMISRCRCFTRACEEVENT._serialized_end=106794 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=106796 - _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=106921 - _MDPTRACECOUNTERFTRACEEVENT._serialized_start=106923 - _MDPTRACECOUNTERFTRACEEVENT._serialized_end=107001 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=107003 - _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=107048 - _MDPMIXERUPDATEFTRACEEVENT._serialized_start=107050 - _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107096 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107099 - _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107259 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107261 - _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107333 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107335 - _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107404 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107407 - _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107613 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107615 - _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107696 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107698 - _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107746 - _MMEVENTRECORDFTRACEEVENT._serialized_start=107748 - _MMEVENTRECORDFTRACEEVENT._serialized_end=107837 - _NETIFRECEIVESKBFTRACEEVENT._serialized_start=107839 - _NETIFRECEIVESKBFTRACEEVENT._serialized_end=107911 - _NETDEVXMITFTRACEEVENT._serialized_start=107913 - _NETDEVXMITFTRACEEVENT._serialized_end=107992 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=107995 - _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108374 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108376 - _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108420 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108422 - _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108502 - _MARKVICTIMFTRACEEVENT._serialized_start=108504 - _MARKVICTIMFTRACEEVENT._serialized_end=108540 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108542 - _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108604 - _DSIRXFTRACEEVENT._serialized_start=108606 - _DSIRXFTRACEEVENT._serialized_end=108653 - _DSITXFTRACEEVENT._serialized_start=108655 - _DSITXFTRACEEVENT._serialized_end=108717 - _PANELWRITEGENERICFTRACEEVENT._serialized_start=108719 - _PANELWRITEGENERICFTRACEEVENT._serialized_end=108846 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=108849 - _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109237 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109239 - _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109287 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109289 - _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109373 - _CPUFREQUENCYFTRACEEVENT._serialized_start=109375 - _CPUFREQUENCYFTRACEEVENT._serialized_end=109431 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109433 - _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109516 - _CPUIDLEFTRACEEVENT._serialized_start=109518 - _CPUIDLEFTRACEEVENT._serialized_end=109569 - _CLOCKENABLEFTRACEEVENT._serialized_start=109571 - _CLOCKENABLEFTRACEEVENT._serialized_end=109640 - _CLOCKDISABLEFTRACEEVENT._serialized_start=109642 - _CLOCKDISABLEFTRACEEVENT._serialized_end=109712 - _CLOCKSETRATEFTRACEEVENT._serialized_start=109714 - _CLOCKSETRATEFTRACEEVENT._serialized_end=109784 - _SUSPENDRESUMEFTRACEEVENT._serialized_start=109786 - _SUSPENDRESUMEFTRACEEVENT._serialized_end=109856 - _GPUFREQUENCYFTRACEEVENT._serialized_start=109858 - _GPUFREQUENCYFTRACEEVENT._serialized_end=109914 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=109916 - _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=109978 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=109980 - _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=110044 - _GPUWORKPERIODFTRACEEVENT._serialized_start=110047 - _GPUWORKPERIODFTRACEEVENT._serialized_end=110180 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110182 - _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110295 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110297 - _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110376 - _CONSOLEFTRACEEVENT._serialized_start=110378 - _CONSOLEFTRACEEVENT._serialized_end=110411 - _SYSENTERFTRACEEVENT._serialized_start=110413 - _SYSENTERFTRACEEVENT._serialized_end=110460 - _SYSEXITFTRACEEVENT._serialized_start=110462 - _SYSEXITFTRACEEVENT._serialized_end=110507 - _REGULATORDISABLEFTRACEEVENT._serialized_start=110509 - _REGULATORDISABLEFTRACEEVENT._serialized_end=110552 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110554 - _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110605 - _REGULATORENABLEFTRACEEVENT._serialized_start=110607 - _REGULATORENABLEFTRACEEVENT._serialized_end=110649 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110651 - _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110701 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110703 - _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110750 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110752 - _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=110824 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=110826 - _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=110893 - _RPMSTATUSFTRACEEVENT._serialized_start=110895 - _RPMSTATUSFTRACEEVENT._serialized_end=110947 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=110949 - _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111074 - _SCHEDSWITCHFTRACEEVENT._serialized_start=111077 - _SCHEDSWITCHFTRACEEVENT._serialized_end=111233 - _SCHEDWAKEUPFTRACEEVENT._serialized_start=111235 - _SCHEDWAKEUPFTRACEEVENT._serialized_end=111337 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111339 - _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111416 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111418 - _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111499 - _SCHEDWAKINGFTRACEEVENT._serialized_start=111501 - _SCHEDWAKINGFTRACEEVENT._serialized_end=111603 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111605 - _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111710 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111712 - _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=111789 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=111791 - _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=111875 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=111877 - _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=111986 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=111988 - _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=112058 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112060 - _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112116 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112118 - _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112188 - _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112190 - _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112278 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112281 - _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112609 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112612 - _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112749 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112751 - _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=112875 - _SCMCALLSTARTFTRACEEVENT._serialized_start=112877 - _SCMCALLSTARTFTRACEEVENT._serialized_end=112943 - _SCMCALLENDFTRACEEVENT._serialized_start=112945 - _SCMCALLENDFTRACEEVENT._serialized_end=112968 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=112970 - _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113091 - _SDESDEEVTLOGFTRACEEVENT._serialized_start=113093 - _SDESDEEVTLOGFTRACEEVENT._serialized_end=113167 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113170 - _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113350 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113353 - _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113636 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113638 - _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113754 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113756 - _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=113856 - _SIGNALDELIVERFTRACEEVENT._serialized_start=113858 - _SIGNALDELIVERFTRACEEVENT._serialized_end=113929 - _SIGNALGENERATEFTRACEEVENT._serialized_start=113931 - _SIGNALGENERATEFTRACEEVENT._serialized_end=114043 - _KFREESKBFTRACEEVENT._serialized_start=114045 - _KFREESKBFTRACEEVENT._serialized_end=114119 - _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114122 - _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114297 - _SYNCPTFTRACEEVENT._serialized_start=114299 - _SYNCPTFTRACEEVENT._serialized_end=114351 - _SYNCTIMELINEFTRACEEVENT._serialized_start=114353 - _SYNCTIMELINEFTRACEEVENT._serialized_end=114407 - _SYNCWAITFTRACEEVENT._serialized_start=114409 - _SYNCWAITFTRACEEVENT._serialized_end=114475 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114477 - _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114565 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114567 - _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114615 - _ZEROFTRACEEVENT._serialized_start=114617 - _ZEROFTRACEEVENT._serialized_end=114690 - _TASKNEWTASKFTRACEEVENT._serialized_start=114692 - _TASKNEWTASKFTRACEEVENT._serialized_end=114787 - _TASKRENAMEFTRACEEVENT._serialized_start=114789 - _TASKRENAMEFTRACEEVENT._serialized_end=114882 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=114885 - _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=115022 - _THERMALTEMPERATUREFTRACEEVENT._serialized_start=115024 - _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115122 - _CDEVUPDATEFTRACEEVENT._serialized_start=115124 - _CDEVUPDATEFTRACEEVENT._serialized_end=115177 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115180 - _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115408 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115411 - _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115573 - _HRTIMERSTARTFTRACEEVENT._serialized_start=115575 - _HRTIMERSTARTFTRACEEVENT._serialized_end=115687 - _HRTIMERCANCELFTRACEEVENT._serialized_start=115689 - _HRTIMERCANCELFTRACEEVENT._serialized_end=115732 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115734 - _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=115813 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=115815 - _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=115862 - _TIMERSTARTFTRACEEVENT._serialized_start=115865 - _TIMERSTARTFTRACEEVENT._serialized_end=116009 - _TIMERCANCELFTRACEEVENT._serialized_start=116011 - _TIMERCANCELFTRACEEVENT._serialized_end=116050 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=116052 - _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116144 - _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116146 - _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116189 - _TRUSTYSMCFTRACEEVENT._serialized_start=116191 - _TRUSTYSMCFTRACEEVENT._serialized_end=116261 - _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116263 - _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116302 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116304 - _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116380 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116382 - _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116427 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116429 - _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116501 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116503 - _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116608 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116610 - _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116654 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116656 - _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116717 - _TRUSTYIRQFTRACEEVENT._serialized_start=116719 - _TRUSTYIRQFTRACEEVENT._serialized_end=116754 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116756 - _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=116839 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=116841 - _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=116913 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=116915 - _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=116989 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=116992 - _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117122 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117124 - _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117201 - _TRUSTYIPCREADFTRACEEVENT._serialized_start=117203 - _TRUSTYIPCREADFTRACEEVENT._serialized_end=117261 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117263 - _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117377 - _TRUSTYIPCRXFTRACEEVENT._serialized_start=117379 - _TRUSTYIPCRXFTRACEEVENT._serialized_end=117451 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117453 - _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117524 - _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117527 - _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117713 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117715 - _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=117776 - _V4L2QBUFFTRACEEVENT._serialized_start=117779 - _V4L2QBUFFTRACEEVENT._serialized_end=118190 - _V4L2DQBUFFTRACEEVENT._serialized_start=118193 - _V4L2DQBUFFTRACEEVENT._serialized_end=118605 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118608 - _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=118978 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=118981 - _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119350 - _VB2V4L2QBUFFTRACEEVENT._serialized_start=119353 - _VB2V4L2QBUFFTRACEEVENT._serialized_end=119719 - _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119722 - _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120089 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120092 - _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120257 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120260 - _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120428 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120430 - _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120490 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120492 - _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120556 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120559 - _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120755 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120758 - _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=120958 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=120960 - _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=121056 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=121058 - _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121117 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121119 - _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121191 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121193 - _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121238 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121241 - _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121474 - _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121477 - _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121622 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121624 - _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121672 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121674 - _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121738 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121740 - _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=121806 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=121808 - _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=121920 - _FTRACEEVENT._serialized_start=121924 - _FTRACEEVENT._serialized_end=166827 - _FTRACECPUSTATS._serialized_start=166830 - _FTRACECPUSTATS._serialized_end=167023 - _FTRACEKPROBESTATS._serialized_start=167025 - _FTRACEKPROBESTATS._serialized_end=167074 - _FTRACESTATS._serialized_start=167077 - _FTRACESTATS._serialized_end=167660 - _FTRACESTATS_PHASE._serialized_start=167598 - _FTRACESTATS_PHASE._serialized_end=167660 - _FTRACEEVENTBUNDLE._serialized_start=167663 - _FTRACEEVENTBUNDLE._serialized_end=168743 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168201 - _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168567 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168569 - _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168653 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168655 - _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168743 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168745 - _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=168807 - _GENERICKERNELTASKSTATEEVENT._serialized_start=168810 - _GENERICKERNELTASKSTATEEVENT._serialized_end=169228 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=168971 - _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169228 - _GENERICKERNELTASKRENAMEEVENT._serialized_start=169230 - _GENERICKERNELTASKRENAMEEVENT._serialized_end=169287 - _GENERICKERNELPROCESSTREE._serialized_start=169290 - _GENERICKERNELPROCESSTREE._serialized_end=169582 - _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169455 - _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169527 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169529 - _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169582 - _GPUCOUNTEREVENT._serialized_start=169585 - _GPUCOUNTEREVENT._serialized_end=169836 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169750 - _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=169836 - _GPULOG._serialized_start=169839 - _GPULOG._serialized_end=170099 - _GPULOG_SEVERITY._serialized_start=169936 - _GPULOG_SEVERITY._serialized_end=170099 - _GPURENDERSTAGEEVENT._serialized_start=170102 - _GPURENDERSTAGEEVENT._serialized_end=171021 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170611 - _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170651 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170654 - _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=171015 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=170922 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=170965 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=170967 - _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=171015 - _INTERNEDGRAPHICSCONTEXT._serialized_start=171024 - _INTERNEDGRAPHICSCONTEXT._serialized_end=171194 - _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171136 - _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171194 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171197 - _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171435 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171376 - _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171435 - _VULKANAPIEVENT._serialized_start=171438 - _VULKANAPIEVENT._serialized_end=171881 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171624 - _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171738 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171741 - _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=171872 - _VULKANMEMORYEVENTANNOTATION._serialized_start=171883 - _VULKANMEMORYEVENTANNOTATION._serialized_end=172005 - _VULKANMEMORYEVENT._serialized_start=172008 - _VULKANMEMORYEVENT._serialized_end=172880 - _VULKANMEMORYEVENT_SOURCE._serialized_start=172493 - _VULKANMEMORYEVENT_SOURCE._serialized_end=172626 - _VULKANMEMORYEVENT_OPERATION._serialized_start=172628 - _VULKANMEMORYEVENT_OPERATION._serialized_end=172745 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172748 - _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=172880 - _INTERNEDSTRING._serialized_start=172882 - _INTERNEDSTRING._serialized_end=172924 - _LINE._serialized_start=172926 - _LINE._serialized_end=173002 - _ADDRESSSYMBOLS._serialized_start=173004 - _ADDRESSSYMBOLS._serialized_end=173075 - _MODULESYMBOLS._serialized_start=173077 - _MODULESYMBOLS._serialized_end=173182 - _MAPPING._serialized_start=173185 - _MAPPING._serialized_end=173341 - _FRAME._serialized_start=173343 - _FRAME._serialized_end=173425 - _CALLSTACK._serialized_start=173427 - _CALLSTACK._serialized_end=173470 - _HISTOGRAMNAME._serialized_start=173472 - _HISTOGRAMNAME._serialized_end=173514 - _CHROMEHISTOGRAMSAMPLE._serialized_start=173516 - _CHROMEHISTOGRAMSAMPLE._serialized_end=173606 - _DEBUGANNOTATION._serialized_start=173609 - _DEBUGANNOTATION._serialized_end=174549 - _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174121 - _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174501 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174451 - _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174501 - _DEBUGANNOTATIONNAME._serialized_start=174551 - _DEBUGANNOTATIONNAME._serialized_end=174599 - _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174601 - _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174658 - _LOGMESSAGE._serialized_start=174661 - _LOGMESSAGE._serialized_end=174920 - _LOGMESSAGE_PRIORITY._serialized_start=174775 - _LOGMESSAGE_PRIORITY._serialized_end=174920 - _LOGMESSAGEBODY._serialized_start=174922 - _LOGMESSAGEBODY._serialized_end=174965 - _UNSYMBOLIZEDSOURCELOCATION._serialized_start=174967 - _UNSYMBOLIZEDSOURCELOCATION._serialized_end=175044 - _SOURCELOCATION._serialized_start=175046 - _SOURCELOCATION._serialized_end=175138 - _CHROMEACTIVEPROCESSES._serialized_start=175140 - _CHROMEACTIVEPROCESSES._serialized_end=175176 - _CHROMEAPPLICATIONSTATEINFO._serialized_start=175179 - _CHROMEAPPLICATIONSTATEINFO._serialized_end=175545 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175305 - _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175545 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175548 - _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176635 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176439 - _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176629 - _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176638 - _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180348 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=176829 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178128 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177368 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177529 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177532 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177679 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177682 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=177926 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=177929 - _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178128 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178131 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180348 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=180025 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180209 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180212 - _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180342 - _BEGINFRAMEARGS._serialized_start=180351 - _BEGINFRAMEARGS._serialized_end=180905 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180727 - _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=180889 - _BEGINIMPLFRAMEARGS._serialized_start=180908 - _BEGINIMPLFRAMEARGS._serialized_end=181484 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181225 - _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181418 - _BEGINIMPLFRAMEARGS_STATE._serialized_start=181420 - _BEGINIMPLFRAMEARGS_STATE._serialized_end=181476 - _BEGINFRAMEOBSERVERSTATE._serialized_start=181486 - _BEGINFRAMEOBSERVERSTATE._serialized_end=181609 - _BEGINFRAMESOURCESTATE._serialized_start=181612 - _BEGINFRAMESOURCESTATE._serialized_end=181757 - _COMPOSITORTIMINGHISTORY._serialized_start=181760 - _COMPOSITORTIMINGHISTORY._serialized_end=182140 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182142 - _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182204 - _CHROMEFRAMEREPORTER._serialized_start=182207 - _CHROMEFRAMEREPORTER._serialized_end=183327 - _CHROMEFRAMEREPORTER_STATE._serialized_start=182922 - _CHROMEFRAMEREPORTER_STATE._serialized_end=183031 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=183033 - _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183159 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183161 - _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183284 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183286 - _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183323 - _CHROMEKEYEDSERVICE._serialized_start=183329 - _CHROMEKEYEDSERVICE._serialized_end=183363 - _CHROMELATENCYINFO._serialized_start=183366 - _CHROMELATENCYINFO._serialized_end=185148 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183695 - _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=183808 - _CHROMELATENCYINFO_STEP._serialized_start=183811 - _CHROMELATENCYINFO_STEP._serialized_end=184213 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184216 - _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=184973 - _CHROMELATENCYINFO_INPUTTYPE._serialized_start=184976 - _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185148 - _CHROMELEGACYIPC._serialized_start=185151 - _CHROMELEGACYIPC._serialized_end=186125 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185263 - _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186125 - _CHROMEMESSAGEPUMP._serialized_start=186127 - _CHROMEMESSAGEPUMP._serialized_end=186211 - _CHROMEMOJOEVENTINFO._serialized_start=186214 - _CHROMEMOJOEVENTINFO._serialized_end=186418 - _CHROMERENDERERSCHEDULERSTATE._serialized_start=186420 - _CHROMERENDERERSCHEDULERSTATE._serialized_end=186546 - _CHROMEUSEREVENT._serialized_start=186548 - _CHROMEUSEREVENT._serialized_end=186602 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186604 - _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186684 - _SCREENSHOT._serialized_start=186686 - _SCREENSHOT._serialized_end=186717 - _TASKEXECUTION._serialized_start=186719 - _TASKEXECUTION._serialized_end=186759 - _TRACKEVENT._serialized_start=186762 - _TRACKEVENT._serialized_end=189929 - _TRACKEVENT_LEGACYEVENT._serialized_start=188951 - _TRACKEVENT_LEGACYEVENT._serialized_end=189633 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189442 - _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189522 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189524 - _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189621 - _TRACKEVENT_TYPE._serialized_start=189635 - _TRACKEVENT_TYPE._serialized_end=189741 - _TRACKEVENTDEFAULTS._serialized_start=189931 - _TRACKEVENTDEFAULTS._serialized_end=190048 - _EVENTCATEGORY._serialized_start=190050 - _EVENTCATEGORY._serialized_end=190092 - _EVENTNAME._serialized_start=190094 - _EVENTNAME._serialized_end=190132 - _INTERNEDDATA._serialized_start=190135 - _INTERNEDDATA._serialized_end=192250 - _MEMORYTRACKERSNAPSHOT._serialized_start=192253 - _MEMORYTRACKERSNAPSHOT._serialized_end=193261 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192468 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193186 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192682 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193093 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=192866 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193093 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=193047 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193093 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193095 - _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193186 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193188 - _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193261 - _PERFETTOMETATRACE._serialized_start=193264 - _PERFETTOMETATRACE._serialized_end=193809 - _PERFETTOMETATRACE_ARG._serialized_start=193621 - _PERFETTOMETATRACE_ARG._serialized_end=193748 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193750 - _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=193794 - _TRACINGSERVICEEVENT._serialized_start=193812 - _TRACINGSERVICEEVENT._serialized_end=194462 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194290 - _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194448 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194387 - _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194448 - _ANDROIDENERGYCONSUMER._serialized_start=194464 - _ANDROIDENERGYCONSUMER._serialized_end=194560 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194562 - _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194661 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194664 - _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=194984 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=194931 - _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=194984 - _ENTITYSTATERESIDENCY._serialized_start=194987 - _ENTITYSTATERESIDENCY._serialized_end=195430 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195168 - _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195270 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195273 - _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195430 - _BATTERYCOUNTERS._serialized_start=195433 - _BATTERYCOUNTERS._serialized_end=195610 - _POWERRAILS._serialized_start=195613 - _POWERRAILS._serialized_end=195940 - _POWERRAILS_RAILDESCRIPTOR._serialized_start=195779 - _POWERRAILS_RAILDESCRIPTOR._serialized_end=195873 - _POWERRAILS_ENERGYDATA._serialized_start=195875 - _POWERRAILS_ENERGYDATA._serialized_end=195940 - _OBFUSCATEDMEMBER._serialized_start=195942 - _OBFUSCATEDMEMBER._serialized_end=196012 - _OBFUSCATEDCLASS._serialized_start=196015 - _OBFUSCATEDCLASS._serialized_end=196210 - _DEOBFUSCATIONMAPPING._serialized_start=196213 - _DEOBFUSCATIONMAPPING._serialized_end=196341 - _HEAPGRAPHROOT._serialized_start=196344 - _HEAPGRAPHROOT._serialized_end=196782 - _HEAPGRAPHROOT_TYPE._serialized_start=196442 - _HEAPGRAPHROOT_TYPE._serialized_end=196782 - _HEAPGRAPHTYPE._serialized_start=196785 - _HEAPGRAPHTYPE._serialized_end=197269 - _HEAPGRAPHTYPE_KIND._serialized_start=197007 - _HEAPGRAPHTYPE_KIND._serialized_end=197269 - _HEAPGRAPHOBJECT._serialized_start=197272 - _HEAPGRAPHOBJECT._serialized_end=197728 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197614 - _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197714 - _HEAPGRAPH._serialized_start=197731 - _HEAPGRAPH._serialized_end=198051 - _PROFILEPACKET._serialized_start=198054 - _PROFILEPACKET._serialized_end=199522 - _PROFILEPACKET_HEAPSAMPLE._serialized_start=198362 - _PROFILEPACKET_HEAPSAMPLE._serialized_end=198548 - _PROFILEPACKET_HISTOGRAM._serialized_start=198551 - _PROFILEPACKET_HISTOGRAM._serialized_end=198694 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198630 - _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198694 - _PROFILEPACKET_PROCESSSTATS._serialized_start=198697 - _PROFILEPACKET_PROCESSSTATS._serialized_end=198919 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=198922 - _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199522 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199417 - _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199522 - _STREAMINGALLOCATION._serialized_start=199525 - _STREAMINGALLOCATION._serialized_end=199682 - _STREAMINGFREE._serialized_start=199684 - _STREAMINGFREE._serialized_end=199758 - _STREAMINGPROFILEPACKET._serialized_start=199760 - _STREAMINGPROFILEPACKET._serialized_end=199861 - _PROFILING._serialized_start=199864 - _PROFILING._serialized_end=200520 - _PROFILING_CPUMODE._serialized_start=199877 - _PROFILING_CPUMODE._serialized_end=200001 - _PROFILING_STACKUNWINDERROR._serialized_start=200004 - _PROFILING_STACKUNWINDERROR._serialized_end=200520 - _PERFSAMPLE._serialized_start=200523 - _PERFSAMPLE._serialized_end=201402 - _PERFSAMPLE_PRODUCEREVENT._serialized_start=200947 - _PERFSAMPLE_PRODUCEREVENT._serialized_end=201167 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=201058 - _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201136 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201170 - _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201343 - _PERFSAMPLEDEFAULTS._serialized_start=201405 - _PERFSAMPLEDEFAULTS._serialized_end=201591 - _SMAPSENTRY._serialized_start=201594 - _SMAPSENTRY._serialized_end=201981 - _SMAPSPACKET._serialized_start=201983 - _SMAPSPACKET._serialized_end=202055 - _PROCESSSTATS._serialized_start=202058 - _PROCESSSTATS._serialized_end=202885 - _PROCESSSTATS_THREAD._serialized_start=202166 - _PROCESSSTATS_THREAD._serialized_end=202205 - _PROCESSSTATS_FDINFO._serialized_start=202207 - _PROCESSSTATS_FDINFO._serialized_end=202241 - _PROCESSSTATS_PROCESS._serialized_start=202244 - _PROCESSSTATS_PROCESS._serialized_end=202885 - _PROCESSTREE._serialized_start=202888 - _PROCESSTREE._serialized_end=203280 - _PROCESSTREE_THREAD._serialized_start=203048 - _PROCESSTREE_THREAD._serialized_end=203112 - _PROCESSTREE_PROCESS._serialized_start=203115 - _PROCESSTREE_PROCESS._serialized_end=203280 - _REMOTECLOCKSYNC._serialized_start=203283 - _REMOTECLOCKSYNC._serialized_end=203494 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203372 - _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203494 - _ATOM._serialized_start=203496 - _ATOM._serialized_end=203502 - _STATSDATOM._serialized_start=203504 - _STATSDATOM._serialized_end=203578 - _SYSSTATS._serialized_start=203581 - _SYSSTATS._serialized_end=205605 - _SYSSTATS_MEMINFOVALUE._serialized_start=204369 - _SYSSTATS_MEMINFOVALUE._serialized_end=204445 - _SYSSTATS_VMSTATVALUE._serialized_start=204447 - _SYSSTATS_VMSTATVALUE._serialized_end=204521 - _SYSSTATS_CPUTIMES._serialized_start=204524 - _SYSSTATS_CPUTIMES._serialized_end=204704 - _SYSSTATS_INTERRUPTCOUNT._serialized_start=204706 - _SYSSTATS_INTERRUPTCOUNT._serialized_end=204750 - _SYSSTATS_DEVFREQVALUE._serialized_start=204752 - _SYSSTATS_DEVFREQVALUE._serialized_end=204794 - _SYSSTATS_BUDDYINFO._serialized_start=204796 - _SYSSTATS_BUDDYINFO._serialized_end=204856 - _SYSSTATS_DISKSTAT._serialized_start=204859 - _SYSSTATS_DISKSTAT._serialized_end=205074 - _SYSSTATS_PSISAMPLE._serialized_start=205077 - _SYSSTATS_PSISAMPLE._serialized_end=205385 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205176 - _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205385 - _SYSSTATS_THERMALZONE._serialized_start=205387 - _SYSSTATS_THERMALZONE._serialized_end=205442 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205444 - _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205499 - _SYSSTATS_CPUIDLESTATE._serialized_start=205501 - _SYSSTATS_CPUIDLESTATE._serialized_end=205605 - _CPUINFO._serialized_start=205608 - _CPUINFO._serialized_end=205940 - _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205663 - _CPUINFO_ARMCPUIDENTIFIER._serialized_end=205773 - _CPUINFO_CPU._serialized_start=205776 - _CPUINFO_CPU._serialized_end=205940 - _TESTEVENT._serialized_start=205943 - _TESTEVENT._serialized_end=206322 - _TESTEVENT_TESTPAYLOAD._serialized_start=206080 - _TESTEVENT_TESTPAYLOAD._serialized_end=206322 - _TRACEPACKETDEFAULTS._serialized_start=206325 - _TRACEPACKETDEFAULTS._serialized_end=206567 - _TRACEUUID._serialized_start=206569 - _TRACEUUID._serialized_end=206606 - _PROCESSDESCRIPTOR._serialized_start=206609 - _PROCESSDESCRIPTOR._serialized_end=207096 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=206871 - _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207096 - _TRACKEVENTRANGEOFINTEREST._serialized_start=207098 - _TRACKEVENTRANGEOFINTEREST._serialized_end=207143 - _THREADDESCRIPTOR._serialized_start=207146 - _THREADDESCRIPTOR._serialized_end=207902 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207431 - _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=207902 - _CHROMEPROCESSDESCRIPTOR._serialized_start=207905 - _CHROMEPROCESSDESCRIPTOR._serialized_end=208060 - _CHROMETHREADDESCRIPTOR._serialized_start=208062 - _CHROMETHREADDESCRIPTOR._serialized_end=208160 - _COUNTERDESCRIPTOR._serialized_start=208163 - _COUNTERDESCRIPTOR._serialized_end=208618 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208422 - _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208533 - _COUNTERDESCRIPTOR_UNIT._serialized_start=208535 - _COUNTERDESCRIPTOR_UNIT._serialized_end=208618 - _TRACKDESCRIPTOR._serialized_start=208621 - _TRACKDESCRIPTOR._serialized_end=209673 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209345 - _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209431 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209434 - _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209620 - _TRANSLATIONTABLE._serialized_start=209676 - _TRANSLATIONTABLE._serialized_end=210169 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210172 - _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210346 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210297 - _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210346 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210349 - _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210540 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210485 - _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210540 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210543 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=210898 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=210790 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=210843 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=210845 - _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=210898 - _SLICENAMETRANSLATIONTABLE._serialized_start=210901 - _SLICENAMETRANSLATIONTABLE._serialized_end=211095 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211035 - _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211095 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211098 - _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211306 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211035 - _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211095 - _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211309 - _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211473 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210297 - _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210346 - _TRIGGER._serialized_start=211475 - _TRIGGER._serialized_end=211582 - _UISTATE._serialized_start=211585 - _UISTATE._serialized_end=211782 - _UISTATE_HIGHLIGHTPROCESS._serialized_start=211718 - _UISTATE_HIGHLIGHTPROCESS._serialized_end=211782 - _TRACEPACKET._serialized_start=211785 - _TRACEPACKET._serialized_end=217969 - _TRACEPACKET_SEQUENCEFLAGS._serialized_start=217782 - _TRACEPACKET_SEQUENCEFLAGS._serialized_end=217886 - _TRACE._serialized_start=217971 - _TRACE._serialized_end=218024 + _BLURREGION._serialized_end=37325 + _COLORTRANSFORMPROTO._serialized_start=37327 + _COLORTRANSFORMPROTO._serialized_end=37365 + _BOXSHADOWSETTINGS._serialized_start=37368 + _BOXSHADOWSETTINGS._serialized_end=37574 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_start=37462 + _BOXSHADOWSETTINGS_BOXSHADOWPARAMS._serialized_end=37574 + _BORDERSETTINGS._serialized_start=37576 + _BORDERSETTINGS._serialized_end=37629 + _LAYERSTRACEFILEPROTO._serialized_start=37632 + _LAYERSTRACEFILEPROTO._serialized_end=37848 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_start=37774 + _LAYERSTRACEFILEPROTO_MAGICNUMBER._serialized_end=37848 + _LAYERSSNAPSHOTPROTO._serialized_start=37851 + _LAYERSSNAPSHOTPROTO._serialized_end=38110 + _LAYERSPROTO._serialized_start=38112 + _LAYERSPROTO._serialized_end=38170 + _DISPLAYPROTO._serialized_start=38173 + _DISPLAYPROTO._serialized_end=38438 + _LAYERPROTO._serialized_start=38441 + _LAYERPROTO._serialized_end=41204 + _LAYERPROTO_METADATAENTRY._serialized_start=41157 + _LAYERPROTO_METADATAENTRY._serialized_end=41204 + _POSITIONPROTO._serialized_start=41206 + _POSITIONPROTO._serialized_end=41243 + _FLOATRECTPROTO._serialized_start=41245 + _FLOATRECTPROTO._serialized_end=41319 + _CORNERRADIIPROTO._serialized_start=41321 + _CORNERRADIIPROTO._serialized_end=41387 + _ACTIVEBUFFERPROTO._serialized_start=41389 + _ACTIVEBUFFERPROTO._serialized_end=41486 + _BARRIERLAYERPROTO._serialized_start=41488 + _BARRIERLAYERPROTO._serialized_end=41541 + _TRANSACTIONTRACEFILE._serialized_start=41544 + _TRANSACTIONTRACEFILE._serialized_end=41779 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_start=41705 + _TRANSACTIONTRACEFILE_MAGICNUMBER._serialized_end=41779 + _TRANSACTIONTRACEENTRY._serialized_start=41782 + _TRANSACTIONTRACEENTRY._serialized_end=42184 + _DISPLAYINFO._serialized_start=42187 + _DISPLAYINFO._serialized_end=42521 + _LAYERCREATIONARGS._serialized_start=42524 + _LAYERCREATIONARGS._serialized_end=42685 + _TRANSFORM._serialized_start=42687 + _TRANSFORM._serialized_end=42778 + _TRANSACTIONBARRIER._serialized_start=42780 + _TRANSACTIONBARRIER._serialized_end=42837 + _TRANSACTIONSTATE._serialized_start=42840 + _TRANSACTIONSTATE._serialized_end=43197 + _LAYERSTATE._serialized_start=43200 + _LAYERSTATE._serialized_end=47892 + _LAYERSTATE_MATRIX22._serialized_start=44911 + _LAYERSTATE_MATRIX22._serialized_end=44977 + _LAYERSTATE_CORNERRADII._serialized_start=44979 + _LAYERSTATE_CORNERRADII._serialized_end=45040 + _LAYERSTATE_COLOR3._serialized_start=45042 + _LAYERSTATE_COLOR3._serialized_end=45083 + _LAYERSTATE_BUFFERDATA._serialized_start=45086 + _LAYERSTATE_BUFFERDATA._serialized_end=45874 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_start=45302 + _LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE._serialized_end=45413 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_start=45416 + _LAYERSTATE_BUFFERDATA_PIXELFORMAT._serialized_end=45874 + _LAYERSTATE_WINDOWINFO._serialized_start=45877 + _LAYERSTATE_WINDOWINFO._serialized_end=46291 + _LAYERSTATE_CHANGESLSB._serialized_start=46294 + _LAYERSTATE_CHANGESLSB._serialized_end=47054 + _LAYERSTATE_CHANGESMSB._serialized_start=47057 + _LAYERSTATE_CHANGESMSB._serialized_end=47677 + _LAYERSTATE_FLAGS._serialized_start=47680 + _LAYERSTATE_FLAGS._serialized_end=47842 + _LAYERSTATE_DROPINPUTMODE._serialized_start=47844 + _LAYERSTATE_DROPINPUTMODE._serialized_end=47892 + _DISPLAYSTATE._serialized_start=47895 + _DISPLAYSTATE._serialized_end=48298 + _DISPLAYSTATE_CHANGES._serialized_start=48151 + _DISPLAYSTATE_CHANGES._serialized_end=48298 + _WINSCOPEEXTENSIONS._serialized_start=48300 + _WINSCOPEEXTENSIONS._serialized_end=48326 + _CHROMEBENCHMARKMETADATA._serialized_start=48329 + _CHROMEBENCHMARKMETADATA._serialized_end=48571 + _CHROMEMETADATAPACKET._serialized_start=48574 + _CHROMEMETADATAPACKET._serialized_end=48853 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_start=48813 + _CHROMEMETADATAPACKET_FINCHHASH._serialized_end=48853 + _BACKGROUNDTRACINGMETADATA._serialized_start=48856 + _BACKGROUNDTRACINGMETADATA._serialized_end=49901 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_start=49072 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE._serialized_end=49901 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_start=49376 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE._serialized_end=49482 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_start=49485 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE._serialized_end=49763 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_start=49630 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE._serialized_end=49763 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_start=49766 + _BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE._serialized_end=49901 + _CHROMETRACEDVALUE._serialized_start=49904 + _CHROMETRACEDVALUE._serialized_end=50243 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_start=50210 + _CHROMETRACEDVALUE_NESTEDTYPE._serialized_end=50243 + _CHROMESTRINGTABLEENTRY._serialized_start=50245 + _CHROMESTRINGTABLEENTRY._serialized_end=50299 + _CHROMETRACEEVENT._serialized_start=50302 + _CHROMETRACEEVENT._serialized_end=50943 + _CHROMETRACEEVENT_ARG._serialized_start=50675 + _CHROMETRACEEVENT_ARG._serialized_end=50943 + _CHROMEMETADATA._serialized_start=50946 + _CHROMEMETADATA._serialized_end=51074 + _CHROMELEGACYJSONTRACE._serialized_start=51077 + _CHROMELEGACYJSONTRACE._serialized_end=51225 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_start=51180 + _CHROMELEGACYJSONTRACE_TRACETYPE._serialized_end=51225 + _CHROMEEVENTBUNDLE._serialized_start=51228 + _CHROMEEVENTBUNDLE._serialized_end=51523 + _CHROMETRIGGER._serialized_start=51525 + _CHROMETRIGGER._serialized_end=51606 + _V8STRING._serialized_start=51608 + _V8STRING._serialized_end=51694 + _INTERNEDV8STRING._serialized_start=51696 + _INTERNEDV8STRING._serialized_end=51803 + _INTERNEDV8JSSCRIPT._serialized_start=51806 + _INTERNEDV8JSSCRIPT._serialized_end=52131 + _INTERNEDV8JSSCRIPT_TYPE._serialized_start=52001 + _INTERNEDV8JSSCRIPT_TYPE._serialized_end=52131 + _INTERNEDV8WASMSCRIPT._serialized_start=52133 + _INTERNEDV8WASMSCRIPT._serialized_end=52220 + _INTERNEDV8JSFUNCTION._serialized_start=52223 + _INTERNEDV8JSFUNCTION._serialized_end=53332 + _INTERNEDV8JSFUNCTION_KIND._serialized_start=52450 + _INTERNEDV8JSFUNCTION_KIND._serialized_end=53332 + _INTERNEDV8ISOLATE._serialized_start=53335 + _INTERNEDV8ISOLATE._serialized_end=53662 + _INTERNEDV8ISOLATE_CODERANGE._serialized_start=53543 + _INTERNEDV8ISOLATE_CODERANGE._serialized_end=53662 + _V8JSCODE._serialized_start=53665 + _V8JSCODE._serialized_end=54027 + _V8JSCODE_TIER._serialized_start=53891 + _V8JSCODE_TIER._serialized_end=54011 + _V8INTERNALCODE._serialized_start=54030 + _V8INTERNALCODE._serialized_end=54511 + _V8INTERNALCODE_TYPE._serialized_start=54253 + _V8INTERNALCODE_TYPE._serialized_end=54511 + _V8WASMCODE._serialized_start=54514 + _V8WASMCODE._serialized_end=54837 + _V8WASMCODE_TIER._serialized_start=54776 + _V8WASMCODE_TIER._serialized_end=54837 + _V8REGEXPCODE._serialized_start=54840 + _V8REGEXPCODE._serialized_end=55016 + _V8CODEMOVE._serialized_start=55019 + _V8CODEMOVE._serialized_end=55244 + _V8CODEDEFAULTS._serialized_start=55246 + _V8CODEDEFAULTS._serialized_end=55275 + _CLOCKSNAPSHOT._serialized_start=55278 + _CLOCKSNAPSHOT._serialized_end=55680 + _CLOCKSNAPSHOT_CLOCK._serialized_start=55410 + _CLOCKSNAPSHOT_CLOCK._serialized_end=55680 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_start=55509 + _CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS._serialized_end=55680 + _CSWITCHETWEVENT._serialized_start=55683 + _CSWITCHETWEVENT._serialized_end=57301 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_start=56259 + _CSWITCHETWEVENT_OLDTHREADWAITREASON._serialized_end=57004 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_start=57006 + _CSWITCHETWEVENT_OLDTHREADWAITMODE._serialized_end=57057 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_start=57060 + _CSWITCHETWEVENT_OLDTHREADSTATE._serialized_end=57195 + _READYTHREADETWEVENT._serialized_start=57304 + _READYTHREADETWEVENT._serialized_end=57824 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_start=57563 + _READYTHREADETWEVENT_ADJUSTREASON._serialized_end=57651 + _READYTHREADETWEVENT_TRACEFLAG._serialized_start=57653 + _READYTHREADETWEVENT_TRACEFLAG._serialized_end=57775 + _MEMINFOETWEVENT._serialized_start=57827 + _MEMINFOETWEVENT._serialized_end=58227 + _FILEIOCREATEETWEVENT._serialized_start=58230 + _FILEIOCREATEETWEVENT._serialized_end=58394 + _FILEIODIRENUMETWEVENT._serialized_start=58397 + _FILEIODIRENUMETWEVENT._serialized_end=58565 + _FILEIOINFOETWEVENT._serialized_start=58568 + _FILEIOINFOETWEVENT._serialized_end=58698 + _FILEIOREADWRITEETWEVENT._serialized_start=58701 + _FILEIOREADWRITEETWEVENT._serialized_end=58847 + _FILEIOSIMPLEOPETWEVENT._serialized_start=58849 + _FILEIOSIMPLEOPETWEVENT._serialized_end=58943 + _FILEIOOPENDETWEVENT._serialized_start=58945 + _FILEIOOPENDETWEVENT._serialized_end=59022 + _ETWTRACEEVENT._serialized_start=59025 + _ETWTRACEEVENT._serialized_end=59670 + _ETWTRACEEVENTBUNDLE._serialized_start=59672 + _ETWTRACEEVENTBUNDLE._serialized_end=59753 + _EVDEVEVENT._serialized_start=59756 + _EVDEVEVENT._serialized_end=59942 + _EVDEVEVENT_INPUTEVENT._serialized_start=59852 + _EVDEVEVENT_INPUTEVENT._serialized_end=59933 + _FILEDESCRIPTORSET._serialized_start=59944 + _FILEDESCRIPTORSET._serialized_end=60015 + _FILEDESCRIPTORPROTO._serialized_start=60018 + _FILEDESCRIPTORPROTO._serialized_end=60337 + _DESCRIPTORPROTO._serialized_start=60340 + _DESCRIPTORPROTO._serialized_end=60806 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_start=60751 + _DESCRIPTORPROTO_RESERVEDRANGE._serialized_end=60794 + _UNINTERPRETEDOPTION._serialized_start=60809 + _UNINTERPRETEDOPTION._serialized_end=61095 + _UNINTERPRETEDOPTION_NAMEPART._serialized_start=61044 + _UNINTERPRETEDOPTION_NAMEPART._serialized_end=61095 + _FIELDOPTIONS._serialized_start=61097 + _FIELDOPTIONS._serialized_end=61196 + _FIELDDESCRIPTORPROTO._serialized_start=61199 + _FIELDDESCRIPTORPROTO._serialized_end=61886 + _FIELDDESCRIPTORPROTO_TYPE._serialized_start=61501 + _FIELDDESCRIPTORPROTO_TYPE._serialized_end=61811 + _FIELDDESCRIPTORPROTO_LABEL._serialized_start=61813 + _FIELDDESCRIPTORPROTO_LABEL._serialized_end=61880 + _ONEOFDESCRIPTORPROTO._serialized_start=61888 + _ONEOFDESCRIPTORPROTO._serialized_end=61972 + _ENUMDESCRIPTORPROTO._serialized_start=61975 + _ENUMDESCRIPTORPROTO._serialized_end=62103 + _ENUMVALUEDESCRIPTORPROTO._serialized_start=62105 + _ENUMVALUEDESCRIPTORPROTO._serialized_end=62167 + _ONEOFOPTIONS._serialized_start=62169 + _ONEOFOPTIONS._serialized_end=62202 + _EXTENSIONDESCRIPTOR._serialized_start=62204 + _EXTENSIONDESCRIPTOR._serialized_end=62284 + _INODEFILEMAP._serialized_start=62287 + _INODEFILEMAP._serialized_end=62551 + _INODEFILEMAP_ENTRY._serialized_start=62405 + _INODEFILEMAP_ENTRY._serialized_end=62551 + _INODEFILEMAP_ENTRY_TYPE._serialized_start=62507 + _INODEFILEMAP_ENTRY_TYPE._serialized_end=62551 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_start=62553 + _ANDROIDFSDATAREADENDFTRACEEVENT._serialized_end=62630 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_start=62633 + _ANDROIDFSDATAREADSTARTFTRACEEVENT._serialized_end=62775 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_start=62777 + _ANDROIDFSDATAWRITEENDFTRACEEVENT._serialized_end=62855 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_start=62858 + _ANDROIDFSDATAWRITESTARTFTRACEEVENT._serialized_end=63001 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_start=63003 + _ANDROIDFSFSYNCENDFTRACEEVENT._serialized_end=63077 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_start=63079 + _ANDROIDFSFSYNCSTARTFTRACEEVENT._serialized_end=63187 + _BCLIRQTRIGGERFTRACEEVENT._serialized_start=63190 + _BCLIRQTRIGGERFTRACEEVENT._serialized_end=63379 + _BINDERTRANSACTIONFTRACEEVENT._serialized_start=63382 + _BINDERTRANSACTIONFTRACEEVENT._serialized_end=63531 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_start=63533 + _BINDERTRANSACTIONRECEIVEDFTRACEEVENT._serialized_end=63589 + _BINDERSETPRIORITYFTRACEEVENT._serialized_start=63591 + _BINDERSETPRIORITYFTRACEEVENT._serialized_end=63709 + _BINDERLOCKFTRACEEVENT._serialized_start=63711 + _BINDERLOCKFTRACEEVENT._serialized_end=63747 + _BINDERLOCKEDFTRACEEVENT._serialized_start=63749 + _BINDERLOCKEDFTRACEEVENT._serialized_end=63787 + _BINDERUNLOCKFTRACEEVENT._serialized_start=63789 + _BINDERUNLOCKFTRACEEVENT._serialized_end=63827 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_start=63829 + _BINDERTRANSACTIONALLOCBUFFTRACEEVENT._serialized_end=63954 + _BINDERCOMMANDFTRACEEVENT._serialized_start=63956 + _BINDERCOMMANDFTRACEEVENT._serialized_end=63995 + _BINDERRETURNFTRACEEVENT._serialized_start=63997 + _BINDERRETURNFTRACEEVENT._serialized_end=64035 + _BLOCKRQISSUEFTRACEEVENT._serialized_start=64038 + _BLOCKRQISSUEFTRACEEVENT._serialized_end=64167 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_start=64169 + _BLOCKBIOBACKMERGEFTRACEEVENT._serialized_end=64275 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_start=64277 + _BLOCKBIOBOUNCEFTRACEEVENT._serialized_end=64380 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_start=64382 + _BLOCKBIOCOMPLETEFTRACEEVENT._serialized_end=64488 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_start=64490 + _BLOCKBIOFRONTMERGEFTRACEEVENT._serialized_end=64597 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_start=64599 + _BLOCKBIOQUEUEFTRACEEVENT._serialized_end=64701 + _BLOCKBIOREMAPFTRACEEVENT._serialized_start=64703 + _BLOCKBIOREMAPFTRACEEVENT._serialized_end=64828 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_start=64830 + _BLOCKDIRTYBUFFERFTRACEEVENT._serialized_end=64902 + _BLOCKGETRQFTRACEEVENT._serialized_start=64904 + _BLOCKGETRQFTRACEEVENT._serialized_end=65003 + _BLOCKPLUGFTRACEEVENT._serialized_start=65005 + _BLOCKPLUGFTRACEEVENT._serialized_end=65041 + _BLOCKRQABORTFTRACEEVENT._serialized_start=65043 + _BLOCKRQABORTFTRACEEVENT._serialized_end=65159 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_start=65162 + _BLOCKRQCOMPLETEFTRACEEVENT._serialized_end=65296 + _BLOCKRQINSERTFTRACEEVENT._serialized_start=65299 + _BLOCKRQINSERTFTRACEEVENT._serialized_end=65429 + _BLOCKRQREMAPFTRACEEVENT._serialized_start=65432 + _BLOCKRQREMAPFTRACEEVENT._serialized_end=65573 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_start=65575 + _BLOCKRQREQUEUEFTRACEEVENT._serialized_end=65693 + _BLOCKSLEEPRQFTRACEEVENT._serialized_start=65695 + _BLOCKSLEEPRQFTRACEEVENT._serialized_end=65796 + _BLOCKSPLITFTRACEEVENT._serialized_start=65798 + _BLOCKSPLITFTRACEEVENT._serialized_end=65898 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_start=65900 + _BLOCKTOUCHBUFFERFTRACEEVENT._serialized_end=65972 + _BLOCKUNPLUGFTRACEEVENT._serialized_start=65974 + _BLOCKUNPLUGFTRACEEVENT._serialized_end=66027 + _BLOCKIOSTARTFTRACEEVENT._serialized_start=66030 + _BLOCKIOSTARTFTRACEEVENT._serialized_end=66175 + _BLOCKIODONEFTRACEEVENT._serialized_start=66178 + _BLOCKIODONEFTRACEEVENT._serialized_end=66322 + _CGROUPATTACHTASKFTRACEEVENT._serialized_start=66325 + _CGROUPATTACHTASKFTRACEEVENT._serialized_end=66467 + _CGROUPMKDIRFTRACEEVENT._serialized_start=66469 + _CGROUPMKDIRFTRACEEVENT._serialized_end=66563 + _CGROUPREMOUNTFTRACEEVENT._serialized_start=66565 + _CGROUPREMOUNTFTRACEEVENT._serialized_end=66636 + _CGROUPRMDIRFTRACEEVENT._serialized_start=66638 + _CGROUPRMDIRFTRACEEVENT._serialized_end=66732 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_start=66735 + _CGROUPTRANSFERTASKSFTRACEEVENT._serialized_end=66880 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_start=66882 + _CGROUPDESTROYROOTFTRACEEVENT._serialized_end=66957 + _CGROUPRELEASEFTRACEEVENT._serialized_start=66959 + _CGROUPRELEASEFTRACEEVENT._serialized_end=67055 + _CGROUPRENAMEFTRACEEVENT._serialized_start=67057 + _CGROUPRENAMEFTRACEEVENT._serialized_end=67152 + _CGROUPSETUPROOTFTRACEEVENT._serialized_start=67154 + _CGROUPSETUPROOTFTRACEEVENT._serialized_end=67227 + _CLKENABLEFTRACEEVENT._serialized_start=67229 + _CLKENABLEFTRACEEVENT._serialized_end=67265 + _CLKDISABLEFTRACEEVENT._serialized_start=67267 + _CLKDISABLEFTRACEEVENT._serialized_end=67304 + _CLKSETRATEFTRACEEVENT._serialized_start=67306 + _CLKSETRATEFTRACEEVENT._serialized_end=67357 + _CMAALLOCSTARTFTRACEEVENT._serialized_start=67359 + _CMAALLOCSTARTFTRACEEVENT._serialized_end=67429 + _CMAALLOCINFOFTRACEEVENT._serialized_start=67432 + _CMAALLOCINFOFTRACEEVENT._serialized_end=67628 + _CMAALLOCFINISHFTRACEEVENT._serialized_start=67630 + _CMAALLOCFINISHFTRACEEVENT._serialized_end=67745 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_start=67747 + _MMCOMPACTIONBEGINFTRACEEVENT._serialized_end=67868 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_start=67871 + _MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT._serialized_end=68015 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_start=68018 + _MMCOMPACTIONDEFERREDFTRACEEVENT._serialized_end=68155 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_start=68158 + _MMCOMPACTIONDEFERRESETFTRACEEVENT._serialized_end=68297 + _MMCOMPACTIONENDFTRACEEVENT._serialized_start=68300 + _MMCOMPACTIONENDFTRACEEVENT._serialized_end=68435 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_start=68437 + _MMCOMPACTIONFINISHEDFTRACEEVENT._serialized_end=68524 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_start=68526 + _MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT._serialized_end=68641 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_start=68643 + _MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT._serialized_end=68761 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_start=68763 + _MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT._serialized_end=68815 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_start=68817 + _MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT._serialized_end=68931 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_start=68933 + _MMCOMPACTIONMIGRATEPAGESFTRACEEVENT._serialized_end=69010 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_start=69012 + _MMCOMPACTIONSUITABLEFTRACEEVENT._serialized_end=69099 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_start=69101 + _MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT._serialized_end=69204 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_start=69206 + _MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT._serialized_end=69322 + _PARAMSETVALUECPMFTRACEEVENT._serialized_start=69324 + _PARAMSETVALUECPMFTRACEEVENT._serialized_end=69401 + _CPUHPEXITFTRACEEVENT._serialized_start=69403 + _CPUHPEXITFTRACEEVENT._serialized_end=69479 + _CPUHPMULTIENTERFTRACEEVENT._serialized_start=69481 + _CPUHPMULTIENTERFTRACEEVENT._serialized_end=69564 + _CPUHPENTERFTRACEEVENT._serialized_start=69566 + _CPUHPENTERFTRACEEVENT._serialized_end=69644 + _CPUHPLATENCYFTRACEEVENT._serialized_start=69646 + _CPUHPLATENCYFTRACEEVENT._serialized_end=69726 + _CPUHPPAUSEFTRACEEVENT._serialized_start=69728 + _CPUHPPAUSEFTRACEEVENT._serialized_end=69815 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_start=69818 + _CROSECSENSORHUBDATAFTRACEEVENT._serialized_end=69988 + _DCVSHFREQFTRACEEVENT._serialized_start=69990 + _DCVSHFREQFTRACEEVENT._serialized_end=70039 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_start=70041 + _DEVFREQFREQUENCYFTRACEEVENT._serialized_end=70160 + _DMAFENCEINITFTRACEEVENT._serialized_start=70162 + _DMAFENCEINITFTRACEEVENT._serialized_end=70253 + _DMAFENCEEMITFTRACEEVENT._serialized_start=70255 + _DMAFENCEEMITFTRACEEVENT._serialized_end=70346 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_start=70348 + _DMAFENCESIGNALEDFTRACEEVENT._serialized_end=70443 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_start=70445 + _DMAFENCEWAITSTARTFTRACEEVENT._serialized_end=70541 + _DMAFENCEWAITENDFTRACEEVENT._serialized_start=70543 + _DMAFENCEWAITENDFTRACEEVENT._serialized_end=70637 + _DMAHEAPSTATFTRACEEVENT._serialized_start=70639 + _DMAHEAPSTATFTRACEEVENT._serialized_end=70716 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_start=70719 + _DPUTRACINGMARKWRITEFTRACEEVENT._serialized_end=70848 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_start=70850 + _DPUDSICMDFIFOSTATUSFTRACEEVENT._serialized_end=70915 + _DPUDSIRXFTRACEEVENT._serialized_start=70917 + _DPUDSIRXFTRACEEVENT._serialized_end=70967 + _DPUDSITXFTRACEEVENT._serialized_start=70969 + _DPUDSITXFTRACEEVENT._serialized_end=71052 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_start=71054 + _DPUDISPDPUUNDERRUNFTRACEEVENT._serialized_end=71142 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_start=71144 + _DPUDISPVBLANKIRQENABLEFTRACEEVENT._serialized_end=71226 + _DRMVBLANKEVENTFTRACEEVENT._serialized_start=71228 + _DRMVBLANKEVENTFTRACEEVENT._serialized_end=71315 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_start=71317 + _DRMVBLANKEVENTDELIVEREDFTRACEEVENT._serialized_end=71394 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_start=71397 + _DWC3ALLOCREQUESTFTRACEEVENT._serialized_end=71559 + _DWC3COMPLETETRBFTRACEEVENT._serialized_start=71562 + _DWC3COMPLETETRBFTRACEEVENT._serialized_end=71754 + _DWC3CTRLREQFTRACEEVENT._serialized_start=71756 + _DWC3CTRLREQFTRACEEVENT._serialized_end=71882 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_start=71885 + _DWC3EPDEQUEUEFTRACEEVENT._serialized_end=72044 + _DWC3EPQUEUEFTRACEEVENT._serialized_start=72047 + _DWC3EPQUEUEFTRACEEVENT._serialized_end=72204 + _DWC3EVENTFTRACEEVENT._serialized_start=72206 + _DWC3EVENTFTRACEEVENT._serialized_end=72274 + _DWC3FREEREQUESTFTRACEEVENT._serialized_start=72277 + _DWC3FREEREQUESTFTRACEEVENT._serialized_end=72438 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_start=72440 + _DWC3GADGETEPCMDFTRACEEVENT._serialized_end=72563 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_start=72566 + _DWC3GADGETEPDISABLEFTRACEEVENT._serialized_end=72771 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_start=72774 + _DWC3GADGETEPENABLEFTRACEEVENT._serialized_end=72978 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_start=72980 + _DWC3GADGETGENERICCMDFTRACEEVENT._serialized_end=73057 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_start=73060 + _DWC3GADGETGIVEBACKFTRACEEVENT._serialized_end=73224 + _DWC3PREPARETRBFTRACEEVENT._serialized_start=73227 + _DWC3PREPARETRBFTRACEEVENT._serialized_end=73418 + _DWC3READLFTRACEEVENT._serialized_start=73420 + _DWC3READLFTRACEEVENT._serialized_end=73500 + _DWC3WRITELFTRACEEVENT._serialized_start=73502 + _DWC3WRITELFTRACEEVENT._serialized_end=73583 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_start=73585 + _EXT4DAWRITEBEGINFTRACEEVENT._serialized_end=73681 + _EXT4DAWRITEENDFTRACEEVENT._serialized_start=73683 + _EXT4DAWRITEENDFTRACEEVENT._serialized_end=73778 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_start=73780 + _EXT4SYNCFILEENTERFTRACEEVENT._serialized_end=73870 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_start=73872 + _EXT4SYNCFILEEXITFTRACEEVENT._serialized_end=73940 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_start=73942 + _EXT4ALLOCDABLOCKSFTRACEEVENT._serialized_end=74040 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_start=74043 + _EXT4ALLOCATEBLOCKSFTRACEEVENT._serialized_end=74236 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_start=74238 + _EXT4ALLOCATEINODEFTRACEEVENT._serialized_end=74321 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_start=74323 + _EXT4BEGINORDEREDTRUNCATEFTRACEEVENT._serialized_end=74404 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_start=74406 + _EXT4COLLAPSERANGEFTRACEEVENT._serialized_end=74491 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_start=74494 + _EXT4DARELEASESPACEFTRACEEVENT._serialized_end=74696 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_start=74699 + _EXT4DARESERVESPACEFTRACEEVENT._serialized_end=74867 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_start=74870 + _EXT4DAUPDATERESERVESPACEFTRACEEVENT._serialized_end=75098 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_start=75101 + _EXT4DAWRITEPAGESFTRACEEVENT._serialized_end=75308 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_start=75310 + _EXT4DAWRITEPAGESEXTENTFTRACEEVENT._serialized_end=75413 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_start=75415 + _EXT4DIRECTIOENTERFTRACEEVENT._serialized_end=75509 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_start=75511 + _EXT4DIRECTIOEXITFTRACEEVENT._serialized_end=75617 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_start=75619 + _EXT4DISCARDBLOCKSFTRACEEVENT._serialized_end=75690 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=75692 + _EXT4DISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=75785 + _EXT4DROPINODEFTRACEEVENT._serialized_start=75787 + _EXT4DROPINODEFTRACEEVENT._serialized_end=75853 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_start=75855 + _EXT4ESCACHEEXTENTFTRACEEVENT._serialized_end=75968 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_start=75970 + _EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT._serialized_end=76056 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_start=76059 + _EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT._serialized_end=76187 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_start=76189 + _EXT4ESINSERTEXTENTFTRACEEVENT._serialized_end=76303 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_start=76305 + _EXT4ESLOOKUPEXTENTENTERFTRACEEVENT._serialized_end=76381 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_start=76384 + _EXT4ESLOOKUPEXTENTEXITFTRACEEVENT._serialized_end=76517 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_start=76519 + _EXT4ESREMOVEEXTENTFTRACEEVENT._serialized_end=76603 + _EXT4ESSHRINKFTRACEEVENT._serialized_start=76605 + _EXT4ESSHRINKFTRACEEVENT._serialized_end=76718 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_start=76720 + _EXT4ESSHRINKCOUNTFTRACEEVENT._serialized_end=76802 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_start=76804 + _EXT4ESSHRINKSCANENTERFTRACEEVENT._serialized_end=76890 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_start=76892 + _EXT4ESSHRINKSCANEXITFTRACEEVENT._serialized_end=76976 + _EXT4EVICTINODEFTRACEEVENT._serialized_start=76978 + _EXT4EVICTINODEFTRACEEVENT._serialized_end=77046 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_start=77049 + _EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT._serialized_end=77198 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_start=77201 + _EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT._serialized_end=77400 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_start=77403 + _EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT._serialized_end=77562 + _EXT4EXTINCACHEFTRACEEVENT._serialized_start=77564 + _EXT4EXTINCACHEFTRACEEVENT._serialized_end=77644 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_start=77646 + _EXT4EXTLOADEXTENTFTRACEEVENT._serialized_end=77730 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_start=77732 + _EXT4EXTMAPBLOCKSENTERFTRACEEVENT._serialized_end=77834 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_start=77837 + _EXT4EXTMAPBLOCKSEXITFTRACEEVENT._serialized_end=77981 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_start=77983 + _EXT4EXTPUTINCACHEFTRACEEVENT._serialized_end=78081 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_start=78083 + _EXT4EXTREMOVESPACEFTRACEEVENT._serialized_end=78183 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_start=78186 + _EXT4EXTREMOVESPACEDONEFTRACEEVENT._serialized_end=78379 + _EXT4EXTRMIDXFTRACEEVENT._serialized_start=78381 + _EXT4EXTRMIDXFTRACEEVENT._serialized_end=78446 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_start=78449 + _EXT4EXTRMLEAFFTRACEEVENT._serialized_end=78635 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_start=78637 + _EXT4EXTSHOWEXTENTFTRACEEVENT._serialized_end=78734 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_start=78736 + _EXT4FALLOCATEENTERFTRACEEVENT._serialized_end=78849 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_start=78851 + _EXT4FALLOCATEEXITFTRACEEVENT._serialized_end=78949 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_start=78952 + _EXT4FINDDELALLOCRANGEFTRACEEVENT._serialized_end=79089 + _EXT4FORGETFTRACEEVENT._serialized_start=79091 + _EXT4FORGETFTRACEEVENT._serialized_end=79190 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_start=79192 + _EXT4FREEBLOCKSFTRACEEVENT._serialized_end=79304 + _EXT4FREEINODEFTRACEEVENT._serialized_start=79306 + _EXT4FREEINODEFTRACEEVENT._serialized_end=79414 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_start=79416 + _EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT._serialized_end=79541 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_start=79543 + _EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT._serialized_end=79636 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_start=79638 + _EXT4INDMAPBLOCKSENTERFTRACEEVENT._serialized_end=79740 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_start=79743 + _EXT4INDMAPBLOCKSEXITFTRACEEVENT._serialized_end=79887 + _EXT4INSERTRANGEFTRACEEVENT._serialized_start=79889 + _EXT4INSERTRANGEFTRACEEVENT._serialized_end=79972 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_start=79974 + _EXT4INVALIDATEPAGEFTRACEEVENT._serialized_end=80078 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_start=80081 + _EXT4JOURNALSTARTFTRACEEVENT._serialized_end=80210 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_start=80212 + _EXT4JOURNALSTARTRESERVEDFTRACEEVENT._serialized_end=80290 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_start=80292 + _EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT._serialized_end=80406 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_start=80408 + _EXT4JOURNALLEDWRITEENDFTRACEEVENT._serialized_end=80511 + _EXT4LOADINODEFTRACEEVENT._serialized_start=80513 + _EXT4LOADINODEFTRACEEVENT._serialized_end=80565 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_start=80567 + _EXT4LOADINODEBITMAPFTRACEEVENT._serialized_end=80627 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_start=80629 + _EXT4MARKINODEDIRTYFTRACEEVENT._serialized_end=80698 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_start=80700 + _EXT4MBBITMAPLOADFTRACEEVENT._serialized_end=80757 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_start=80759 + _EXT4MBBUDDYBITMAPLOADFTRACEEVENT._serialized_end=80821 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_start=80823 + _EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT._serialized_end=80892 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_start=80894 + _EXT4MBNEWGROUPPAFTRACEEVENT._serialized_end=81003 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_start=81005 + _EXT4MBNEWINODEPAFTRACEEVENT._serialized_end=81114 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_start=81116 + _EXT4MBRELEASEGROUPPAFTRACEEVENT._serialized_end=81197 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_start=81199 + _EXT4MBRELEASEINODEPAFTRACEEVENT._serialized_end=81288 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_start=81291 + _EXT4MBALLOCALLOCFTRACEEVENT._serialized_end=81681 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_start=81683 + _EXT4MBALLOCDISCARDFTRACEEVENT._serialized_end=81804 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_start=81806 + _EXT4MBALLOCFREEFTRACEEVENT._serialized_end=81924 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_start=81927 + _EXT4MBALLOCPREALLOCFTRACEEVENT._serialized_end=82153 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_start=82155 + _EXT4OTHERINODEUPDATETIMEFTRACEEVENT._serialized_end=82276 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_start=82278 + _EXT4PUNCHHOLEFTRACEEVENT._serialized_end=82373 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_start=82375 + _EXT4READBLOCKBITMAPLOADFTRACEEVENT._serialized_end=82457 + _EXT4READPAGEFTRACEEVENT._serialized_start=82459 + _EXT4READPAGEFTRACEEVENT._serialized_end=82525 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_start=82527 + _EXT4RELEASEPAGEFTRACEEVENT._serialized_end=82596 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_start=82599 + _EXT4REMOVEBLOCKSFTRACEEVENT._serialized_end=82799 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_start=82802 + _EXT4REQUESTBLOCKSFTRACEEVENT._serialized_end=82979 + _EXT4REQUESTINODEFTRACEEVENT._serialized_start=82981 + _EXT4REQUESTINODEFTRACEEVENT._serialized_end=83050 + _EXT4SYNCFSFTRACEEVENT._serialized_start=83052 + _EXT4SYNCFSFTRACEEVENT._serialized_end=83102 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_start=83104 + _EXT4TRIMALLFREEFTRACEEVENT._serialized_end=83213 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_start=83215 + _EXT4TRIMEXTENTFTRACEEVENT._serialized_end=83323 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_start=83325 + _EXT4TRUNCATEENTERFTRACEEVENT._serialized_end=83397 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_start=83399 + _EXT4TRUNCATEEXITFTRACEEVENT._serialized_end=83470 + _EXT4UNLINKENTERFTRACEEVENT._serialized_start=83472 + _EXT4UNLINKENTERFTRACEEVENT._serialized_end=83556 + _EXT4UNLINKEXITFTRACEEVENT._serialized_start=83558 + _EXT4UNLINKEXITFTRACEEVENT._serialized_end=83624 + _EXT4WRITEBEGINFTRACEEVENT._serialized_start=83626 + _EXT4WRITEBEGINFTRACEEVENT._serialized_end=83720 + _EXT4WRITEENDFTRACEEVENT._serialized_start=83722 + _EXT4WRITEENDFTRACEEVENT._serialized_end=83815 + _EXT4WRITEPAGEFTRACEEVENT._serialized_start=83817 + _EXT4WRITEPAGEFTRACEEVENT._serialized_end=83884 + _EXT4WRITEPAGESFTRACEEVENT._serialized_start=83887 + _EXT4WRITEPAGESFTRACEEVENT._serialized_end=84111 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_start=84114 + _EXT4WRITEPAGESRESULTFTRACEEVENT._serialized_end=84276 + _EXT4ZERORANGEFTRACEEVENT._serialized_start=84278 + _EXT4ZERORANGEFTRACEEVENT._serialized_end=84373 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_start=84375 + _F2FSDOSUBMITBIOFTRACEEVENT._serialized_end=84475 + _F2FSEVICTINODEFTRACEEVENT._serialized_start=84478 + _F2FSEVICTINODEFTRACEEVENT._serialized_end=84620 + _F2FSFALLOCATEFTRACEEVENT._serialized_start=84623 + _F2FSFALLOCATEFTRACEEVENT._serialized_end=84761 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_start=84763 + _F2FSGETDATABLOCKFTRACEEVENT._serialized_end=84882 + _F2FSGETVICTIMFTRACEEVENT._serialized_start=84885 + _F2FSGETVICTIMFTRACEEVENT._serialized_end=85091 + _F2FSIGETFTRACEEVENT._serialized_start=85094 + _F2FSIGETFTRACEEVENT._serialized_end=85230 + _F2FSIGETEXITFTRACEEVENT._serialized_start=85232 + _F2FSIGETEXITFTRACEEVENT._serialized_end=85296 + _F2FSNEWINODEFTRACEEVENT._serialized_start=85298 + _F2FSNEWINODEFTRACEEVENT._serialized_end=85362 + _F2FSREADPAGEFTRACEEVENT._serialized_start=85365 + _F2FSREADPAGEFTRACEEVENT._serialized_end=85508 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_start=85510 + _F2FSRESERVENEWBLOCKFTRACEEVENT._serialized_end=85589 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_start=85592 + _F2FSSETPAGEDIRTYFTRACEEVENT._serialized_end=85722 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_start=85724 + _F2FSSUBMITWRITEPAGEFTRACEEVENT._serialized_end=85826 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_start=85829 + _F2FSSYNCFILEENTERFTRACEEVENT._serialized_end=85974 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_start=85976 + _F2FSSYNCFILEEXITFTRACEEVENT._serialized_end=86098 + _F2FSSYNCFSFTRACEEVENT._serialized_start=86100 + _F2FSSYNCFSFTRACEEVENT._serialized_end=86165 + _F2FSTRUNCATEFTRACEEVENT._serialized_start=86168 + _F2FSTRUNCATEFTRACEEVENT._serialized_end=86308 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_start=86310 + _F2FSTRUNCATEBLOCKSENTERFTRACEEVENT._serialized_end=86416 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_start=86418 + _F2FSTRUNCATEBLOCKSEXITFTRACEEVENT._serialized_end=86492 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_start=86494 + _F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT._serialized_end=86600 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_start=86602 + _F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT._serialized_end=86713 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_start=86715 + _F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT._serialized_end=86794 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_start=86796 + _F2FSTRUNCATENODEFTRACEEVENT._serialized_end=86882 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_start=86884 + _F2FSTRUNCATENODESENTERFTRACEEVENT._serialized_end=86976 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_start=86978 + _F2FSTRUNCATENODESEXITFTRACEEVENT._serialized_end=87051 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_start=87053 + _F2FSTRUNCATEPARTIALNODESFTRACEEVENT._serialized_end=87157 + _F2FSUNLINKENTERFTRACEEVENT._serialized_start=87159 + _F2FSUNLINKENTERFTRACEEVENT._serialized_end=87257 + _F2FSUNLINKEXITFTRACEEVENT._serialized_start=87259 + _F2FSUNLINKEXITFTRACEEVENT._serialized_end=87325 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_start=87328 + _F2FSVMPAGEMKWRITEFTRACEEVENT._serialized_end=87459 + _F2FSWRITEBEGINFTRACEEVENT._serialized_start=87461 + _F2FSWRITEBEGINFTRACEEVENT._serialized_end=87555 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_start=87557 + _F2FSWRITECHECKPOINTFTRACEEVENT._serialized_end=87650 + _F2FSWRITEENDFTRACEEVENT._serialized_start=87652 + _F2FSWRITEENDFTRACEEVENT._serialized_end=87745 + _F2FSIOSTATFTRACEEVENT._serialized_start=87748 + _F2FSIOSTATFTRACEEVENT._serialized_end=88173 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_start=88176 + _F2FSIOSTATLATENCYFTRACEEVENT._serialized_end=88759 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_start=88761 + _F2FSBACKGROUNDGCFTRACEEVENT._serialized_end=88851 + _F2FSGCBEGINFTRACEEVENT._serialized_start=88854 + _F2FSGCBEGINFTRACEEVENT._serialized_end=89124 + _F2FSGCENDFTRACEEVENT._serialized_start=89127 + _F2FSGCENDFTRACEEVENT._serialized_end=89355 + _FASTRPCDMASTATFTRACEEVENT._serialized_start=89357 + _FASTRPCDMASTATFTRACEEVENT._serialized_end=89435 + _FASTRPCDMAFREEFTRACEEVENT._serialized_start=89437 + _FASTRPCDMAFREEFTRACEEVENT._serialized_end=89505 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_start=89507 + _FASTRPCDMAALLOCFTRACEEVENT._serialized_end=89606 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_start=89608 + _FASTRPCDMAUNMAPFTRACEEVENT._serialized_end=89677 + _FASTRPCDMAMAPFTRACEEVENT._serialized_start=89679 + _FASTRPCDMAMAPFTRACEEVENT._serialized_end=89801 + _FENCEINITFTRACEEVENT._serialized_start=89803 + _FENCEINITFTRACEEVENT._serialized_end=89891 + _FENCEDESTROYFTRACEEVENT._serialized_start=89893 + _FENCEDESTROYFTRACEEVENT._serialized_end=89984 + _FENCEENABLESIGNALFTRACEEVENT._serialized_start=89986 + _FENCEENABLESIGNALFTRACEEVENT._serialized_end=90082 + _FENCESIGNALEDFTRACEEVENT._serialized_start=90084 + _FENCESIGNALEDFTRACEEVENT._serialized_end=90176 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_start=90178 + _MMFILEMAPADDTOPAGECACHEFTRACEEVENT._serialized_end=90286 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_start=90288 + _MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT._serialized_end=90401 + _DOSYSOPENFTRACEEVENT._serialized_start=90403 + _DOSYSOPENFTRACEEVENT._serialized_end=90472 + _OPENEXECFTRACEEVENT._serialized_start=90474 + _OPENEXECFTRACEEVENT._serialized_end=90513 + _PRINTFTRACEEVENT._serialized_start=90515 + _PRINTFTRACEEVENT._serialized_end=90558 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_start=90560 + _FUNCGRAPHENTRYFTRACEEVENT._serialized_end=90616 + _FUNCGRAPHEXITFTRACEEVENT._serialized_start=90618 + _FUNCGRAPHEXITFTRACEEVENT._serialized_end=90725 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_start=90727 + _G2DTRACINGMARKWRITEFTRACEEVENT._serialized_end=90815 + _GENERICFTRACEEVENT._serialized_start=90818 + _GENERICFTRACEEVENT._serialized_end=91012 + _GENERICFTRACEEVENT_FIELD._serialized_start=90918 + _GENERICFTRACEEVENT_FIELD._serialized_end=91012 + _KPROBEEVENT._serialized_start=91015 + _KPROBEEVENT._serialized_end=91205 + _KPROBEEVENT_KPROBETYPE._serialized_start=91099 + _KPROBEEVENT_KPROBETYPE._serialized_end=91205 + _GOOGLEICCEVENTFTRACEEVENT._serialized_start=91207 + _GOOGLEICCEVENTFTRACEEVENT._serialized_end=91268 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_start=91270 + _GOOGLEIRMEVENTFTRACEEVENT._serialized_end=91331 + _GPUMEMTOTALFTRACEEVENT._serialized_start=91333 + _GPUMEMTOTALFTRACEEVENT._serialized_end=91400 + _DRMSCHEDJOBFTRACEEVENT._serialized_start=91402 + _DRMSCHEDJOBFTRACEEVENT._serialized_end=91524 + _DRMRUNJOBFTRACEEVENT._serialized_start=91526 + _DRMRUNJOBFTRACEEVENT._serialized_end=91646 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_start=91648 + _DRMSCHEDPROCESSJOBFTRACEEVENT._serialized_end=91694 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_start=91696 + _DRMSCHEDJOBADDDEPFTRACEEVENT._serialized_end=91798 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_start=91800 + _DRMSCHEDJOBDONEFTRACEEVENT._serialized_end=91872 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_start=91875 + _DRMSCHEDJOBQUEUEFTRACEEVENT._serialized_end=92035 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_start=92038 + _DRMSCHEDJOBRUNFTRACEEVENT._serialized_end=92196 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_start=92198 + _DRMSCHEDJOBUNSCHEDULABLEFTRACEEVENT._serialized_end=92307 + _HYPENTERFTRACEEVENT._serialized_start=92309 + _HYPENTERFTRACEEVENT._serialized_end=92330 + _HYPEXITFTRACEEVENT._serialized_start=92332 + _HYPEXITFTRACEEVENT._serialized_end=92352 + _HOSTHCALLFTRACEEVENT._serialized_start=92354 + _HOSTHCALLFTRACEEVENT._serialized_end=92405 + _HOSTSMCFTRACEEVENT._serialized_start=92407 + _HOSTSMCFTRACEEVENT._serialized_end=92458 + _HOSTMEMABORTFTRACEEVENT._serialized_start=92460 + _HOSTMEMABORTFTRACEEVENT._serialized_end=92512 + _HOSTFFACALLFTRACEEVENT._serialized_start=92515 + _HOSTFFACALLFTRACEEVENT._serialized_end=92650 + _IOMMUIDMAPFTRACEEVENT._serialized_start=92652 + _IOMMUIDMAPFTRACEEVENT._serialized_end=92715 + _PSCIMEMPROTECTFTRACEEVENT._serialized_start=92717 + _PSCIMEMPROTECTFTRACEEVENT._serialized_end=92772 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_start=92774 + _HYPERVISORHOSTHCALLFTRACEEVENT._serialized_end=92835 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_start=92837 + _HYPERVISORHOSTSMCFTRACEEVENT._serialized_end=92898 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_start=92900 + _HYPERVISORHYPEXITFTRACEEVENT._serialized_end=92930 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_start=92932 + _HYPERVISORIOMMUIDMAPFTRACEEVENT._serialized_end=93005 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_start=93007 + _HYPERVISORPSCIMEMPROTECTFTRACEEVENT._serialized_end=93072 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_start=93074 + _HYPERVISORHOSTMEMABORTFTRACEEVENT._serialized_end=93136 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_start=93138 + _HYPERVISORHYPENTERFTRACEEVENT._serialized_end=93169 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_start=93171 + _HYPERVISORIOMMUIDMAPCOMPLETEFTRACEEVENT._serialized_end=93225 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_start=93227 + _HYPERVISORVCPUILLEGALTRAPFTRACEEVENT._serialized_end=93278 + _I2CREADFTRACEEVENT._serialized_start=93280 + _I2CREADFTRACEEVENT._serialized_end=93378 + _I2CWRITEFTRACEEVENT._serialized_start=93380 + _I2CWRITEFTRACEEVENT._serialized_end=93492 + _I2CRESULTFTRACEEVENT._serialized_start=93494 + _I2CRESULTFTRACEEVENT._serialized_end=93566 + _I2CREPLYFTRACEEVENT._serialized_start=93568 + _I2CREPLYFTRACEEVENT._serialized_end=93680 + _SMBUSREADFTRACEEVENT._serialized_start=93682 + _SMBUSREADFTRACEEVENT._serialized_end=93788 + _SMBUSWRITEFTRACEEVENT._serialized_start=93790 + _SMBUSWRITEFTRACEEVENT._serialized_end=93910 + _SMBUSRESULTFTRACEEVENT._serialized_start=93913 + _SMBUSRESULTFTRACEEVENT._serialized_end=94054 + _SMBUSREPLYFTRACEEVENT._serialized_start=94056 + _SMBUSREPLYFTRACEEVENT._serialized_end=94176 + _IONSTATFTRACEEVENT._serialized_start=94178 + _IONSTATFTRACEEVENT._serialized_end=94255 + _IPIENTRYFTRACEEVENT._serialized_start=94257 + _IPIENTRYFTRACEEVENT._serialized_end=94294 + _IPIEXITFTRACEEVENT._serialized_start=94296 + _IPIEXITFTRACEEVENT._serialized_end=94332 + _IPIRAISEFTRACEEVENT._serialized_start=94334 + _IPIRAISEFTRACEEVENT._serialized_end=94392 + _SOFTIRQENTRYFTRACEEVENT._serialized_start=94394 + _SOFTIRQENTRYFTRACEEVENT._serialized_end=94432 + _SOFTIRQEXITFTRACEEVENT._serialized_start=94434 + _SOFTIRQEXITFTRACEEVENT._serialized_end=94471 + _SOFTIRQRAISEFTRACEEVENT._serialized_start=94473 + _SOFTIRQRAISEFTRACEEVENT._serialized_end=94511 + _IRQHANDLERENTRYFTRACEEVENT._serialized_start=94513 + _IRQHANDLERENTRYFTRACEEVENT._serialized_end=94585 + _IRQHANDLEREXITFTRACEEVENT._serialized_start=94587 + _IRQHANDLEREXITFTRACEEVENT._serialized_end=94640 + _LOCALTIMERENTRYFTRACEEVENT._serialized_start=94642 + _LOCALTIMERENTRYFTRACEEVENT._serialized_end=94686 + _LOCALTIMEREXITFTRACEEVENT._serialized_start=94688 + _LOCALTIMEREXITFTRACEEVENT._serialized_end=94731 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_start=94733 + _KGSLGPUFREQUENCYFTRACEEVENT._serialized_end=94796 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_start=94798 + _KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT._serialized_end=94911 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_start=94914 + _KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT._serialized_end=95163 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_start=95165 + _KGSLADRENOCMDBATCHSYNCFTRACEEVENT._serialized_end=95260 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_start=95263 + _KGSLADRENOCMDBATCHRETIREDFTRACEEVENT._serialized_end=95604 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_start=95606 + _ALLOCPAGESIOMMUENDFTRACEEVENT._serialized_end=95671 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_start=95673 + _ALLOCPAGESIOMMUFAILFTRACEEVENT._serialized_end=95739 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_start=95741 + _ALLOCPAGESIOMMUSTARTFTRACEEVENT._serialized_end=95808 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_start=95810 + _ALLOCPAGESSYSENDFTRACEEVENT._serialized_end=95873 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_start=95875 + _ALLOCPAGESSYSFAILFTRACEEVENT._serialized_end=95939 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_start=95941 + _ALLOCPAGESSYSSTARTFTRACEEVENT._serialized_end=96006 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_start=96008 + _DMAALLOCCONTIGUOUSRETRYFTRACEEVENT._serialized_end=96059 + _IOMMUMAPRANGEFTRACEEVENT._serialized_start=96061 + _IOMMUMAPRANGEFTRACEEVENT._serialized_end=96144 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_start=96146 + _IOMMUSECPTBLMAPRANGEENDFTRACEEVENT._serialized_end=96248 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_start=96250 + _IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT._serialized_end=96354 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_start=96356 + _IONALLOCBUFFERENDFTRACEEVENT._serialized_end=96468 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_start=96471 + _IONALLOCBUFFERFAILFTRACEEVENT._serialized_end=96599 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_start=96602 + _IONALLOCBUFFERFALLBACKFTRACEEVENT._serialized_end=96734 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_start=96736 + _IONALLOCBUFFERSTARTFTRACEEVENT._serialized_end=96850 + _IONCPALLOCRETRYFTRACEEVENT._serialized_start=96852 + _IONCPALLOCRETRYFTRACEEVENT._serialized_end=96895 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_start=96897 + _IONCPSECUREBUFFERENDFTRACEEVENT._serialized_end=96992 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_start=96994 + _IONCPSECUREBUFFERSTARTFTRACEEVENT._serialized_end=97091 + _IONPREFETCHINGFTRACEEVENT._serialized_start=97093 + _IONPREFETCHINGFTRACEEVENT._serialized_end=97133 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_start=97135 + _IONSECURECMAADDTOPOOLENDFTRACEEVENT._serialized_end=97226 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_start=97228 + _IONSECURECMAADDTOPOOLSTARTFTRACEEVENT._serialized_end=97321 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_start=97323 + _IONSECURECMAALLOCATEENDFTRACEEVENT._serialized_end=97421 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_start=97423 + _IONSECURECMAALLOCATESTARTFTRACEEVENT._serialized_end=97523 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_start=97525 + _IONSECURECMASHRINKPOOLENDFTRACEEVENT._serialized_end=97607 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_start=97609 + _IONSECURECMASHRINKPOOLSTARTFTRACEEVENT._serialized_end=97693 + _KFREEFTRACEEVENT._serialized_start=97695 + _KFREEFTRACEEVENT._serialized_end=97745 + _KMALLOCFTRACEEVENT._serialized_start=97747 + _KMALLOCFTRACEEVENT._serialized_end=97858 + _KMALLOCNODEFTRACEEVENT._serialized_start=97861 + _KMALLOCNODEFTRACEEVENT._serialized_end=97990 + _KMEMCACHEALLOCFTRACEEVENT._serialized_start=97992 + _KMEMCACHEALLOCFTRACEEVENT._serialized_end=98110 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_start=98113 + _KMEMCACHEALLOCNODEFTRACEEVENT._serialized_end=98249 + _KMEMCACHEFREEFTRACEEVENT._serialized_start=98251 + _KMEMCACHEFREEFTRACEEVENT._serialized_end=98309 + _MIGRATEPAGESENDFTRACEEVENT._serialized_start=98311 + _MIGRATEPAGESENDFTRACEEVENT._serialized_end=98353 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_start=98355 + _MIGRATEPAGESSTARTFTRACEEVENT._serialized_end=98399 + _MIGRATERETRYFTRACEEVENT._serialized_start=98401 + _MIGRATERETRYFTRACEEVENT._serialized_end=98441 + _MMPAGEALLOCFTRACEEVENT._serialized_start=98443 + _MMPAGEALLOCFTRACEEVENT._serialized_end=98549 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_start=98552 + _MMPAGEALLOCEXTFRAGFTRACEEVENT._serialized_end=98738 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_start=98740 + _MMPAGEALLOCZONELOCKEDFTRACEEVENT._serialized_end=98837 + _MMPAGEFREEFTRACEEVENT._serialized_start=98839 + _MMPAGEFREEFTRACEEVENT._serialized_end=98904 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_start=98906 + _MMPAGEFREEBATCHEDFTRACEEVENT._serialized_end=98977 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_start=98979 + _MMPAGEPCPUDRAINFTRACEEVENT._serialized_end=99070 + _RSSSTATFTRACEEVENT._serialized_start=99072 + _RSSSTATFTRACEEVENT._serialized_end=99151 + _IONHEAPSHRINKFTRACEEVENT._serialized_start=99153 + _IONHEAPSHRINKFTRACEEVENT._serialized_end=99236 + _IONHEAPGROWFTRACEEVENT._serialized_start=99238 + _IONHEAPGROWFTRACEEVENT._serialized_end=99319 + _IONBUFFERCREATEFTRACEEVENT._serialized_start=99321 + _IONBUFFERCREATEFTRACEEVENT._serialized_end=99376 + _IONBUFFERDESTROYFTRACEEVENT._serialized_start=99378 + _IONBUFFERDESTROYFTRACEEVENT._serialized_end=99434 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_start=99437 + _MMALLOCCONTIGMIGRATERANGEINFOFTRACEEVENT._serialized_end=99590 + _DMABUFRSSSTATFTRACEEVENT._serialized_start=99592 + _DMABUFRSSSTATFTRACEEVENT._serialized_end=99665 + _KVMACCESSFAULTFTRACEEVENT._serialized_start=99667 + _KVMACCESSFAULTFTRACEEVENT._serialized_end=99707 + _KVMACKIRQFTRACEEVENT._serialized_start=99709 + _KVMACKIRQFTRACEEVENT._serialized_end=99761 + _KVMAGEHVAFTRACEEVENT._serialized_start=99763 + _KVMAGEHVAFTRACEEVENT._serialized_end=99813 + _KVMAGEPAGEFTRACEEVENT._serialized_start=99815 + _KVMAGEPAGEFTRACEEVENT._serialized_end=99899 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_start=99901 + _KVMARMCLEARDEBUGFTRACEEVENT._serialized_end=99951 + _KVMARMSETDREG32FTRACEEVENT._serialized_start=99953 + _KVMARMSETDREG32FTRACEEVENT._serialized_end=100010 + _KVMARMSETREGSETFTRACEEVENT._serialized_start=100012 + _KVMARMSETREGSETFTRACEEVENT._serialized_end=100067 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_start=100069 + _KVMARMSETUPDEBUGFTRACEEVENT._serialized_end=100133 + _KVMENTRYFTRACEEVENT._serialized_start=100135 + _KVMENTRYFTRACEEVENT._serialized_end=100173 + _KVMEXITFTRACEEVENT._serialized_start=100175 + _KVMEXITFTRACEEVENT._serialized_end=100241 + _KVMFPUFTRACEEVENT._serialized_start=100243 + _KVMFPUFTRACEEVENT._serialized_end=100276 + _KVMGETTIMERMAPFTRACEEVENT._serialized_start=100278 + _KVMGETTIMERMAPFTRACEEVENT._serialized_end=100389 + _KVMGUESTFAULTFTRACEEVENT._serialized_start=100391 + _KVMGUESTFAULTFTRACEEVENT._serialized_end=100475 + _KVMHANDLESYSREGFTRACEEVENT._serialized_start=100477 + _KVMHANDLESYSREGFTRACEEVENT._serialized_end=100518 + _KVMHVCARM64FTRACEEVENT._serialized_start=100520 + _KVMHVCARM64FTRACEEVENT._serialized_end=100586 + _KVMIRQLINEFTRACEEVENT._serialized_start=100588 + _KVMIRQLINEFTRACEEVENT._serialized_end=100675 + _KVMMMIOFTRACEEVENT._serialized_start=100677 + _KVMMMIOFTRACEEVENT._serialized_end=100750 + _KVMMMIOEMULATEFTRACEEVENT._serialized_start=100752 + _KVMMMIOEMULATEFTRACEEVENT._serialized_end=100825 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_start=100827 + _KVMSETGUESTDEBUGFTRACEEVENT._serialized_end=100891 + _KVMSETIRQFTRACEEVENT._serialized_start=100893 + _KVMSETIRQFTRACEEVENT._serialized_end=100966 + _KVMSETSPTEHVAFTRACEEVENT._serialized_start=100968 + _KVMSETSPTEHVAFTRACEEVENT._serialized_end=101007 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_start=101009 + _KVMSETWAYFLUSHFTRACEEVENT._serialized_end=101068 + _KVMSYSACCESSFTRACEEVENT._serialized_start=101071 + _KVMSYSACCESSFTRACEEVENT._serialized_end=101210 + _KVMTESTAGEHVAFTRACEEVENT._serialized_start=101212 + _KVMTESTAGEHVAFTRACEEVENT._serialized_end=101251 + _KVMTIMEREMULATEFTRACEEVENT._serialized_start=101253 + _KVMTIMEREMULATEFTRACEEVENT._serialized_end=101321 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_start=101323 + _KVMTIMERHRTIMEREXPIREFTRACEEVENT._serialized_end=101376 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_start=101378 + _KVMTIMERRESTORESTATEFTRACEEVENT._serialized_end=101457 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_start=101459 + _KVMTIMERSAVESTATEFTRACEEVENT._serialized_end=101535 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_start=101537 + _KVMTIMERUPDATEIRQFTRACEEVENT._serialized_end=101612 + _KVMTOGGLECACHEFTRACEEVENT._serialized_start=101614 + _KVMTOGGLECACHEFTRACEEVENT._serialized_end=101684 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_start=101686 + _KVMUNMAPHVARANGEFTRACEEVENT._serialized_end=101743 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_start=101745 + _KVMUSERSPACEEXITFTRACEEVENT._serialized_end=101790 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_start=101792 + _KVMVCPUWAKEUPFTRACEEVENT._serialized_end=101861 + _KVMWFXARM64FTRACEEVENT._serialized_start=101863 + _KVMWFXARM64FTRACEEVENT._serialized_end=101920 + _TRAPREGFTRACEEVENT._serialized_start=101922 + _TRAPREGFTRACEEVENT._serialized_end=102006 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_start=102008 + _VGICUPDATEIRQPENDINGFTRACEEVENT._serialized_end=102086 + _LOWMEMORYKILLFTRACEEVENT._serialized_start=102088 + _LOWMEMORYKILLFTRACEEVENT._serialized_end=102204 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_start=102206 + _LWISTRACINGMARKWRITEFTRACEEVENT._serialized_end=102319 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_start=102321 + _MALITRACINGMARKWRITEFTRACEEVENT._serialized_end=102410 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_start=102412 + _MALIMALIKCPUCQSSETFTRACEEVENT._serialized_end=102529 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_start=102531 + _MALIMALIKCPUCQSWAITSTARTFTRACEEVENT._serialized_end=102654 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_start=102656 + _MALIMALIKCPUCQSWAITENDFTRACEEVENT._serialized_end=102777 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_start=102779 + _MALIMALIKCPUFENCESIGNALFTRACEEVENT._serialized_end=102901 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_start=102903 + _MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT._serialized_end=103028 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_start=103030 + _MALIMALIKCPUFENCEWAITENDFTRACEEVENT._serialized_end=103153 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_start=103155 + _MALIMALICSFINTERRUPTSTARTFTRACEEVENT._serialized_end=103247 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_start=103249 + _MALIMALICSFINTERRUPTENDFTRACEEVENT._serialized_end=103339 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_start=103341 + _MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT._serialized_end=103449 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_start=103451 + _MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT._serialized_end=103550 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_start=103552 + _MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT._serialized_end=103652 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_start=103654 + _MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT._serialized_end=103750 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_start=103752 + _MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT._serialized_end=103854 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_start=103856 + _MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT._serialized_end=103954 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_start=103956 + _MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT._serialized_end=104053 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_start=104055 + _MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT._serialized_end=104154 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_start=104156 + _MALIMALIPMMCUINSLEEPFTRACEEVENT._serialized_end=104243 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_start=104245 + _MALIMALIPMMCUOFFFTRACEEVENT._serialized_end=104328 + _MALIMALIPMMCUONFTRACEEVENT._serialized_start=104330 + _MALIMALIPMMCUONFTRACEEVENT._serialized_end=104412 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_start=104414 + _MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT._serialized_end=104514 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_start=104516 + _MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT._serialized_end=104611 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_start=104613 + _MALIMALIPMMCUONHALTFTRACEEVENT._serialized_end=104699 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_start=104701 + _MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT._serialized_end=104795 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_start=104797 + _MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT._serialized_end=104890 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_start=104892 + _MALIMALIPMMCUONPENDHALTFTRACEEVENT._serialized_end=104982 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_start=104984 + _MALIMALIPMMCUONPENDSLEEPFTRACEEVENT._serialized_end=105075 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_start=105077 + _MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT._serialized_end=105172 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_start=105174 + _MALIMALIPMMCUPENDOFFFTRACEEVENT._serialized_end=105261 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_start=105263 + _MALIMALIPMMCUPENDONRELOADFTRACEEVENT._serialized_end=105355 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_start=105357 + _MALIMALIPMMCUPOWERDOWNFTRACEEVENT._serialized_end=105446 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_start=105448 + _MALIMALIPMMCURESETWAITFTRACEEVENT._serialized_end=105537 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_start=105539 + _MALIGPUPOWERSTATEFTRACEEVENT._serialized_end=105626 + _MDPCMDKICKOFFFTRACEEVENT._serialized_start=105628 + _MDPCMDKICKOFFFTRACEEVENT._serialized_end=105692 + _MDPCOMMITFTRACEEVENT._serialized_start=105694 + _MDPCOMMITFTRACEEVENT._serialized_end=105784 + _MDPPERFSETOTFTRACEEVENT._serialized_start=105786 + _MDPPERFSETOTFTRACEEVENT._serialized_end=105877 + _MDPSSPPCHANGEFTRACEEVENT._serialized_start=105880 + _MDPSSPPCHANGEFTRACEEVENT._serialized_end=106148 + _TRACINGMARKWRITEFTRACEEVENT._serialized_start=106150 + _TRACINGMARKWRITEFTRACEEVENT._serialized_end=106233 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_start=106235 + _MDPCMDPINGPONGDONEFTRACEEVENT._serialized_end=106335 + _MDPCOMPAREBWFTRACEEVENT._serialized_start=106338 + _MDPCOMPAREBWFTRACEEVENT._serialized_end=106502 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_start=106504 + _MDPPERFSETPANICLUTSFTRACEEVENT._serialized_end=106616 + _MDPSSPPSETFTRACEEVENT._serialized_start=106619 + _MDPSSPPSETFTRACEEVENT._serialized_end=106884 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_start=106886 + _MDPCMDREADPTRDONEFTRACEEVENT._serialized_end=106951 + _MDPMISRCRCFTRACEEVENT._serialized_start=106953 + _MDPMISRCRCFTRACEEVENT._serialized_end=107026 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_start=107028 + _MDPPERFSETQOSLUTSFTRACEEVENT._serialized_end=107153 + _MDPTRACECOUNTERFTRACEEVENT._serialized_start=107155 + _MDPTRACECOUNTERFTRACEEVENT._serialized_end=107233 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_start=107235 + _MDPCMDRELEASEBWFTRACEEVENT._serialized_end=107280 + _MDPMIXERUPDATEFTRACEEVENT._serialized_start=107282 + _MDPMIXERUPDATEFTRACEEVENT._serialized_end=107328 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_start=107331 + _MDPPERFSETWMLEVELSFTRACEEVENT._serialized_end=107491 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_start=107493 + _MDPVIDEOUNDERRUNDONEFTRACEEVENT._serialized_end=107565 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_start=107567 + _MDPCMDWAITPINGPONGFTRACEEVENT._serialized_end=107636 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_start=107639 + _MDPPERFPREFILLCALCFTRACEEVENT._serialized_end=107845 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_start=107847 + _MDPPERFUPDATEBUSFTRACEEVENT._serialized_end=107928 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_start=107930 + _ROTATORBWAOASCONTEXTFTRACEEVENT._serialized_end=107978 + _MMEVENTRECORDFTRACEEVENT._serialized_start=107980 + _MMEVENTRECORDFTRACEEVENT._serialized_end=108069 + _NETIFRECEIVESKBFTRACEEVENT._serialized_start=108071 + _NETIFRECEIVESKBFTRACEEVENT._serialized_end=108143 + _NETDEVXMITFTRACEEVENT._serialized_start=108145 + _NETDEVXMITFTRACEEVENT._serialized_end=108224 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_start=108227 + _NAPIGRORECEIVEENTRYFTRACEEVENT._serialized_end=108606 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_start=108608 + _NAPIGRORECEIVEEXITFTRACEEVENT._serialized_end=108652 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_start=108654 + _OOMSCOREADJUPDATEFTRACEEVENT._serialized_end=108734 + _MARKVICTIMFTRACEEVENT._serialized_start=108736 + _MARKVICTIMFTRACEEVENT._serialized_end=108772 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_start=108774 + _DSICMDFIFOSTATUSFTRACEEVENT._serialized_end=108836 + _DSIRXFTRACEEVENT._serialized_start=108838 + _DSIRXFTRACEEVENT._serialized_end=108885 + _DSITXFTRACEEVENT._serialized_start=108887 + _DSITXFTRACEEVENT._serialized_end=108949 + _PANELWRITEGENERICFTRACEEVENT._serialized_start=108951 + _PANELWRITEGENERICFTRACEEVENT._serialized_end=109078 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_start=109081 + _SCHEDSWITCHWITHCTRSFTRACEEVENT._serialized_end=109469 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_start=109471 + _PIXELMMKSWAPDWAKEFTRACEEVENT._serialized_end=109519 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_start=109521 + _PIXELMMKSWAPDDONEFTRACEEVENT._serialized_end=109605 + _CPUFREQUENCYFTRACEEVENT._serialized_start=109607 + _CPUFREQUENCYFTRACEEVENT._serialized_end=109663 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_start=109665 + _CPUFREQUENCYLIMITSFTRACEEVENT._serialized_end=109748 + _CPUIDLEFTRACEEVENT._serialized_start=109750 + _CPUIDLEFTRACEEVENT._serialized_end=109801 + _CLOCKENABLEFTRACEEVENT._serialized_start=109803 + _CLOCKENABLEFTRACEEVENT._serialized_end=109872 + _CLOCKDISABLEFTRACEEVENT._serialized_start=109874 + _CLOCKDISABLEFTRACEEVENT._serialized_end=109944 + _CLOCKSETRATEFTRACEEVENT._serialized_start=109946 + _CLOCKSETRATEFTRACEEVENT._serialized_end=110016 + _SUSPENDRESUMEFTRACEEVENT._serialized_start=110018 + _SUSPENDRESUMEFTRACEEVENT._serialized_end=110088 + _GPUFREQUENCYFTRACEEVENT._serialized_start=110090 + _GPUFREQUENCYFTRACEEVENT._serialized_end=110146 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_start=110148 + _WAKEUPSOURCEACTIVATEFTRACEEVENT._serialized_end=110210 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_start=110212 + _WAKEUPSOURCEDEACTIVATEFTRACEEVENT._serialized_end=110276 + _GPUWORKPERIODFTRACEEVENT._serialized_start=110279 + _GPUWORKPERIODFTRACEEVENT._serialized_end=110412 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_start=110414 + _DEVICEPMCALLBACKSTARTFTRACEEVENT._serialized_end=110527 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_start=110529 + _DEVICEPMCALLBACKENDFTRACEEVENT._serialized_end=110608 + _CONSOLEFTRACEEVENT._serialized_start=110610 + _CONSOLEFTRACEEVENT._serialized_end=110643 + _SYSENTERFTRACEEVENT._serialized_start=110645 + _SYSENTERFTRACEEVENT._serialized_end=110692 + _SYSEXITFTRACEEVENT._serialized_start=110694 + _SYSEXITFTRACEEVENT._serialized_end=110739 + _REGULATORDISABLEFTRACEEVENT._serialized_start=110741 + _REGULATORDISABLEFTRACEEVENT._serialized_end=110784 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_start=110786 + _REGULATORDISABLECOMPLETEFTRACEEVENT._serialized_end=110837 + _REGULATORENABLEFTRACEEVENT._serialized_start=110839 + _REGULATORENABLEFTRACEEVENT._serialized_end=110881 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_start=110883 + _REGULATORENABLECOMPLETEFTRACEEVENT._serialized_end=110933 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_start=110935 + _REGULATORENABLEDELAYFTRACEEVENT._serialized_end=110982 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_start=110984 + _REGULATORSETVOLTAGEFTRACEEVENT._serialized_end=111056 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_start=111058 + _REGULATORSETVOLTAGECOMPLETEFTRACEEVENT._serialized_end=111125 + _RPMSTATUSFTRACEEVENT._serialized_start=111127 + _RPMSTATUSFTRACEEVENT._serialized_end=111179 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_start=111181 + _SAMSUNGTRACINGMARKWRITEFTRACEEVENT._serialized_end=111306 + _SCHEDSWITCHFTRACEEVENT._serialized_start=111309 + _SCHEDSWITCHFTRACEEVENT._serialized_end=111465 + _SCHEDWAKEUPFTRACEEVENT._serialized_start=111467 + _SCHEDWAKEUPFTRACEEVENT._serialized_end=111569 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_start=111571 + _SCHEDBLOCKEDREASONFTRACEEVENT._serialized_end=111648 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_start=111650 + _SCHEDCPUHOTPLUGFTRACEEVENT._serialized_end=111731 + _SCHEDWAKINGFTRACEEVENT._serialized_start=111733 + _SCHEDWAKINGFTRACEEVENT._serialized_end=111835 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_start=111837 + _SCHEDWAKEUPNEWFTRACEEVENT._serialized_end=111942 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_start=111944 + _SCHEDPROCESSEXECFTRACEEVENT._serialized_end=112021 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_start=112023 + _SCHEDPROCESSEXITFTRACEEVENT._serialized_end=112107 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_start=112109 + _SCHEDPROCESSFORKFTRACEEVENT._serialized_end=112218 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_start=112220 + _SCHEDPROCESSFREEFTRACEEVENT._serialized_end=112290 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_start=112292 + _SCHEDPROCESSHANGFTRACEEVENT._serialized_end=112348 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_start=112350 + _SCHEDPROCESSWAITFTRACEEVENT._serialized_end=112420 + _SCHEDPISETPRIOFTRACEEVENT._serialized_start=112422 + _SCHEDPISETPRIOFTRACEEVENT._serialized_end=112510 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_start=112513 + _SCHEDCPUUTILCFSFTRACEEVENT._serialized_end=112841 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_start=112844 + _SCHEDMIGRATETASKFTRACEEVENT._serialized_end=112981 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_start=112983 + _SCHEDWAKEUPTASKATTRFTRACEEVENT._serialized_end=113107 + _SCMCALLSTARTFTRACEEVENT._serialized_start=113109 + _SCMCALLSTARTFTRACEEVENT._serialized_end=113175 + _SCMCALLENDFTRACEEVENT._serialized_start=113177 + _SCMCALLENDFTRACEEVENT._serialized_end=113200 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_start=113202 + _SDETRACINGMARKWRITEFTRACEEVENT._serialized_end=113323 + _SDESDEEVTLOGFTRACEEVENT._serialized_start=113325 + _SDESDEEVTLOGFTRACEEVENT._serialized_end=113399 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_start=113402 + _SDESDEPERFCALCCRTCFTRACEEVENT._serialized_end=113582 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_start=113585 + _SDESDEPERFCRTCUPDATEFTRACEEVENT._serialized_end=113868 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_start=113870 + _SDESDEPERFSETQOSLUTSFTRACEEVENT._serialized_end=113986 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_start=113988 + _SDESDEPERFUPDATEBUSFTRACEEVENT._serialized_end=114088 + _SIGNALDELIVERFTRACEEVENT._serialized_start=114090 + _SIGNALDELIVERFTRACEEVENT._serialized_end=114161 + _SIGNALGENERATEFTRACEEVENT._serialized_start=114163 + _SIGNALGENERATEFTRACEEVENT._serialized_end=114275 + _KFREESKBFTRACEEVENT._serialized_start=114277 + _KFREESKBFTRACEEVENT._serialized_end=114351 + _INETSOCKSETSTATEFTRACEEVENT._serialized_start=114354 + _INETSOCKSETSTATEFTRACEEVENT._serialized_end=114529 + _SYNCPTFTRACEEVENT._serialized_start=114531 + _SYNCPTFTRACEEVENT._serialized_end=114583 + _SYNCTIMELINEFTRACEEVENT._serialized_start=114585 + _SYNCTIMELINEFTRACEEVENT._serialized_end=114639 + _SYNCWAITFTRACEEVENT._serialized_start=114641 + _SYNCWAITFTRACEEVENT._serialized_end=114707 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_start=114709 + _RSSSTATTHROTTLEDFTRACEEVENT._serialized_end=114797 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_start=114799 + _SUSPENDRESUMEMINIMALFTRACEEVENT._serialized_end=114847 + _ZEROFTRACEEVENT._serialized_start=114849 + _ZEROFTRACEEVENT._serialized_end=114922 + _TASKNEWTASKFTRACEEVENT._serialized_start=114924 + _TASKNEWTASKFTRACEEVENT._serialized_end=115019 + _TASKRENAMEFTRACEEVENT._serialized_start=115021 + _TASKRENAMEFTRACEEVENT._serialized_end=115114 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_start=115117 + _TCPRETRANSMITSKBFTRACEEVENT._serialized_end=115254 + _THERMALTEMPERATUREFTRACEEVENT._serialized_start=115256 + _THERMALTEMPERATUREFTRACEEVENT._serialized_end=115354 + _CDEVUPDATEFTRACEEVENT._serialized_start=115356 + _CDEVUPDATEFTRACEEVENT._serialized_end=115409 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_start=115412 + _THERMALEXYNOSACPMBULKFTRACEEVENT._serialized_end=115640 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_start=115643 + _THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT._serialized_end=115805 + _HRTIMERSTARTFTRACEEVENT._serialized_start=115807 + _HRTIMERSTARTFTRACEEVENT._serialized_end=115919 + _HRTIMERCANCELFTRACEEVENT._serialized_start=115921 + _HRTIMERCANCELFTRACEEVENT._serialized_end=115964 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_start=115966 + _HRTIMEREXPIREENTRYFTRACEEVENT._serialized_end=116045 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_start=116047 + _HRTIMEREXPIREEXITFTRACEEVENT._serialized_end=116094 + _TIMERSTARTFTRACEEVENT._serialized_start=116097 + _TIMERSTARTFTRACEEVENT._serialized_end=116241 + _TIMERCANCELFTRACEEVENT._serialized_start=116243 + _TIMERCANCELFTRACEEVENT._serialized_end=116282 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_start=116284 + _TIMEREXPIREENTRYFTRACEEVENT._serialized_end=116376 + _TIMEREXPIREEXITFTRACEEVENT._serialized_start=116378 + _TIMEREXPIREEXITFTRACEEVENT._serialized_end=116421 + _TRUSTYSMCFTRACEEVENT._serialized_start=116423 + _TRUSTYSMCFTRACEEVENT._serialized_end=116493 + _TRUSTYSMCDONEFTRACEEVENT._serialized_start=116495 + _TRUSTYSMCDONEFTRACEEVENT._serialized_end=116534 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_start=116536 + _TRUSTYSTDCALL32FTRACEEVENT._serialized_end=116612 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_start=116614 + _TRUSTYSTDCALL32DONEFTRACEEVENT._serialized_end=116659 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_start=116661 + _TRUSTYSHAREMEMORYFTRACEEVENT._serialized_end=116733 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_start=116735 + _TRUSTYSHAREMEMORYDONEFTRACEEVENT._serialized_end=116840 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_start=116842 + _TRUSTYRECLAIMMEMORYFTRACEEVENT._serialized_end=116886 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_start=116888 + _TRUSTYRECLAIMMEMORYDONEFTRACEEVENT._serialized_end=116949 + _TRUSTYIRQFTRACEEVENT._serialized_start=116951 + _TRUSTYIRQFTRACEEVENT._serialized_end=116986 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_start=116988 + _TRUSTYIPCHANDLEEVENTFTRACEEVENT._serialized_end=117071 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_start=117073 + _TRUSTYIPCCONNECTFTRACEEVENT._serialized_end=117145 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_start=117147 + _TRUSTYIPCCONNECTENDFTRACEEVENT._serialized_end=117221 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_start=117224 + _TRUSTYIPCWRITEFTRACEEVENT._serialized_end=117354 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_start=117356 + _TRUSTYIPCPOLLFTRACEEVENT._serialized_end=117433 + _TRUSTYIPCREADFTRACEEVENT._serialized_start=117435 + _TRUSTYIPCREADFTRACEEVENT._serialized_end=117493 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_start=117495 + _TRUSTYIPCREADENDFTRACEEVENT._serialized_end=117609 + _TRUSTYIPCRXFTRACEEVENT._serialized_start=117611 + _TRUSTYIPCRXFTRACEEVENT._serialized_end=117683 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_start=117685 + _TRUSTYENQUEUENOPFTRACEEVENT._serialized_end=117756 + _UFSHCDCOMMANDFTRACEEVENT._serialized_start=117759 + _UFSHCDCOMMANDFTRACEEVENT._serialized_end=117945 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_start=117947 + _UFSHCDCLKGATINGFTRACEEVENT._serialized_end=118008 + _V4L2QBUFFTRACEEVENT._serialized_start=118011 + _V4L2QBUFFTRACEEVENT._serialized_end=118422 + _V4L2DQBUFFTRACEEVENT._serialized_start=118425 + _V4L2DQBUFFTRACEEVENT._serialized_end=118837 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_start=118840 + _VB2V4L2BUFQUEUEFTRACEEVENT._serialized_end=119210 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_start=119213 + _VB2V4L2BUFDONEFTRACEEVENT._serialized_end=119582 + _VB2V4L2QBUFFTRACEEVENT._serialized_start=119585 + _VB2V4L2QBUFFTRACEEVENT._serialized_end=119951 + _VB2V4L2DQBUFFTRACEEVENT._serialized_start=119954 + _VB2V4L2DQBUFFTRACEEVENT._serialized_end=120321 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_start=120324 + _VIRTIOGPUCMDQUEUEFTRACEEVENT._serialized_end=120489 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_start=120492 + _VIRTIOGPUCMDRESPONSEFTRACEEVENT._serialized_end=120660 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_start=120662 + _VIRTIOVIDEOCMDFTRACEEVENT._serialized_end=120722 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_start=120724 + _VIRTIOVIDEOCMDDONEFTRACEEVENT._serialized_end=120788 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_start=120791 + _VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT._serialized_end=120987 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_start=120990 + _VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT._serialized_end=121190 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_start=121192 + _MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT._serialized_end=121288 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_start=121290 + _MMVMSCANDIRECTRECLAIMENDFTRACEEVENT._serialized_end=121349 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_start=121351 + _MMVMSCANKSWAPDWAKEFTRACEEVENT._serialized_end=121423 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_start=121425 + _MMVMSCANKSWAPDSLEEPFTRACEEVENT._serialized_end=121470 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_start=121473 + _MMSHRINKSLABSTARTFTRACEEVENT._serialized_end=121706 + _MMSHRINKSLABENDFTRACEEVENT._serialized_start=121709 + _MMSHRINKSLABENDFTRACEEVENT._serialized_end=121854 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_start=121856 + _WORKQUEUEACTIVATEWORKFTRACEEVENT._serialized_end=121904 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_start=121906 + _WORKQUEUEEXECUTEENDFTRACEEVENT._serialized_end=121970 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_start=121972 + _WORKQUEUEEXECUTESTARTFTRACEEVENT._serialized_end=122038 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_start=122040 + _WORKQUEUEQUEUEWORKFTRACEEVENT._serialized_end=122152 + _FTRACEEVENT._serialized_start=122156 + _FTRACEEVENT._serialized_end=167059 + _FTRACECPUSTATS._serialized_start=167062 + _FTRACECPUSTATS._serialized_end=167255 + _FTRACEKPROBESTATS._serialized_start=167257 + _FTRACEKPROBESTATS._serialized_end=167306 + _FTRACESTATS._serialized_start=167309 + _FTRACESTATS._serialized_end=167892 + _FTRACESTATS_PHASE._serialized_start=167830 + _FTRACESTATS_PHASE._serialized_end=167892 + _FTRACEEVENTBUNDLE._serialized_start=167895 + _FTRACEEVENTBUNDLE._serialized_end=168975 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_start=168433 + _FTRACEEVENTBUNDLE_COMPACTSCHED._serialized_end=168799 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_start=168801 + _FTRACEEVENTBUNDLE_FTRACEERROR._serialized_end=168885 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_start=168887 + _FTRACEEVENTBUNDLE_GENERICEVENTDESCRIPTOR._serialized_end=168975 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_start=168977 + _GENERICKERNELCPUFREQUENCYEVENT._serialized_end=169039 + _GENERICKERNELTASKSTATEEVENT._serialized_start=169042 + _GENERICKERNELTASKSTATEEVENT._serialized_end=169460 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_start=169203 + _GENERICKERNELTASKSTATEEVENT_TASKSTATEENUM._serialized_end=169460 + _GENERICKERNELTASKRENAMEEVENT._serialized_start=169462 + _GENERICKERNELTASKRENAMEEVENT._serialized_end=169519 + _GENERICKERNELPROCESSTREE._serialized_start=169522 + _GENERICKERNELPROCESSTREE._serialized_end=169814 + _GENERICKERNELPROCESSTREE_THREAD._serialized_start=169687 + _GENERICKERNELPROCESSTREE_THREAD._serialized_end=169759 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_start=169761 + _GENERICKERNELPROCESSTREE_PROCESS._serialized_end=169814 + _GPUCOUNTEREVENT._serialized_start=169817 + _GPUCOUNTEREVENT._serialized_end=170068 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_start=169982 + _GPUCOUNTEREVENT_GPUCOUNTER._serialized_end=170068 + _GPULOG._serialized_start=170071 + _GPULOG._serialized_end=170331 + _GPULOG_SEVERITY._serialized_start=170168 + _GPULOG_SEVERITY._serialized_end=170331 + _GPURENDERSTAGEEVENT._serialized_start=170334 + _GPURENDERSTAGEEVENT._serialized_end=171253 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_start=170843 + _GPURENDERSTAGEEVENT_EXTRADATA._serialized_end=170883 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_start=170886 + _GPURENDERSTAGEEVENT_SPECIFICATIONS._serialized_end=171247 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_start=171154 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC._serialized_end=171197 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_start=171199 + _GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION._serialized_end=171247 + _INTERNEDGRAPHICSCONTEXT._serialized_start=171256 + _INTERNEDGRAPHICSCONTEXT._serialized_end=171426 + _INTERNEDGRAPHICSCONTEXT_API._serialized_start=171368 + _INTERNEDGRAPHICSCONTEXT_API._serialized_end=171426 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_start=171429 + _INTERNEDGPURENDERSTAGESPECIFICATION._serialized_end=171667 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_start=171608 + _INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY._serialized_end=171667 + _VULKANAPIEVENT._serialized_start=171670 + _VULKANAPIEVENT._serialized_end=172113 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_start=171856 + _VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME._serialized_end=171970 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_start=171973 + _VULKANAPIEVENT_VKQUEUESUBMIT._serialized_end=172104 + _VULKANMEMORYEVENTANNOTATION._serialized_start=172115 + _VULKANMEMORYEVENTANNOTATION._serialized_end=172237 + _VULKANMEMORYEVENT._serialized_start=172240 + _VULKANMEMORYEVENT._serialized_end=173112 + _VULKANMEMORYEVENT_SOURCE._serialized_start=172725 + _VULKANMEMORYEVENT_SOURCE._serialized_end=172858 + _VULKANMEMORYEVENT_OPERATION._serialized_start=172860 + _VULKANMEMORYEVENT_OPERATION._serialized_end=172977 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_start=172980 + _VULKANMEMORYEVENT_ALLOCATIONSCOPE._serialized_end=173112 + _INTERNEDSTRING._serialized_start=173114 + _INTERNEDSTRING._serialized_end=173156 + _LINE._serialized_start=173158 + _LINE._serialized_end=173234 + _ADDRESSSYMBOLS._serialized_start=173236 + _ADDRESSSYMBOLS._serialized_end=173307 + _MODULESYMBOLS._serialized_start=173309 + _MODULESYMBOLS._serialized_end=173414 + _MAPPING._serialized_start=173417 + _MAPPING._serialized_end=173573 + _FRAME._serialized_start=173575 + _FRAME._serialized_end=173657 + _CALLSTACK._serialized_start=173659 + _CALLSTACK._serialized_end=173702 + _HISTOGRAMNAME._serialized_start=173704 + _HISTOGRAMNAME._serialized_end=173746 + _CHROMEHISTOGRAMSAMPLE._serialized_start=173748 + _CHROMEHISTOGRAMSAMPLE._serialized_end=173838 + _DEBUGANNOTATION._serialized_start=173841 + _DEBUGANNOTATION._serialized_end=174781 + _DEBUGANNOTATION_NESTEDVALUE._serialized_start=174353 + _DEBUGANNOTATION_NESTEDVALUE._serialized_end=174733 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_start=174683 + _DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE._serialized_end=174733 + _DEBUGANNOTATIONNAME._serialized_start=174783 + _DEBUGANNOTATIONNAME._serialized_end=174831 + _DEBUGANNOTATIONVALUETYPENAME._serialized_start=174833 + _DEBUGANNOTATIONVALUETYPENAME._serialized_end=174890 + _LOGMESSAGE._serialized_start=174893 + _LOGMESSAGE._serialized_end=175152 + _LOGMESSAGE_PRIORITY._serialized_start=175007 + _LOGMESSAGE_PRIORITY._serialized_end=175152 + _LOGMESSAGEBODY._serialized_start=175154 + _LOGMESSAGEBODY._serialized_end=175197 + _UNSYMBOLIZEDSOURCELOCATION._serialized_start=175199 + _UNSYMBOLIZEDSOURCELOCATION._serialized_end=175276 + _SOURCELOCATION._serialized_start=175278 + _SOURCELOCATION._serialized_end=175370 + _CHROMEACTIVEPROCESSES._serialized_start=175372 + _CHROMEACTIVEPROCESSES._serialized_end=175408 + _CHROMEAPPLICATIONSTATEINFO._serialized_start=175411 + _CHROMEAPPLICATIONSTATEINFO._serialized_end=175777 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_start=175537 + _CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE._serialized_end=175777 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_start=175780 + _CHROMECOMPOSITORSCHEDULERSTATE._serialized_end=176867 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_start=176671 + _CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE._serialized_end=176861 + _CHROMECOMPOSITORSTATEMACHINE._serialized_start=176870 + _CHROMECOMPOSITORSTATEMACHINE._serialized_end=180580 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_start=177061 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE._serialized_end=178360 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_start=177600 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE._serialized_end=177761 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_start=177764 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE._serialized_end=177911 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_start=177914 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE._serialized_end=178158 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_start=178161 + _CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE._serialized_end=178360 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_start=178363 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE._serialized_end=180580 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_start=180257 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY._serialized_end=180441 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_start=180444 + _CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE._serialized_end=180574 + _BEGINFRAMEARGS._serialized_start=180583 + _BEGINFRAMEARGS._serialized_end=181137 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_start=180959 + _BEGINFRAMEARGS_BEGINFRAMEARGSTYPE._serialized_end=181121 + _BEGINIMPLFRAMEARGS._serialized_start=181140 + _BEGINIMPLFRAMEARGS._serialized_end=181716 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_start=181457 + _BEGINIMPLFRAMEARGS_TIMESTAMPSINUS._serialized_end=181650 + _BEGINIMPLFRAMEARGS_STATE._serialized_start=181652 + _BEGINIMPLFRAMEARGS_STATE._serialized_end=181708 + _BEGINFRAMEOBSERVERSTATE._serialized_start=181718 + _BEGINFRAMEOBSERVERSTATE._serialized_end=181841 + _BEGINFRAMESOURCESTATE._serialized_start=181844 + _BEGINFRAMESOURCESTATE._serialized_end=181989 + _COMPOSITORTIMINGHISTORY._serialized_start=181992 + _COMPOSITORTIMINGHISTORY._serialized_end=182372 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_start=182374 + _CHROMECONTENTSETTINGSEVENTINFO._serialized_end=182436 + _CHROMEFRAMEREPORTER._serialized_start=182439 + _CHROMEFRAMEREPORTER._serialized_end=183559 + _CHROMEFRAMEREPORTER_STATE._serialized_start=183154 + _CHROMEFRAMEREPORTER_STATE._serialized_end=183263 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_start=183265 + _CHROMEFRAMEREPORTER_FRAMEDROPREASON._serialized_end=183391 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_start=183393 + _CHROMEFRAMEREPORTER_SCROLLSTATE._serialized_end=183516 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_start=183518 + _CHROMEFRAMEREPORTER_FRAMETYPE._serialized_end=183555 + _CHROMEKEYEDSERVICE._serialized_start=183561 + _CHROMEKEYEDSERVICE._serialized_end=183595 + _CHROMELATENCYINFO._serialized_start=183598 + _CHROMELATENCYINFO._serialized_end=185380 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_start=183927 + _CHROMELATENCYINFO_COMPONENTINFO._serialized_end=184040 + _CHROMELATENCYINFO_STEP._serialized_start=184043 + _CHROMELATENCYINFO_STEP._serialized_end=184445 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_start=184448 + _CHROMELATENCYINFO_LATENCYCOMPONENTTYPE._serialized_end=185205 + _CHROMELATENCYINFO_INPUTTYPE._serialized_start=185208 + _CHROMELATENCYINFO_INPUTTYPE._serialized_end=185380 + _CHROMELEGACYIPC._serialized_start=185383 + _CHROMELEGACYIPC._serialized_end=186357 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_start=185495 + _CHROMELEGACYIPC_MESSAGECLASS._serialized_end=186357 + _CHROMEMESSAGEPUMP._serialized_start=186359 + _CHROMEMESSAGEPUMP._serialized_end=186443 + _CHROMEMOJOEVENTINFO._serialized_start=186446 + _CHROMEMOJOEVENTINFO._serialized_end=186650 + _CHROMERENDERERSCHEDULERSTATE._serialized_start=186652 + _CHROMERENDERERSCHEDULERSTATE._serialized_end=186778 + _CHROMEUSEREVENT._serialized_start=186780 + _CHROMEUSEREVENT._serialized_end=186834 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_start=186836 + _CHROMEWINDOWHANDLEEVENTINFO._serialized_end=186916 + _SCREENSHOT._serialized_start=186918 + _SCREENSHOT._serialized_end=186949 + _TASKEXECUTION._serialized_start=186951 + _TASKEXECUTION._serialized_end=186991 + _TRACKEVENT._serialized_start=186994 + _TRACKEVENT._serialized_end=190161 + _TRACKEVENT_LEGACYEVENT._serialized_start=189183 + _TRACKEVENT_LEGACYEVENT._serialized_end=189865 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_start=189674 + _TRACKEVENT_LEGACYEVENT_FLOWDIRECTION._serialized_end=189754 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_start=189756 + _TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE._serialized_end=189853 + _TRACKEVENT_TYPE._serialized_start=189867 + _TRACKEVENT_TYPE._serialized_end=189973 + _TRACKEVENTDEFAULTS._serialized_start=190163 + _TRACKEVENTDEFAULTS._serialized_end=190280 + _EVENTCATEGORY._serialized_start=190282 + _EVENTCATEGORY._serialized_end=190324 + _EVENTNAME._serialized_start=190326 + _EVENTNAME._serialized_end=190364 + _INTERNEDDATA._serialized_start=190367 + _INTERNEDDATA._serialized_end=192482 + _MEMORYTRACKERSNAPSHOT._serialized_start=192485 + _MEMORYTRACKERSNAPSHOT._serialized_end=193493 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_start=192700 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT._serialized_end=193418 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_start=192914 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE._serialized_end=193325 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_start=193098 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY._serialized_end=193325 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_start=193279 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS._serialized_end=193325 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_start=193327 + _MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE._serialized_end=193418 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_start=193420 + _MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL._serialized_end=193493 + _PERFETTOMETATRACE._serialized_start=193496 + _PERFETTOMETATRACE._serialized_end=194041 + _PERFETTOMETATRACE_ARG._serialized_start=193853 + _PERFETTOMETATRACE_ARG._serialized_end=193980 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_start=193982 + _PERFETTOMETATRACE_INTERNEDSTRING._serialized_end=194026 + _TRACINGSERVICEEVENT._serialized_start=194044 + _TRACINGSERVICEEVENT._serialized_end=194694 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_start=194522 + _TRACINGSERVICEEVENT_DATASOURCES._serialized_end=194680 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_start=194619 + _TRACINGSERVICEEVENT_DATASOURCES_DATASOURCE._serialized_end=194680 + _ANDROIDENERGYCONSUMER._serialized_start=194696 + _ANDROIDENERGYCONSUMER._serialized_end=194792 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_start=194794 + _ANDROIDENERGYCONSUMERDESCRIPTOR._serialized_end=194893 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_start=194896 + _ANDROIDENERGYESTIMATIONBREAKDOWN._serialized_end=195216 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_start=195163 + _ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN._serialized_end=195216 + _ENTITYSTATERESIDENCY._serialized_start=195219 + _ENTITYSTATERESIDENCY._serialized_end=195662 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_start=195400 + _ENTITYSTATERESIDENCY_POWERENTITYSTATE._serialized_end=195502 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_start=195505 + _ENTITYSTATERESIDENCY_STATERESIDENCY._serialized_end=195662 + _BATTERYCOUNTERS._serialized_start=195665 + _BATTERYCOUNTERS._serialized_end=195842 + _POWERRAILS._serialized_start=195845 + _POWERRAILS._serialized_end=196172 + _POWERRAILS_RAILDESCRIPTOR._serialized_start=196011 + _POWERRAILS_RAILDESCRIPTOR._serialized_end=196105 + _POWERRAILS_ENERGYDATA._serialized_start=196107 + _POWERRAILS_ENERGYDATA._serialized_end=196172 + _OBFUSCATEDMEMBER._serialized_start=196174 + _OBFUSCATEDMEMBER._serialized_end=196244 + _OBFUSCATEDCLASS._serialized_start=196247 + _OBFUSCATEDCLASS._serialized_end=196442 + _DEOBFUSCATIONMAPPING._serialized_start=196445 + _DEOBFUSCATIONMAPPING._serialized_end=196573 + _HEAPGRAPHROOT._serialized_start=196576 + _HEAPGRAPHROOT._serialized_end=197014 + _HEAPGRAPHROOT_TYPE._serialized_start=196674 + _HEAPGRAPHROOT_TYPE._serialized_end=197014 + _HEAPGRAPHTYPE._serialized_start=197017 + _HEAPGRAPHTYPE._serialized_end=197501 + _HEAPGRAPHTYPE_KIND._serialized_start=197239 + _HEAPGRAPHTYPE_KIND._serialized_end=197501 + _HEAPGRAPHOBJECT._serialized_start=197504 + _HEAPGRAPHOBJECT._serialized_end=197960 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_start=197846 + _HEAPGRAPHOBJECT_HEAPTYPE._serialized_end=197946 + _HEAPGRAPH._serialized_start=197963 + _HEAPGRAPH._serialized_end=198283 + _PROFILEPACKET._serialized_start=198286 + _PROFILEPACKET._serialized_end=199754 + _PROFILEPACKET_HEAPSAMPLE._serialized_start=198594 + _PROFILEPACKET_HEAPSAMPLE._serialized_end=198780 + _PROFILEPACKET_HISTOGRAM._serialized_start=198783 + _PROFILEPACKET_HISTOGRAM._serialized_end=198926 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_start=198862 + _PROFILEPACKET_HISTOGRAM_BUCKET._serialized_end=198926 + _PROFILEPACKET_PROCESSSTATS._serialized_start=198929 + _PROFILEPACKET_PROCESSSTATS._serialized_end=199151 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_start=199154 + _PROFILEPACKET_PROCESSHEAPSAMPLES._serialized_end=199754 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_start=199649 + _PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR._serialized_end=199754 + _STREAMINGALLOCATION._serialized_start=199757 + _STREAMINGALLOCATION._serialized_end=199914 + _STREAMINGFREE._serialized_start=199916 + _STREAMINGFREE._serialized_end=199990 + _STREAMINGPROFILEPACKET._serialized_start=199992 + _STREAMINGPROFILEPACKET._serialized_end=200093 + _PROFILING._serialized_start=200096 + _PROFILING._serialized_end=200752 + _PROFILING_CPUMODE._serialized_start=200109 + _PROFILING_CPUMODE._serialized_end=200233 + _PROFILING_STACKUNWINDERROR._serialized_start=200236 + _PROFILING_STACKUNWINDERROR._serialized_end=200752 + _PERFSAMPLE._serialized_start=200755 + _PERFSAMPLE._serialized_end=201634 + _PERFSAMPLE_PRODUCEREVENT._serialized_start=201179 + _PERFSAMPLE_PRODUCEREVENT._serialized_end=201399 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_start=201290 + _PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON._serialized_end=201368 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_start=201402 + _PERFSAMPLE_SAMPLESKIPREASON._serialized_end=201575 + _PERFSAMPLEDEFAULTS._serialized_start=201637 + _PERFSAMPLEDEFAULTS._serialized_end=201823 + _SMAPSENTRY._serialized_start=201826 + _SMAPSENTRY._serialized_end=202213 + _SMAPSPACKET._serialized_start=202215 + _SMAPSPACKET._serialized_end=202287 + _PROCESSSTATS._serialized_start=202290 + _PROCESSSTATS._serialized_end=203117 + _PROCESSSTATS_THREAD._serialized_start=202398 + _PROCESSSTATS_THREAD._serialized_end=202437 + _PROCESSSTATS_FDINFO._serialized_start=202439 + _PROCESSSTATS_FDINFO._serialized_end=202473 + _PROCESSSTATS_PROCESS._serialized_start=202476 + _PROCESSSTATS_PROCESS._serialized_end=203117 + _PROCESSTREE._serialized_start=203120 + _PROCESSTREE._serialized_end=203512 + _PROCESSTREE_THREAD._serialized_start=203280 + _PROCESSTREE_THREAD._serialized_end=203344 + _PROCESSTREE_PROCESS._serialized_start=203347 + _PROCESSTREE_PROCESS._serialized_end=203512 + _REMOTECLOCKSYNC._serialized_start=203515 + _REMOTECLOCKSYNC._serialized_end=203726 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_start=203604 + _REMOTECLOCKSYNC_SYNCEDCLOCKS._serialized_end=203726 + _ATOM._serialized_start=203728 + _ATOM._serialized_end=203734 + _STATSDATOM._serialized_start=203736 + _STATSDATOM._serialized_end=203810 + _SYSSTATS._serialized_start=203813 + _SYSSTATS._serialized_end=205837 + _SYSSTATS_MEMINFOVALUE._serialized_start=204601 + _SYSSTATS_MEMINFOVALUE._serialized_end=204677 + _SYSSTATS_VMSTATVALUE._serialized_start=204679 + _SYSSTATS_VMSTATVALUE._serialized_end=204753 + _SYSSTATS_CPUTIMES._serialized_start=204756 + _SYSSTATS_CPUTIMES._serialized_end=204936 + _SYSSTATS_INTERRUPTCOUNT._serialized_start=204938 + _SYSSTATS_INTERRUPTCOUNT._serialized_end=204982 + _SYSSTATS_DEVFREQVALUE._serialized_start=204984 + _SYSSTATS_DEVFREQVALUE._serialized_end=205026 + _SYSSTATS_BUDDYINFO._serialized_start=205028 + _SYSSTATS_BUDDYINFO._serialized_end=205088 + _SYSSTATS_DISKSTAT._serialized_start=205091 + _SYSSTATS_DISKSTAT._serialized_end=205306 + _SYSSTATS_PSISAMPLE._serialized_start=205309 + _SYSSTATS_PSISAMPLE._serialized_end=205617 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_start=205408 + _SYSSTATS_PSISAMPLE_PSIRESOURCE._serialized_end=205617 + _SYSSTATS_THERMALZONE._serialized_start=205619 + _SYSSTATS_THERMALZONE._serialized_end=205674 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_start=205676 + _SYSSTATS_CPUIDLESTATEENTRY._serialized_end=205731 + _SYSSTATS_CPUIDLESTATE._serialized_start=205733 + _SYSSTATS_CPUIDLESTATE._serialized_end=205837 + _CPUINFO._serialized_start=205840 + _CPUINFO._serialized_end=206172 + _CPUINFO_ARMCPUIDENTIFIER._serialized_start=205895 + _CPUINFO_ARMCPUIDENTIFIER._serialized_end=206005 + _CPUINFO_CPU._serialized_start=206008 + _CPUINFO_CPU._serialized_end=206172 + _TESTEVENT._serialized_start=206175 + _TESTEVENT._serialized_end=206554 + _TESTEVENT_TESTPAYLOAD._serialized_start=206312 + _TESTEVENT_TESTPAYLOAD._serialized_end=206554 + _TRACEPACKETDEFAULTS._serialized_start=206557 + _TRACEPACKETDEFAULTS._serialized_end=206799 + _TRACEUUID._serialized_start=206801 + _TRACEUUID._serialized_end=206838 + _PROCESSDESCRIPTOR._serialized_start=206841 + _PROCESSDESCRIPTOR._serialized_end=207328 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_start=207103 + _PROCESSDESCRIPTOR_CHROMEPROCESSTYPE._serialized_end=207328 + _TRACKEVENTRANGEOFINTEREST._serialized_start=207330 + _TRACKEVENTRANGEOFINTEREST._serialized_end=207375 + _THREADDESCRIPTOR._serialized_start=207378 + _THREADDESCRIPTOR._serialized_end=208134 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_start=207663 + _THREADDESCRIPTOR_CHROMETHREADTYPE._serialized_end=208134 + _CHROMEPROCESSDESCRIPTOR._serialized_start=208137 + _CHROMEPROCESSDESCRIPTOR._serialized_end=208292 + _CHROMETHREADDESCRIPTOR._serialized_start=208294 + _CHROMETHREADDESCRIPTOR._serialized_end=208392 + _COUNTERDESCRIPTOR._serialized_start=208395 + _COUNTERDESCRIPTOR._serialized_end=208850 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_start=208654 + _COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE._serialized_end=208765 + _COUNTERDESCRIPTOR_UNIT._serialized_start=208767 + _COUNTERDESCRIPTOR_UNIT._serialized_end=208850 + _TRACKDESCRIPTOR._serialized_start=208853 + _TRACKDESCRIPTOR._serialized_end=209905 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_start=209577 + _TRACKDESCRIPTOR_CHILDTRACKSORDERING._serialized_end=209663 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_start=209666 + _TRACKDESCRIPTOR_SIBLINGMERGEBEHAVIOR._serialized_end=209852 + _TRANSLATIONTABLE._serialized_start=209908 + _TRANSLATIONTABLE._serialized_end=210401 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_start=210404 + _CHROMEHISTORGRAMTRANSLATIONTABLE._serialized_end=210578 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210529 + _CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210578 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_start=210581 + _CHROMEUSEREVENTTRANSLATIONTABLE._serialized_end=210772 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_start=210717 + _CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY._serialized_end=210772 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_start=210775 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE._serialized_end=211130 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_start=211022 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY._serialized_end=211075 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_start=211077 + _CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY._serialized_end=211130 + _SLICENAMETRANSLATIONTABLE._serialized_start=211133 + _SLICENAMETRANSLATIONTABLE._serialized_end=211327 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211267 + _SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211327 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_start=211330 + _PROCESSTRACKNAMETRANSLATIONTABLE._serialized_end=211538 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_start=211267 + _PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY._serialized_end=211327 + _CHROMESTUDYTRANSLATIONTABLE._serialized_start=211541 + _CHROMESTUDYTRANSLATIONTABLE._serialized_end=211705 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_start=210529 + _CHROMESTUDYTRANSLATIONTABLE_HASHTONAMEENTRY._serialized_end=210578 + _TRIGGER._serialized_start=211707 + _TRIGGER._serialized_end=211814 + _UISTATE._serialized_start=211817 + _UISTATE._serialized_end=212014 + _UISTATE_HIGHLIGHTPROCESS._serialized_start=211950 + _UISTATE_HIGHLIGHTPROCESS._serialized_end=212014 + _TRACEPACKET._serialized_start=212017 + _TRACEPACKET._serialized_end=218201 + _TRACEPACKET_SEQUENCEFLAGS._serialized_start=218014 + _TRACEPACKET_SEQUENCEFLAGS._serialized_end=218118 + _TRACE._serialized_start=218203 + _TRACE._serialized_end=218256 # @@protoc_insertion_point(module_scope) diff --git a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi index a34bdd42315..e78ae3507f4 100644 --- a/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi +++ b/python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi @@ -2596,13 +2596,21 @@ class BluetoothTraceEvent(_message.Message): def __init__(self, packet_type: _Optional[_Union[BluetoothTracePacketType, str]] = ..., count: _Optional[int] = ..., length: _Optional[int] = ..., duration: _Optional[int] = ..., op_code: _Optional[int] = ..., event_code: _Optional[int] = ..., subevent_code: _Optional[int] = ..., connection_handle: _Optional[int] = ...) -> None: ... class BlurRegion(_message.Message): - __slots__ = ["alpha", "blur_radius", "bottom", "corner_radius_bl", "corner_radius_br", "corner_radius_tl", "corner_radius_tr", "left", "right", "top"] + __slots__ = ["alpha", "blur_radius", "bottom", "corner_radius_bl", "corner_radius_blx", "corner_radius_bly", "corner_radius_br", "corner_radius_brx", "corner_radius_bry", "corner_radius_tl", "corner_radius_tlx", "corner_radius_tly", "corner_radius_tr", "corner_radius_trx", "corner_radius_try", "left", "right", "top"] ALPHA_FIELD_NUMBER: _ClassVar[int] BLUR_RADIUS_FIELD_NUMBER: _ClassVar[int] BOTTOM_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_BLX_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_BLY_FIELD_NUMBER: _ClassVar[int] CORNER_RADIUS_BL_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_BRX_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_BRY_FIELD_NUMBER: _ClassVar[int] CORNER_RADIUS_BR_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_TLX_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_TLY_FIELD_NUMBER: _ClassVar[int] CORNER_RADIUS_TL_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_TRX_FIELD_NUMBER: _ClassVar[int] + CORNER_RADIUS_TRY_FIELD_NUMBER: _ClassVar[int] CORNER_RADIUS_TR_FIELD_NUMBER: _ClassVar[int] LEFT_FIELD_NUMBER: _ClassVar[int] RIGHT_FIELD_NUMBER: _ClassVar[int] @@ -2611,13 +2619,21 @@ class BlurRegion(_message.Message): blur_radius: int bottom: int corner_radius_bl: int + corner_radius_blx: float + corner_radius_bly: float corner_radius_br: float + corner_radius_brx: float + corner_radius_bry: float corner_radius_tl: int + corner_radius_tlx: float + corner_radius_tly: float corner_radius_tr: int + corner_radius_trx: float + corner_radius_try: float left: int right: int top: int - def __init__(self, blur_radius: _Optional[int] = ..., corner_radius_tl: _Optional[int] = ..., corner_radius_tr: _Optional[int] = ..., corner_radius_bl: _Optional[int] = ..., corner_radius_br: _Optional[float] = ..., alpha: _Optional[float] = ..., left: _Optional[int] = ..., top: _Optional[int] = ..., right: _Optional[int] = ..., bottom: _Optional[int] = ...) -> None: ... + def __init__(self, blur_radius: _Optional[int] = ..., corner_radius_tl: _Optional[int] = ..., corner_radius_tr: _Optional[int] = ..., corner_radius_bl: _Optional[int] = ..., corner_radius_br: _Optional[float] = ..., corner_radius_tlx: _Optional[float] = ..., corner_radius_tly: _Optional[float] = ..., corner_radius_trx: _Optional[float] = ..., corner_radius_try: _Optional[float] = ..., corner_radius_blx: _Optional[float] = ..., corner_radius_bly: _Optional[float] = ..., corner_radius_brx: _Optional[float] = ..., corner_radius_bry: _Optional[float] = ..., alpha: _Optional[float] = ..., left: _Optional[int] = ..., top: _Optional[int] = ..., right: _Optional[int] = ..., bottom: _Optional[int] = ...) -> None: ... class BorderSettings(_message.Message): __slots__ = ["color", "stroke_width"] From fc180244cd5ac390d91ad4e5843e2392fd962064 Mon Sep 17 00:00:00 2001 From: Steve Golton Date: Thu, 16 Oct 2025 22:18:04 +0100 Subject: [PATCH 106/370] ui: Use bigints for storing pids & tids everywhere (#3320) Fixes: https://buganizer.corp.google.com/issues/452650502 --- ui/src/components/colorizer.ts | 6 +++--- ui/src/components/colorizer_unittest.ts | 16 ++++++++-------- ui/src/components/details/process_details_tab.ts | 2 +- ui/src/components/details/thread_details_tab.ts | 2 +- .../details/thread_slice_details_tab.ts | 4 ++-- ui/src/components/sql_utils/process.ts | 15 ++++++++++----- ui/src/components/sql_utils/thread.ts | 10 +++++----- ui/src/components/widgets/process.ts | 4 ++-- ui/src/components/widgets/thread.ts | 6 +++--- ui/src/core/timeline.ts | 2 +- .../plugins/com.android.AndroidLog/logs_panel.ts | 12 ++++++------ ui/src/plugins/dev.perfetto.CpuProfile/index.ts | 1 - .../plugins/dev.perfetto.GpuByProcess/index.ts | 3 ++- .../index.ts | 9 +++++++-- .../dev.perfetto.KernelTrackEvent/index.ts | 15 ++++++++++----- ui/src/plugins/dev.perfetto.LinuxPerf/index.ts | 12 +++++++++--- .../plugins/dev.perfetto.ProcessSummary/index.ts | 11 ++++++++--- .../process_scheduling_track.ts | 6 ++---- .../process_summary_track.ts | 2 +- .../dev.perfetto.ProcessThreadGroups/index.ts | 9 ++++++--- .../dev.perfetto.Sched/cpu_slice_track.ts | 10 +++++----- .../dev.perfetto.Sched/sched_details_tab.ts | 2 +- ui/src/plugins/dev.perfetto.Thread/index.ts | 14 ++++++++++---- ui/src/plugins/dev.perfetto.Thread/threads.ts | 6 +++--- .../dev.perfetto.TraceProcessorTrack/index.ts | 9 +++++---- ui/src/plugins/dev.perfetto.TrackEvent/index.ts | 12 +++++++++--- ui/src/plugins/org.chromium.ChromeTasks/index.ts | 6 +++--- ui/src/public/timeline.ts | 2 +- ui/src/public/utils.ts | 2 +- 29 files changed, 125 insertions(+), 85 deletions(-) diff --git a/ui/src/components/colorizer.ts b/ui/src/components/colorizer.ts index a992ad3a1cd..c38f1aa0f45 100644 --- a/ui/src/components/colorizer.ts +++ b/ui/src/components/colorizer.ts @@ -149,13 +149,13 @@ function proceduralColorScheme(seed: string): ColorScheme { } } -export function colorForTid(tid: number): ColorScheme { +export function colorForTid(tid: bigint | number): ColorScheme { return materialColorScheme(tid.toString()); } export function colorForThread(thread?: { - pid?: number; - tid: number; + pid?: bigint; + tid: bigint; }): ColorScheme { if (thread === undefined) { return GRAY; diff --git a/ui/src/components/colorizer_unittest.ts b/ui/src/components/colorizer_unittest.ts index 1394497bb2f..ce6a2e0c99c 100644 --- a/ui/src/components/colorizer_unittest.ts +++ b/ui/src/components/colorizer_unittest.ts @@ -15,26 +15,26 @@ import {colorForCpu, colorForThread} from './colorizer'; const PROCESS_A_THREAD_A = { - tid: 100, - pid: 100, + tid: 100n, + pid: 100n, }; const PROCESS_A_THREAD_B = { - tid: 101, - pid: 100, + tid: 101n, + pid: 100n, }; const PROCESS_B_THREAD_A = { - tid: 200, - pid: 200, + tid: 200n, + pid: 200n, }; const PROCESS_UNK_THREAD_A = { - tid: 42, + tid: 42n, }; const PROCESS_UNK_THREAD_B = { - tid: 42, + tid: 42n, }; test('it gives threads colors by pid if present', () => { diff --git a/ui/src/components/details/process_details_tab.ts b/ui/src/components/details/process_details_tab.ts index d168dc1a6cb..001fc4b5bd6 100644 --- a/ui/src/components/details/process_details_tab.ts +++ b/ui/src/components/details/process_details_tab.ts @@ -30,7 +30,7 @@ export class ProcessDetailsTab implements Tab { // However, the only place which creates `ProcessDetailsTab` currently is `renderProcessRef`, // which already has `pid` available (note that Details is already fetching the data, including // the `pid` from the trace processor, but it doesn't expose it for now). - constructor(private args: {trace: Trace; upid: Upid; pid?: number}) { + constructor(private args: {trace: Trace; upid: Upid; pid?: bigint}) { this.data = new Details(args.trace, 'process', args.upid, { 'pid': d.Value('pid'), 'Name': d.Value('name'), diff --git a/ui/src/components/details/thread_details_tab.ts b/ui/src/components/details/thread_details_tab.ts index 9b75e45faae..a10e26f6de7 100644 --- a/ui/src/components/details/thread_details_tab.ts +++ b/ui/src/components/details/thread_details_tab.ts @@ -27,7 +27,7 @@ export class ThreadDetailsTab implements Tab { // TODO(altimin): Ideally, we would not require the tid to be passed in, but // fetch it from the underlying data instead. See comment in ProcessDetailsTab // for more details. - constructor(private args: {trace: Trace; utid: Utid; tid?: number}) { + constructor(private args: {trace: Trace; utid: Utid; tid?: bigint}) { this.data = new Details(args.trace, 'thread', args.utid, { 'tid': d.Value('tid'), 'Name': d.Value('name'), diff --git a/ui/src/components/details/thread_slice_details_tab.ts b/ui/src/components/details/thread_slice_details_tab.ts index b676face607..4a05bbaaf48 100644 --- a/ui/src/components/details/thread_slice_details_tab.ts +++ b/ui/src/components/details/thread_slice_details_tab.ts @@ -57,11 +57,11 @@ interface ContextMenuItem { run(slice: SliceDetails, trace: Trace): void; } -function getTidFromSlice(slice: SliceDetails): number | undefined { +function getTidFromSlice(slice: SliceDetails): bigint | undefined { return slice.thread?.tid; } -function getPidFromSlice(slice: SliceDetails): number | undefined { +function getPidFromSlice(slice: SliceDetails): bigint | undefined { return slice.process?.pid; } diff --git a/ui/src/components/sql_utils/process.ts b/ui/src/components/sql_utils/process.ts index e50f89ee6dd..5ab6d7a9c3c 100644 --- a/ui/src/components/sql_utils/process.ts +++ b/ui/src/components/sql_utils/process.ts @@ -13,7 +13,12 @@ // limitations under the License. import {Engine} from '../../trace_processor/engine'; -import {NUM, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG, + NUM, + NUM_NULL, + STR_NULL, +} from '../../trace_processor/query_result'; import {fromNumNull} from '../../trace_processor/sql_utils'; import {Upid} from './core_types'; @@ -22,7 +27,7 @@ import {Upid} from './core_types'; export interface ProcessInfo { upid: Upid; - pid?: number; + pid?: bigint; name?: string; uid?: number; packageName?: string; @@ -48,7 +53,7 @@ export async function getProcessInfo( `); const row = res.firstRow({ upid: NUM, - pid: NUM, + pid: LONG, name: STR_NULL, uid: NUM_NULL, packageName: STR_NULL, @@ -66,7 +71,7 @@ export async function getProcessInfo( function getDisplayName( name: string | undefined, - id: number | undefined, + id: bigint | undefined, ): string | undefined { if (name === undefined) { return id === undefined ? undefined : `${id}`; @@ -76,7 +81,7 @@ function getDisplayName( export function getProcessName(info?: { name?: string; - pid?: number; + pid?: bigint; }): string | undefined { return getDisplayName(info?.name, info?.pid); } diff --git a/ui/src/components/sql_utils/thread.ts b/ui/src/components/sql_utils/thread.ts index e18147cb381..58d2e251248 100644 --- a/ui/src/components/sql_utils/thread.ts +++ b/ui/src/components/sql_utils/thread.ts @@ -13,7 +13,7 @@ // limitations under the License. import {Engine} from '../../trace_processor/engine'; -import {NUM, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; +import {LONG, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; import {fromNumNull} from '../../trace_processor/sql_utils'; import {ProcessInfo, getProcessInfo, getProcessName} from './process'; import {Upid, Utid} from './core_types'; @@ -23,7 +23,7 @@ import {Upid, Utid} from './core_types'; export interface ThreadInfo { utid: Utid; - tid?: number; + tid?: bigint; name?: string; process?: ProcessInfo; } @@ -38,7 +38,7 @@ export async function getThreadInfo( FROM thread WHERE utid = ${utid}; `) - ).iter({tid: NUM, name: STR_NULL, upid: NUM_NULL}); + ).iter({tid: LONG, name: STR_NULL, upid: NUM_NULL}); if (!it.valid()) { return { utid, @@ -55,7 +55,7 @@ export async function getThreadInfo( function getDisplayName( name: string | undefined, - id: number | undefined, + id: bigint | number | undefined, ): string | undefined { if (name === undefined) { return id === undefined ? undefined : `${id}`; @@ -65,7 +65,7 @@ function getDisplayName( export function getThreadName(info?: { name?: string; - tid?: number; + tid?: bigint; }): string | undefined { return getDisplayName(info?.name, info?.tid); } diff --git a/ui/src/components/widgets/process.ts b/ui/src/components/widgets/process.ts index 0e98f26b851..943afe3513c 100644 --- a/ui/src/components/widgets/process.ts +++ b/ui/src/components/widgets/process.ts @@ -36,7 +36,7 @@ import {asUpid} from '../sql_utils/core_types'; export function showProcessDetailsMenuItem( trace: Trace, upid: Upid, - pid?: number, + pid?: bigint, ): m.Children { return m(MenuItem, { icon: Icons.ExternalLink, @@ -60,7 +60,7 @@ export function processRefMenuItems( info: { upid: Upid; name?: string; - pid?: number; + pid?: bigint; }, ): m.Children { // We capture a copy to be able to pass it across async boundary to `onclick`. diff --git a/ui/src/components/widgets/thread.ts b/ui/src/components/widgets/thread.ts index 3a6768201d5..71a06d4ae6f 100644 --- a/ui/src/components/widgets/thread.ts +++ b/ui/src/components/widgets/thread.ts @@ -32,7 +32,7 @@ import {Trace} from '../../public/trace'; export function showThreadDetailsMenuItem( trace: Trace, utid: Utid, - tid?: number, + tid?: bigint, ): m.Children { return m(MenuItem, { icon: Icons.ExternalLink, @@ -57,7 +57,7 @@ export function threadRefMenuItems( info: { utid: Utid; name?: string; - tid?: number; + tid?: bigint; }, ): m.Children { // We capture a copy to be able to pass it across async boundary to `onclick`. @@ -89,7 +89,7 @@ export function renderThreadRef( info: { utid: Utid; name?: string; - tid?: number; + tid?: bigint; }, ): m.Children { return m( diff --git a/ui/src/core/timeline.ts b/ui/src/core/timeline.ts index e9563cd8de4..85b26818cec 100644 --- a/ui/src/core/timeline.ts +++ b/ui/src/core/timeline.ts @@ -37,7 +37,7 @@ export class TimelineImpl implements Timeline { // tracks and the process summary tracks. We should just make this a local // property of the cpu slice tracks and ignore them in the process tracks. private _hoveredUtid?: number; - private _hoveredPid?: number; + private _hoveredPid?: bigint; // This is used to mark the timeline of the area that is currently being // selected. diff --git a/ui/src/plugins/com.android.AndroidLog/logs_panel.ts b/ui/src/plugins/com.android.AndroidLog/logs_panel.ts index 8bd04e3307f..919264d4a67 100644 --- a/ui/src/plugins/com.android.AndroidLog/logs_panel.ts +++ b/ui/src/plugins/com.android.AndroidLog/logs_panel.ts @@ -68,8 +68,8 @@ interface LogEntries { offset: number; machineIds: number[]; timestamps: time[]; - pids: number[]; - tids: number[]; + pids: bigint[]; + tids: bigint[]; priorities: number[]; tags: string[]; messages: string[]; @@ -209,8 +209,8 @@ export class LogPanel implements m.ClassComponent { cells: [ ...(hasMachineIds ? [machineIds[i]] : []), m(Timestamp, {trace, ts}), - pids[i], - tids[i], + String(pids[i]), + String(tids[i]), priorityLetter || '?', tags[i], ...(hasProcessNames ? [processNames[i]] : []), @@ -453,8 +453,8 @@ async function updateLogEntries( const it = rowsResult.iter({ ts: LONG, - pid: NUM, - tid: NUM, + pid: LONG, + tid: LONG, prio: NUM, tag: STR, msg: STR, diff --git a/ui/src/plugins/dev.perfetto.CpuProfile/index.ts b/ui/src/plugins/dev.perfetto.CpuProfile/index.ts index 2cc2cce41a2..d663d167b99 100644 --- a/ui/src/plugins/dev.perfetto.CpuProfile/index.ts +++ b/ui/src/plugins/dev.perfetto.CpuProfile/index.ts @@ -53,7 +53,6 @@ export default class implements PerfettoPlugin { const it = result.iter({ utid: NUM, upid: NUM_NULL, - tid: NUM_NULL, threadName: STR_NULL, }); for (; it.valid(); it.next()) { diff --git a/ui/src/plugins/dev.perfetto.GpuByProcess/index.ts b/ui/src/plugins/dev.perfetto.GpuByProcess/index.ts index d48f656f922..55f42e73eda 100644 --- a/ui/src/plugins/dev.perfetto.GpuByProcess/index.ts +++ b/ui/src/plugins/dev.perfetto.GpuByProcess/index.ts @@ -14,6 +14,7 @@ import { LONG, + LONG_NULL, NUM, NUM_NULL, STR, @@ -39,7 +40,7 @@ export default class implements PerfettoPlugin { const it = results.iter({ upid: NUM_NULL, - pid: NUM_NULL, + pid: LONG_NULL, name: STR_NULL, }); diff --git a/ui/src/plugins/dev.perfetto.InstrumentsSamplesProfile/index.ts b/ui/src/plugins/dev.perfetto.InstrumentsSamplesProfile/index.ts index b6afadee8f2..db69d86919b 100644 --- a/ui/src/plugins/dev.perfetto.InstrumentsSamplesProfile/index.ts +++ b/ui/src/plugins/dev.perfetto.InstrumentsSamplesProfile/index.ts @@ -15,7 +15,12 @@ import {TrackData} from '../../components/tracks/track_data'; import {Trace} from '../../public/trace'; import {PerfettoPlugin} from '../../public/plugin'; -import {NUM, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG, + NUM, + NUM_NULL, + STR_NULL, +} from '../../trace_processor/query_result'; import {assertExists} from '../../base/logging'; import { createProcessInstrumentsSamplesProfileTrack, @@ -86,7 +91,7 @@ export default class implements PerfettoPlugin { for ( const it = tResult.iter({ utid: NUM, - tid: NUM, + tid: LONG, threadName: STR_NULL, upid: NUM_NULL, }); diff --git a/ui/src/plugins/dev.perfetto.KernelTrackEvent/index.ts b/ui/src/plugins/dev.perfetto.KernelTrackEvent/index.ts index 36f226bee5f..cb26f8ea683 100644 --- a/ui/src/plugins/dev.perfetto.KernelTrackEvent/index.ts +++ b/ui/src/plugins/dev.perfetto.KernelTrackEvent/index.ts @@ -16,7 +16,12 @@ import {PerfettoPlugin} from '../../public/plugin'; import {Trace} from '../../public/trace'; import {COUNTER_TRACK_KIND, SLICE_TRACK_KIND} from '../../public/track_kinds'; import {TrackNode} from '../../public/workspace'; -import {NUM, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG_NULL, + NUM, + NUM_NULL, + STR_NULL, +} from '../../trace_processor/query_result'; import ProcessThreadGroupsPlugin from '../dev.perfetto.ProcessThreadGroups'; import StandardGroupsPlugin from '../dev.perfetto.StandardGroups'; import TraceProcessorTrackPlugin from '../dev.perfetto.TraceProcessorTrack'; @@ -105,8 +110,8 @@ export default class implements PerfettoPlugin { cpu: NUM_NULL, scope: NUM_NULL, isCounter: NUM, - tid: NUM_NULL, - pid: NUM_NULL, + tid: LONG_NULL, + pid: LONG_NULL, }); for (; it.valid(); it.next()) { @@ -181,8 +186,8 @@ export default class implements PerfettoPlugin { private getTrackName( name: string, - pid: number | undefined, - tid: number | undefined, + pid: bigint | undefined, + tid: bigint | undefined, cpu: number | undefined, scope: number | undefined, ): string { diff --git a/ui/src/plugins/dev.perfetto.LinuxPerf/index.ts b/ui/src/plugins/dev.perfetto.LinuxPerf/index.ts index c10d1738a35..b3104e23237 100644 --- a/ui/src/plugins/dev.perfetto.LinuxPerf/index.ts +++ b/ui/src/plugins/dev.perfetto.LinuxPerf/index.ts @@ -23,7 +23,13 @@ import {Trace} from '../../public/trace'; import {COUNTER_TRACK_KIND} from '../../public/track_kinds'; import {getThreadUriPrefix} from '../../public/utils'; import {TrackNode} from '../../public/workspace'; -import {NUM, NUM_NULL, STR, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG, + NUM, + NUM_NULL, + STR, + STR_NULL, +} from '../../trace_processor/query_result'; import {Flamegraph} from '../../widgets/flamegraph'; import ProcessThreadGroupsPlugin from '../dev.perfetto.ProcessThreadGroups'; import TraceProcessorTrackPlugin from '../dev.perfetto.TraceProcessorTrack'; @@ -170,7 +176,7 @@ export default class implements PerfettoPlugin { number, { threadName: string | null; - tid: number; + tid: bigint; upid: number | null; cntrName: string; sessionId: number; @@ -179,7 +185,7 @@ export default class implements PerfettoPlugin { for ( const it = tResult.iter({ utid: NUM, - tid: NUM, + tid: LONG, threadName: STR_NULL, upid: NUM_NULL, cntrName: STR, diff --git a/ui/src/plugins/dev.perfetto.ProcessSummary/index.ts b/ui/src/plugins/dev.perfetto.ProcessSummary/index.ts index 8d522c0a031..5ed3b68e0c9 100644 --- a/ui/src/plugins/dev.perfetto.ProcessSummary/index.ts +++ b/ui/src/plugins/dev.perfetto.ProcessSummary/index.ts @@ -15,7 +15,12 @@ import {PerfettoPlugin} from '../../public/plugin'; import {Trace} from '../../public/trace'; import {getThreadOrProcUri} from '../../public/utils'; -import {NUM, NUM_NULL, STR} from '../../trace_processor/query_result'; +import { + LONG_NULL, + NUM, + NUM_NULL, + STR, +} from '../../trace_processor/query_result'; import ThreadPlugin from '../dev.perfetto.Thread'; import {createPerfettoIndex} from '../../trace_processor/sql_utils'; import {uuidv4Sql} from '../../base/uuid'; @@ -131,8 +136,8 @@ export default class implements PerfettoPlugin { const it = result.iter({ upid: NUM_NULL, utid: NUM_NULL, - pid: NUM_NULL, - tid: NUM_NULL, + pid: LONG_NULL, + tid: LONG_NULL, hasSched: NUM_NULL, isDebuggable: NUM_NULL, isBootImageProfiling: NUM_NULL, diff --git a/ui/src/plugins/dev.perfetto.ProcessSummary/process_scheduling_track.ts b/ui/src/plugins/dev.perfetto.ProcessSummary/process_scheduling_track.ts index e8427a558b9..aa63e2cab08 100644 --- a/ui/src/plugins/dev.perfetto.ProcessSummary/process_scheduling_track.ts +++ b/ui/src/plugins/dev.perfetto.ProcessSummary/process_scheduling_track.ts @@ -54,7 +54,7 @@ interface Data extends TrackData { } export interface Config { - pidForColor: number; + pidForColor: bigint | number; upid: number | null; utid: number | null; } @@ -337,10 +337,8 @@ export class ProcessSchedulingTrack implements TrackRenderer { this.utidHoveredInThisTrack = utid; this.countHoveredInThisTrack = count; const threadInfo = this.threads.get(utid); - // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions - const pid = threadInfo ? (threadInfo.pid ? threadInfo.pid : -1) : -1; this.trace.timeline.hoveredUtid = utid; - this.trace.timeline.hoveredPid = pid; + this.trace.timeline.hoveredPid = threadInfo?.pid; // Trigger redraw to update tooltip m.redraw(); diff --git a/ui/src/plugins/dev.perfetto.ProcessSummary/process_summary_track.ts b/ui/src/plugins/dev.perfetto.ProcessSummary/process_summary_track.ts index ce8c0a853d8..9d7bd1dd8c3 100644 --- a/ui/src/plugins/dev.perfetto.ProcessSummary/process_summary_track.ts +++ b/ui/src/plugins/dev.perfetto.ProcessSummary/process_summary_track.ts @@ -38,7 +38,7 @@ interface Data extends TrackData { } export interface Config { - pidForColor: number; + pidForColor: number | bigint; upid: number | null; utid: number | null; } diff --git a/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts b/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts index c10f1d53895..6dd514e7edd 100644 --- a/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts +++ b/ui/src/plugins/dev.perfetto.ProcessThreadGroups/index.ts @@ -15,7 +15,7 @@ import {Trace} from '../../public/trace'; import {PerfettoPlugin} from '../../public/plugin'; import {TrackNode} from '../../public/workspace'; -import {NUM, STR, STR_NULL} from '../../trace_processor/query_result'; +import {LONG, NUM, STR, STR_NULL} from '../../trace_processor/query_result'; import {maybeMachineLabel} from '../../public/utils'; function stripPathFromExecutable(path: string) { @@ -26,7 +26,10 @@ function stripPathFromExecutable(path: string) { } } -function getThreadDisplayName(threadName: string | undefined, tid: number) { +function getThreadDisplayName( + threadName: string | undefined, + tid: bigint | number, +) { if (threadName) { return `${stripPathFromExecutable(threadName)} ${tid}`; } else { @@ -341,7 +344,7 @@ export default class implements PerfettoPlugin { const it = result.iter({ utid: NUM, - tid: NUM, + tid: LONG, upid: NUM, threadName: STR_NULL, }); diff --git a/ui/src/plugins/dev.perfetto.Sched/cpu_slice_track.ts b/ui/src/plugins/dev.perfetto.Sched/cpu_slice_track.ts index 5cddf30ee55..9a3891c0896 100644 --- a/ui/src/plugins/dev.perfetto.Sched/cpu_slice_track.ts +++ b/ui/src/plugins/dev.perfetto.Sched/cpu_slice_track.ts @@ -338,7 +338,7 @@ export class CpuSliceTrack implements TrackRenderer { let title = `[utid:${utid}]`; let subTitle = ''; if (threadInfo) { - if (threadInfo.pid !== undefined && threadInfo.pid !== 0) { + if (threadInfo.pid !== undefined && threadInfo.pid !== 0n) { let procName = threadInfo.procName ?? ''; if (procName.startsWith('/')) { // Remove folder paths from name @@ -426,11 +426,11 @@ export class CpuSliceTrack implements TrackRenderer { } this.utidHoveredInThisTrack = hoveredUtid; this.countHoveredInThisTrack = hoveredCount; - const threadInfo = exists(hoveredUtid) && this.threads.get(hoveredUtid); - // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions - const hoveredPid = threadInfo ? (threadInfo.pid ? threadInfo.pid : -1) : -1; + const threadInfo = exists(hoveredUtid) + ? this.threads.get(hoveredUtid) + : undefined; this.trace.timeline.hoveredUtid = hoveredUtid; - this.trace.timeline.hoveredPid = hoveredPid; + this.trace.timeline.hoveredPid = threadInfo?.pid; // Trigger redraw to update tooltip m.redraw(); diff --git a/ui/src/plugins/dev.perfetto.Sched/sched_details_tab.ts b/ui/src/plugins/dev.perfetto.Sched/sched_details_tab.ts index ffcee1032d2..e81d054aba3 100644 --- a/ui/src/plugins/dev.perfetto.Sched/sched_details_tab.ts +++ b/ui/src/plugins/dev.perfetto.Sched/sched_details_tab.ts @@ -40,7 +40,7 @@ const MIN_NORMAL_SCHED_PRIORITY = 100; function getDisplayName( name: string | undefined, - id: number | undefined, + id: bigint | number | undefined, ): string | undefined { if (name === undefined) { return id === undefined ? undefined : `${id}`; diff --git a/ui/src/plugins/dev.perfetto.Thread/index.ts b/ui/src/plugins/dev.perfetto.Thread/index.ts index b5eae5e4783..dfb2e80e59c 100644 --- a/ui/src/plugins/dev.perfetto.Thread/index.ts +++ b/ui/src/plugins/dev.perfetto.Thread/index.ts @@ -19,7 +19,13 @@ import { ThreadDesc, ThreadMap, } from '../dev.perfetto.Thread/threads'; -import {NUM, NUM_NULL, STR, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG, + LONG_NULL, + NUM, + STR, + STR_NULL, +} from '../../trace_processor/query_result'; import {assertExists} from '../../base/logging'; async function listThreads(trace: Trace) { @@ -40,8 +46,8 @@ async function listThreads(trace: Trace) { const threads = new Map(); const it = result.iter({ utid: NUM, - tid: NUM, - pid: NUM_NULL, + tid: LONG, + pid: LONG_NULL, threadName: STR, procName: STR_NULL, cmdline: STR_NULL, @@ -74,7 +80,7 @@ async function listProcesses(trace: Trace) { const processMap = new Map(); const it = result.iter({ upid: NUM, - pid: NUM, + pid: LONG, procName: STR_NULL, cmdline: STR_NULL, }); diff --git a/ui/src/plugins/dev.perfetto.Thread/threads.ts b/ui/src/plugins/dev.perfetto.Thread/threads.ts index afe72ef698a..57beee45870 100644 --- a/ui/src/plugins/dev.perfetto.Thread/threads.ts +++ b/ui/src/plugins/dev.perfetto.Thread/threads.ts @@ -14,9 +14,9 @@ export interface ThreadDesc { utid: number; - tid: number; + tid: bigint; threadName: string; - pid?: number; + pid?: bigint; procName?: string; cmdline?: string; } @@ -25,7 +25,7 @@ export type ThreadMap = ReadonlyMap; export interface ProcessDesc { upid: number; - pid: number; + pid: bigint; procName?: string; cmdline?: string; } diff --git a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts index a04f2f2995b..31e9a5bb732 100644 --- a/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts +++ b/ui/src/plugins/dev.perfetto.TraceProcessorTrack/index.ts @@ -34,6 +34,7 @@ import {TrackNode} from '../../public/workspace'; import {SourceDataset} from '../../trace_processor/dataset'; import { LONG, + LONG_NULL, NUM, NUM_NULL, STR, @@ -113,8 +114,8 @@ export default class implements PerfettoPlugin { upid: NUM_NULL, threadName: STR_NULL, processName: STR_NULL, - tid: NUM_NULL, - pid: NUM_NULL, + tid: LONG_NULL, + pid: LONG_NULL, isMainThread: NUM, isKernelThread: NUM, machine: NUM_NULL, @@ -250,9 +251,9 @@ export default class implements PerfettoPlugin { upid: NUM_NULL, trackIds: STR, maxDepth: NUM, - tid: NUM_NULL, + tid: LONG_NULL, threadName: STR_NULL, - pid: NUM_NULL, + pid: LONG_NULL, processName: STR_NULL, isMainThread: NUM, isKernelThread: NUM, diff --git a/ui/src/plugins/dev.perfetto.TrackEvent/index.ts b/ui/src/plugins/dev.perfetto.TrackEvent/index.ts index 14a35729cba..a6e5219afe0 100644 --- a/ui/src/plugins/dev.perfetto.TrackEvent/index.ts +++ b/ui/src/plugins/dev.perfetto.TrackEvent/index.ts @@ -16,7 +16,13 @@ import {Trace} from '../../public/trace'; import {PerfettoPlugin} from '../../public/plugin'; import ProcessThreadGroupsPlugin from '../dev.perfetto.ProcessThreadGroups'; import TraceProcessorTrackPlugin from '../dev.perfetto.TraceProcessorTrack'; -import {NUM, NUM_NULL, STR, STR_NULL} from '../../trace_processor/query_result'; +import { + LONG_NULL, + NUM, + NUM_NULL, + STR, + STR_NULL, +} from '../../trace_processor/query_result'; import {TrackNode} from '../../public/workspace'; import {assertExists, assertTrue} from '../../base/logging'; import {COUNTER_TRACK_KIND, SLICE_TRACK_KIND} from '../../public/track_kinds'; @@ -74,8 +80,8 @@ export default class implements PerfettoPlugin { trackIds: STR, orderId: NUM, threadName: STR_NULL, - tid: NUM_NULL, - pid: NUM_NULL, + tid: LONG_NULL, + pid: LONG_NULL, processName: STR_NULL, }); const processGroupsPlugin = ctx.plugins.getPlugin( diff --git a/ui/src/plugins/org.chromium.ChromeTasks/index.ts b/ui/src/plugins/org.chromium.ChromeTasks/index.ts index fdf5532a5a6..e3a64647092 100644 --- a/ui/src/plugins/org.chromium.ChromeTasks/index.ts +++ b/ui/src/plugins/org.chromium.ChromeTasks/index.ts @@ -13,7 +13,7 @@ // limitations under the License. import {asUtid} from '../../components/sql_utils/core_types'; -import {NUM, NUM_NULL, STR_NULL} from '../../trace_processor/query_result'; +import {LONG_NULL, NUM, STR_NULL} from '../../trace_processor/query_result'; import {Trace} from '../../public/trace'; import {PerfettoPlugin} from '../../public/plugin'; import {createChromeTasksThreadTrack} from './track'; @@ -71,11 +71,11 @@ export default class implements PerfettoPlugin { ).iter({ processRank: NUM, processName: STR_NULL, - pid: NUM_NULL, + pid: LONG_NULL, upid: NUM, threadRank: NUM, threadName: STR_NULL, - tid: NUM_NULL, + tid: LONG_NULL, utid: NUM, }); diff --git a/ui/src/public/timeline.ts b/ui/src/public/timeline.ts index 4d92bd331a2..58507f9c1ea 100644 --- a/ui/src/public/timeline.ts +++ b/ui/src/public/timeline.ts @@ -50,7 +50,7 @@ export interface Timeline { highlightedSliceId: number | undefined; hoveredUtid: number | undefined; - hoveredPid: number | undefined; + hoveredPid: bigint | undefined; // This value defines the time of the origin of the time axis in trace time. // Depending on the timestamp format setting, this value can change: diff --git a/ui/src/public/utils.ts b/ui/src/public/utils.ts index ab6f023fcdb..00701f3d57a 100644 --- a/ui/src/public/utils.ts +++ b/ui/src/public/utils.ts @@ -21,7 +21,7 @@ export function getTrackName( name: string | null; utid: number | null; processName: string | null; - pid: number | null; + pid: number | bigint | null; threadName: string | null; tid: number | bigint | null; upid: number | null; From 7e05aca803e21230607469bf36a6de20430bee40 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Fri, 17 Oct 2025 12:48:40 +0900 Subject: [PATCH 107/370] tp: add support for attaching callstacks to track events (#3299) This CL implements support for people to attach a callstack directly to a track event. This is particularly valuable for people converting to Perfetto who may want to annotate the begin/end event of a slice (or an instant) with that info. We show the callstack in two ways: 1) The callstack is direclty shown when you click on the slice 2) We have an area selection aggregation where we aggregate all the track event callstacks into a flamegraph Fixes: https://github.com/google/perfetto/issues/1338 --- docs/getting-started/converting.md | 137 ++- docs/images/converting-inline-callstacks.png | Bin 0 -> 184127 bytes docs/images/inline-callstacks-flamegraph.png | Bin 0 -> 118753 bytes ...nthetic-track-event-interned-callstack.png | Bin 0 -> 117288 bytes docs/reference/synthetic-track-event.md | 232 +++++ .../trace/track_event/track_event.pzc.h | 36 + protos/perfetto/trace/perfetto_trace.proto | 107 ++- .../trace/profiling/profile_common.proto | 35 +- .../trace/track_event/track_event.proto | 72 +- python/perfetto/__init__.py | 18 + python/perfetto/protos/__init__.py | 5 + python/perfetto/protos/perfetto/__init__.py | 5 + .../perfetto/trace/perfetto_trace_pb2.py | 802 +++++++++--------- .../perfetto/trace/perfetto_trace_pb2.pyi | 30 +- .../common/virtual_memory_mapping.cc | 71 +- .../importers/common/virtual_memory_mapping.h | 38 +- .../proto/stack_profile_sequence_state.cc | 76 +- .../proto/stack_profile_sequence_state.h | 39 +- .../proto/track_event_event_importer.h | 70 ++ .../importers/proto/track_event_parser.cc | 12 + .../importers/proto/track_event_parser.h | 5 + .../diff_tests/parser/track_event/tests.py | 40 + .../track_event_callstacks.textproto | 146 ++++ .../details/thread_slice_details_tab.ts | 65 +- .../callstack_details_section.ts | 138 +++ .../plugins/dev.perfetto.TrackEvent/index.ts | 123 +++ 26 files changed, 1812 insertions(+), 490 deletions(-) create mode 100644 docs/images/converting-inline-callstacks.png create mode 100644 docs/images/inline-callstacks-flamegraph.png create mode 100644 docs/images/synthetic-track-event-interned-callstack.png create mode 100644 python/perfetto/__init__.py create mode 100644 python/perfetto/protos/__init__.py create mode 100644 python/perfetto/protos/perfetto/__init__.py create mode 100644 test/trace_processor/diff_tests/parser/track_event/track_event_callstacks.textproto create mode 100644 ui/src/plugins/dev.perfetto.TrackEvent/callstack_details_section.ts diff --git a/docs/getting-started/converting.md b/docs/getting-started/converting.md index c5430dd5b86..d98334eedbe 100644 --- a/docs/getting-started/converting.md +++ b/docs/getting-started/converting.md @@ -1119,13 +1119,140 @@ JOIN track ON slice.track_id = track.id WHERE track.name = 'Nested Debug Annotations'; ``` +## {#callstacks} Attaching Callstacks to Events + +Callstacks (also known as stack traces or backtraces) show the sequence of +function calls that led to a particular event. Adding callstacks to your trace +events can be invaluable for understanding the code paths that triggered +specific operations. + +There are two different ways to associate a callstack to an event: + +1. **Inline callstacks**: Embed stack frames directly in each event with + function names and optional source locations. This is simple and requires no + setup, making it ideal when trace size is not a concern or callstacks are + unique. +2. **Interned callstacks**: Define the callstack structure once and reference + it by ID from multiple events. This is much more efficient when callstacks repeat + frequently or when you need binary/mapping information for symbolization. + +This guide covers inline callstacks, which are perfect for getting started. For +repeated callstacks or when you need binary mapping information, use +[interned callstacks](/docs/reference/synthetic-track-event.md#callstacks) +instead. + +### Python Example + +Each frame includes a function name, and optionally a source file and line +number. + +Copy the following Python code into the `populate_packets(builder)` function in +your `trace_converter_template.py` script. + +
+Click to expand/collapse Python code + +```python + # Define a unique ID for this sequence of packets + TRUSTED_PACKET_SEQUENCE_ID = 7001 + + # Define a unique UUID for your custom track + CALLSTACK_TRACK_UUID = 98765432 + + def emit_track_event( + ts, + event_type, + name=None, + frames=None, + ): + """Helper to write a TrackEvent with an optional inline callstack.""" + packet = builder.add_packet() + packet.timestamp = ts + packet.track_event.type = event_type + packet.track_event.track_uuid = CALLSTACK_TRACK_UUID + if name is not None: + packet.track_event.name = name + if frames: + for function, source, line in frames: + frame = packet.track_event.callstack.frames.add() + frame.function_name = function + if source: + frame.source_file = source + if line is not None: + frame.line_number = line + packet.trusted_packet_sequence_id = TRUSTED_PACKET_SEQUENCE_ID + + # 1. Define the Custom Track + packet = builder.add_packet() + packet.track_descriptor.uuid = CALLSTACK_TRACK_UUID + packet.track_descriptor.name = "Operations with Callstacks" + + # 2. Create a slice with an inline callstack + emit_track_event( + ts=3000, + event_type=TrackEvent.TYPE_SLICE_BEGIN, + name="ProcessRequest", + frames=[ + ("main", "/src/app.cc", 42), + ("HandleIncomingRequests", "/src/server.cc", 128), + ("ProcessRequest", "/src/request_handler.cc", 256), + ], + ) + + # End the slice with a callstack captured at slice completion + emit_track_event( + ts=3500, + event_type=TrackEvent.TYPE_SLICE_END, + frames=[ + ("main", None, None), + ("HandleIncomingRequests", None, None), + ("FinalizeRequest", "/src/request_handler.cc", 512), + ], + ) + + # 3. Another slice with a minimal callstack (just function names) + emit_track_event( + ts=4000, + event_type=TrackEvent.TYPE_SLICE_BEGIN, + name="AllocateMemory", + frames=[ + ("main", None, None), + ("HandleIncomingRequests", None, None), + ("AllocateMemory", None, None), + ], + ) + + # End the slice + emit_track_event( + ts=4200, + event_type=TrackEvent.TYPE_SLICE_END, + ) +``` + +
+ +NOTE: Frames are ordered from outermost (bottom of stack, e.g., +`main()`) to innermost (top of stack, where the event occurred). + +When you provide a callstack on the slice end event, Trace Processor stores it +separately from the begin callstack (under the `end_callsite_id` argument in the +`slice` table). This is handy for quickly comparing entry/exit stacks. + +After running the script, opening the generated `my_custom_trace.pftrace` in the +[Perfetto UI](https://ui.perfetto.dev) will display the following output: + +![Inline Callstacks](/docs/images/converting-inline-callstacks.png) + +Note that you can also do an "area selection" (AKA box selection) to get a +flamegraph of the callstacks: + +![Inline Callstacks Area Select](/docs/images/inline-callstacks-flamegraph.png) + ## Next Steps -You've now seen how to convert various types of custom timestamped data into -Perfetto traces using Python and the `TrackEvent` protobuf. With these -techniques, you can represent simple activities, nested operations, asynchronous -events, counters, flows, create organized track hierarchies, and add debug -annotations to your events. +You've now seen how to convert custom timestamped data into Perfetto traces +using Python and `TrackEvent`. With these techniques, you can represent slices, +counters, flows, track hierarchies, debug annotations, and callstacks. Once you have your custom data in the Perfetto trace format (`.pftrace` file), you can: diff --git a/docs/images/converting-inline-callstacks.png b/docs/images/converting-inline-callstacks.png new file mode 100644 index 0000000000000000000000000000000000000000..6e39cb7e52302e71add8e4ae508b76c5a4ef74d5 GIT binary patch literal 184127 zcma%jbzD>Z+drZ+K*azNkWfSf1eBB*q0*&vZJ>0FX2b}=K&4wiLMe&SJyK~Honr%( zu1#_<>UZ$I^^WKJeV*SR@^WW8=X`dZE8g$-b$#~sv8voT3VI4MGO}|D@{iQX$WCL( z$d0$3J_#HF-98aXMs|Tr;gPha`>|!*nQE%R!4-%uH{_^EbgEY%0 z4{jS!u9RI_k-@MjD(Xc%i1{2v&2ht*Avs8+&GrT5Lo*(6< zn)@iiR_}a4ip=j0?c@Zro@)EKi@*!7>-BY#YfUy8k*8S-4o^JTH9gqBh|x)47t^la zK6P{jvR{8j^2x=2Ui0^nqxZh>N>Kq90zPy)fXq+mn|tU6`JZPLDLvo40j%oh(tiDs z+6K*E|J$JjYL=c`iH|iO0+(<~C4)Wq$JLM4`-8IQ;osK*9Ky0nrKsRNXrJ1g*_ZzR zIN@k@b!6bPr!QDuu4f7S=aMemI!5yU=OJLx-)K_;fHg~XQCzT$EFKp>_sa~x?N1yl z`}K8xpLfCMnCF{6Uwym`d?%OusPoriCLz|eNxblnFD;6 zP6i!omSVbkd=J`07!LBgZ!(#^WLIkZ-C&mJ+)QTj{9gUl*4C>(4j3cCZ9aEgH933t zlTu=Vzpwx2U*UVJoojz8}jvT$infd_xHlqk6uq#i%f}|IZO83 znz|=y7;gCd(m$>Hr?DRWXS;r<1Z+6*O8p<_u-H@dSpVb5(aA?9|9O=Wd-4;QWnoXI zpkL;imOSS9`^Ayx{OJUm$(i-Bbo-xg(Opd8`J31LVg8p!&zb(|V7oV^ zQqU5sj`zs_^!9(6on?=F1YR=6}+&g@Y2f|->TWz)`jH@KrF(`lyt^(RS}U*7&lq_hf?yHNj+JN)siSycQC z=`1zUX~Qq}vp!ttvfSVA8@c8_?|qz<(ec29{Z#x{ z)<13}ukhUI_X2*|<+o$}TtO>4c_nAh?2v(7flrNHsXvGkGm#)PTFrZ9;5+N3M!&dv4BiQn_tDTF@yVq3%;D`O~$&qm&&}$I(bl^kegLg zP{d*-?Q+O5D!o*5ol&=m!^y6R!Az8u2Zvi&s8DKiP;o-lmSPNiWpsu5dm;kfsDw96 z!lo7XdgH4k;}m)x%=LTZ?CY!enVzENsWuv`|N2MX{Nphk1x%~sF{WQR-owLV{`%y`_l8!2C+@YIND*L2;8(OqGU3vQPGyg{ek{vK1=#DHxTmaY~H%fgkB` z(ws_Up^<)Qr#S?^z($*Zj~sH&(L&mCCkU7F2tx>YBHNQ|R*(qf92b+vORX%!HgKwx zAGvnE9plo_jwhGV0gKKRtZBvy+dJBFOlg;EnU0W+t(=xPpL>VPj8fF?r!ChYf*Qja zbH}2&v;;P})2p0%*Qq3zdn&Z7ulas}xTzSRNZB#)y?b&kNDY=tj^6i|dmiqsSE-t0 z`V3TSwng|<@UwIcq|*To%-`BW`9Lh*%`q4I7PhvCUA@a7Lw_KlP`L!|YGY z-~O*Q0zM?gb6I}7&4giC^CnlYAHvg5GGUiPh95;j%_E6(b#wdFII$byZ(tLZ{AdH^cv7LDjVtmT7X87bkC1Ev-TeqTB&*oNaCNsll4XazA z2hrS+_Ob(FGS0mNW;N8U{EFGv5YJ=dh89?;t5qvI?FN?HQ2_CU(8 z^|ixV7SDO(oBd+$a_MB0)QEpq5SGvse%~I$Z9|1a1kiA+H`eaJ3(;}JS4##B{vhOG zV)^dyJopZj^n$}ie&|Uh;@}VGl7uD?t`99PGAx(&+M|>h22ic%MSn=ehTtl^pNjc?({1fBGXveM z*j?tiqy9Mz=RLt^J7i;@Hng8j{(r_l$gZMuA%4N8Z!qZs>$3x7P4!8TM#a#_bka>Iz|9nV(hP+b8|6Nz4j&RT259GVl zmd<@|1r47En-4su-|HdkP%a2I-?@-)zStwd)i1cBj~Wa1^^HidYGS-;_quL78+ouP zOe^1;YLMC3mxj`TGMF63-d_rIn{8+atsHeL!9H2hpYv>j&n{$E?9JaJjAZy8x_a32 zdrjN$9aT#(xttSE?Dmq>6i2lWQ08 zUE~U{y;qiCw$X4jmB+TiuFpa!Pja}*dIy8Sm^OMU!_#$XyF7la*M+t-wLa%kQ{e7Q z`@m

V#6+2LAEgp>2u1o`+Zze)v#YYdzB6PqtRPopCtFU~I)iSVMx;7;{+ig?GH# zqgW+bWQ@!s zsOWX&tq~H{ot~rR)mvO^xmH6I1wqC4_msBA8#(ZX4ylu;xr1jwG@$MoQ)t7T)uh!G)3TgPI~%l@hz7x(#9xTj|Y?JrvXftZmWo)%+dCF5ws3d=PwC6&wAU1f;X$d ze9Li-m*9US@t1nfYyV(Be@pKF;C^8U5Fd@@Wd_sK8K0;k))DhbZ#T@q8Iy?g>s06D zHA=sH3#b$YN^3FfaDQ&CFoC!3pqVC`O9QjgkJ^E)5b_o;%H0%yc&d1|t6X@3$=-Lr z^hrP^A2*~-+z!RpzXibaDg;t@r})TF=y;obyhp3R@yE-RMP}_ICJ*s$#b>zn_iD}| ztle#+U6_4W2OlJe%oSHG;NG*OSTT3I5Rr&pkR1Wm^*OHK#E=*P56N5joEqYgsdG?` zp?GwotuHT83_{j*>=mWKvgF}jaa&>_w^7{zm5%20^BZ=_?f8vmU!fyBN7`gCbPWG=s>0h-cIqQCkZGL_<#X&yS0$Dv>O#FkU8aUhBid{k0r;TZDgt zd3T(JBvPK~P5)-h5>8#E%5vUB%_??5U^|?BB@c13S*81|@4YtfmO9B%M&`u(LN1T1 zTsXu&8|wAn5isH=lkG4BqTVevOR{DltwhedvV!Zcs%H91V3qG&b#eVZ}ESgm&e zN~Z95#3_`ao3oo(9rUu~IduKn{ZrJc@2yN*LSF8o0vbneZ-0C)^ZkQDrR5S(+D-k) zLD=yz@%3$Egt3%Sj+dqkt^68s;&6nw4(ZyK6KO!CgCTB47-!JE;KOA4hu7G>V4hFz z?cj&_uFs;k#t2KwO74lyvkQ0$6<#G>p+!{F1j@u-qu{Z0EUpNauutP1%E5-7PBY6g zoUz3Q(ernS%GL!WYaiH#%Qvb@ZkjUeVooy%Z5#_M_tFv)dS$@+x9}k&kGnWY|Id66 zu!f&(ie-Zwk;>TDI|zs6m3)^8j3=iQKm?Q9Jmb}f>&gmQgwoX9DpOrvEu!IqJdw4C zcBD-&8m)AW6+=jUAY*d7;h35diYsGZz3q+q-V}&>*T9klV0n9XZOI1eiuGw{R;21z zu3W3YE%=~dq9LZ%ITLkD*bWFYFyd0DV$7ZJZ#-?E5c#MN(J>FJ4lr=KS~+vx_aZhS zs1nCiC2Xzg$~t!3AgPVfGO`DZfNysUO}E22GCB;(%5f-uVU1v>$nX-|9SYP|vmJb& z8w}fdmyAmnR1;~Fts_-O%U_Gk3p@84qf4CxeGd5r4u3nyU-H2+O3E(?`{~g81&oyG ztn4R1@mXO(KT(5ma8QtAaJ{|Ue!`BT`f5_4mXN3$Oob^$DN~zj_X_7R9MC%_+Or{zi^xO$9h|k9)4sjcPy+R zS2sPCZ(NeVG+KK2tz~BDqlPeQw^q8$W|)UdBRdM`tdqa&d5tJ@#1Ka&$i&_OA*)2|9H%BQdgWciC~s|BpM4n8YKVqg zA-bG*}!7wFl(KTDmx&}3~IvQbvM+w$!v}VT}=UGmz+4j8&3D9XQ zpSmP+dlb&z)iVV?oJ-b0E#Di=uG&Aq8Umb7;~nfP02EeUa4=VXzZ@btv@*&P)=w@@ z^?!WdpC-6;f{)rV(m`R%cEa8H1IjTGQ<|$B*T=(b59lr5+?zOJ_6r?TWo}#qcx*t0 zYss}3)jK;rS#Sk)fKgvT$KT}Wm;U(R)$&V|Q0<{w(yT%Gu&k1-6*KSTHw+w!l>hiZ zG?7cg98)Xq*qm}Jn4xi{KN?MsB8xxgr|0`!s~Sll6HX0^342GYe2Eb65|geA8{gx_ zR(1)yy6jR(#^bjd(6N-Y@BsGx{Hk<;e)Vr(=omuruQ_b1n=-$Hmln&omw_AQ+9gs( zK=#K^X&CBhmo?%3=JS8LyT`-l+W)CYIH??I1n3H)M1kZ1W}cjXoL;aGpv#7QX$+!< zFo<1kSG4_jb<;{eMx1}oOlPK#11Za9w!2J#&t?awHEm%XwJw=jQ4_FwvH=(a; z7Jm5#R~ge*s8UaNV#}dd;rt*9dkqBo#L$6Vez0dpqK=e;>YeMGL)%2$`a5dQY0{5_ zG%B2x`Mzd|EI@gI_@3kI0kj!l+toTAW0@5Y9(`r#N9S!?$j1 zc|{mnV!_00dwJXkcSQFghqEJYw*7U7RbI>H!+E%jGUd3t%}~#SGYRy#VP!+R#Tgwr z_N;?0)Mec2LS~X}@}sdFxLPQlFz=cJo2bQ=5wHtgIyw5IE6)8#@wQ9wwOx}-uCO!o zg&82+mUFrmXTGV8aP?BZeYBiFh#A2)j+z)YQ46se(V5j99H0<&bdU#&rL;-!LZW*) zZk2Lv6?Vkr7a$GFtG)xe5iQ!@d1nOu;sukdpKbt?;dpc1PQ($7L>#mQtkjf4OOLr> z@#J{`p=3blWrV~Ymh?e}i*48uB8$VB7PM};=;xOqyQLR{X8s_wh=p{O4Nr=cBko)2ihsG{L*y%VR$}UTaV^01`f;cOhaK@r*w6 z*R?B*rTfqF@zzN++bv=`KzS$F;47G!^KL7cDIl6kh2h1a5^)RUG}Lz;pKV^wH3Y)_ zhZ#WaFwVTy^tt#o#MZLooc+Sk*ujolarABN&X7F)(RVUL&!K|M*9qp|9HTD_Q(W0` zZ@%NEc^3mMHQ*1)9s3bbio##n-7GJ~8=@Pf7~R5X5^!z1*ANDqavWt?u`b)OQ|G<0 zNz6OhZPO`EW{@7aQqD7ekNVBMtN|)H1OBo?TvpX(QP_k?8}}Ex`4U4)UJlTxFo3!m zyJbHSEY8Gj*QtKBwGE7OkKz#;?l+(dvjQ=e_eru9z@ltsd zB^Sqmm|LDTK#aYLHMG-ltr*37&p$;ev~2R0H>1bm$scI)3T@W;79<+wzXbzO4j?3j z(5uPHQs?>PjyFgVhkKyGgk9ut8MrD?$7Ih7$3OIO86h6()OB|3O)MJa_R_$RYKNzm@w+ES zxxpmQOsr3X4kd&IGlR@?o!gy|Z1iS5_vt*vP3P#5=_s=9|MNlota1@&rmLh9j45d* z?*hQ4%)L#0Eb%@<;fI&`T0Gq&qUNNMY~I8+abjyVNH2peps&hqJ%&5u`MXi)*-=2) zRm$*+5!rF*gCOP!<6DpS|R;y?k{2HEND=>|w0>8ZVtP?30ef0D;a~6fU6>U34d#B~ zxL@6z9nI%b30|b{3qrp>5@rON|L-F9PhK#}26P1BZB9miq#Qn;dYWH+;n($9{@$Yd z`KE_1a3}G-HA_))5w80Fe=YLDPub*uwu{s+pO#Beu?A0H`?bE`82#nL=g{A9^w<6W z;477ez`YC){4JUOe%AE4WBPA@FYwoO{sOWWEWcj;9gF{jd4I0}R9U_^hedS>qTQbBzfGGet=s{ucSGKih@J{_G?g|Is}JI*xdT<2%Ge)28Iz z$`)IngA1RM8|DcGQCEk9Z2syx_SA_*@j0Dyr85~7JPF+E)+v8~_Y>qIy!Ds=3{ZopI%Dg z{qj&u=0jA}Ponu(rD_93;IcPGIB z641t_(iIPPqCMdxHM#6ZMR(@-zs-Bpx21g#R`{g_6fn1t`SNt=`0}9rBp26D|GieW zg2;E-dH@Ik$zaY?OA;TI4P{y(zi~iX$~UYpJd7_eZM&3k_o@HNNTJE0;EmO`N~>7C zSQMdlOwIqeM|Jy%Y<7D3U85@5`5wr-{3(#9NE@ji=YO5a zWBMZPg(vw?@X|zG9Sm0`xP*v1g})uRi$`_Ob|)vF(ob+!>4fo2c&!Hu+K%+-m)R~f zFQtY`Ec!o+7ql^V8~4cE-&A{hyl@Ist z*_BR(N{%Z6Jtw(qj*qbGJEeEoXh9{d&Xe_iBC@G;ws|PLD6O(ajyCsFZ)yN|qvxTW zGPCFW$E|Mx%$PwPqod|eN1@Ql(u)l+r=_J4;p^rf?lsMO%=2G^20(cK71@BY%p+3T5Bw&q)eMBSB)=_2Pj)w#;2UteGQ*o){7Qu5TDsP%@8 z6g(X&gBhTvBb1aIgiTsPTpLV0Tk>nR;5u$YFmb}^PERwXL{E^QN`jEe(6<-oMO#bGhN@PtHZx?@Uz=Ii;M6TJ_F1&6+Kp#0 z9QRsR86KZSCji<$bYZO_*qn87FejGF^I&HVM#STIx^HEX$^BoE`EyyoWPsDn9w6?( z8IyF}zu{!%DxJWGQd$_LqZ$T|%RN z7GWq4vXs}$rwS-Ol-gVC);US3bjq3)-n;OlK*za?p1+08_%x@MAcU^n#f$al3O1~_ zBUZE#uDQF52ZbFb0N3RhoV-!0R2F*=05HUYf(T4qiKERImH?)|h?b zijI-@42i+O!YEX*Owe4A2Z;1|TMn+^Qyv^ZC=P;EJ=p9!E50-aFXlsQFh@Cy-@LQH ztRqJ62P2!dQrS8w8-7QxsBt4NLQ65V9x>s&zo}CcFPeF*Yo=6-KIHGAtx~I(zhrc+%~H9%4W>g%83!HGe^^x6NU7%GXc-cSTnGzY+4*b z+JF&TC4h-Wd1|+xF^IZ+PN%l~$l@2nZGbV0h0NwH3?UOBo(t*lC1iR0un<9n^t2|4 z-~ER%;&7k1f_3gL1zO;!C2EHhPl_A8e7fi81suAE)gKH)5lBJnf!6BhX9qPrx4#9b z5E=MP-<*dvzPX66@YyE;(#zSack82V7Ov-ajvWF~2j7{AHHf^WvRpQ1=e+VHIa-J8 ztxort@7`()9!jCD4&B#&E>9S*Q8~X@PMRE~!qZ%E?UkXeoC(8MOr0+uUTqC$)z~-( z&1a$CEVmiXYj`FJ#2rFoVhRLtC+IfZ9S0TiFne!=FD01EsxyK_7d#XxW*_U_T@Z1~ z*2oM&1SE>O@@>jB&^35w&CqzQ%_aL{F3Med8qKMth|JcK{C2|4XJ>5&5TvP}3wUl= z=0H$ouJb(&riiIv;i}rR!6E0sUvm;hYe=FFlTyMz-C(TLX0AE7+275``{A0pdYxuo zbwo^kUtuhev(1EYE|G#ZL!DJ_1iSJH9~6hKYBA~d}Fj@XN~y}I@r_f+b$R0juAzZnUpH8f6q z*0o_c!|6nD)EG2-_WQZ90A; zK-qBJO!D5+L+o!3LnKPk4X2oG1DHHNb3>~~sz=qUN%7$=h zwp$W{Ef=;h6(8;sd=(ZsAGc9n=@pBF0nTQac+aE-6UbXTzqVWC@uT4s3|rxtK|~TB z5Ne?{o*BmUV721Q3kT^+vGCV?{e=;0iVbj^<_reAiiQoS^-!)=RRAWhFq8PX@N+#U zgjtzWCs|;~MXly|@KbN*{as@D#z_(I!S+-}p(hYUV~K9#3z84~EJ&|6q1FSRpOOx! zEmP-!D%^{&-L+fy|GpR4`qPP)QDkmM*=9>R#ijSt&^PS*GUmMt1i20~E}q@$MS_># z4k1^b-*`p*#__Fc!`~!CWtQ#hL9Ae5x&5Lo0bbh_0^SI7a1~9g;qa8YsG(@#n*Eo9 znLc`6^;h1qqM(*9mc63cqb^j125Nd9B)g5WUX4Lho7IM8cMzKna^j=wu!kq z=nbTyJMg!0v{3g3Q2l(sYWzJJY2hk7P|^xD)WCyBQPrQRHaw#c;eVO>aSEL^_3e~V zXH99Px!b4ZBqxWLnd7q_Hk_bH`(cjk?PSZ&NsDvaSO$vJQV+T@)dbx>MbS4RzB3(} z*StAwWUmI^jNq+83->60MimHtsbF2dPwlV8H8zY~c^jKF!sSM$PG!4ZG z$5)O*qP&uuGMP0d(H!%#W({dGA=5+oMv}sp1I;s1Kk1iq>O707VMxf?vUwH6&4;oqeBxw_9PGcn^~EYx#VhBhsAG;F}9R1Y>h zV#T0DPLPja6uPZhL*pW-p6 zcJ6y4t%=I>8{9UXi@QrBg{hQ2{Z}75bbWb6sr4!<^u#>ppH*v`(GP-h8;e;PgJ7=c z3T*|oYb|e{AD&4JnKo9Mxmk>Sk`I2{4K8u9Vi-NZc+q}vftF?q)wIBP64mdm9Matg z4`e*Ll$895`IG;sgkcOPj*`~yN7AuV*TT$`1Fvu|E~ZiUeAE*R5yRitX&Jk1+)Qcu z7IMR)J&MDwGC3!|7L$YDA~n>+B=$)wc8uP>Dl2^^dn!Hu${hzikZ0poOTx#S@KF{w z>03e*KD)>Sl}8O1DDvJux^Vyzuz5@VTr-6wIjWj^@-Z-6sO7BCa6?~6=@f;2A9P^? zXvi1O&ez88$eBU=&hkSisLxJCXOr2ZpFOdh-U<0}o0H zBkqDgX79#y(NJ;Q;AEdZp+|?}pE9rM<$Vwo+tf5uIOdm^DkqX3_zCLD#AH3OSA@ly!dffKTyA zu|jC*9i5>Aoo_$VUg^0<^_I1w9`%+S$|c^hy;1&Krv7u8EGNiafEjHkMHY_@1y!&} zVDc2&^Wxd@AO338x}W02pJ@QSVddhc+w-htA^_RCml(>OuZ@gP^q7s)u6AD?(a`hB zO*xJ$0mcq6O)A!*swZBUyX0zSIhn0Qr1QP?joSkvac2&gTZ0UJ4j02?-!a}^`=td` z7NY@3HB%EzZY$vY*wftg2?U+J29$sVa$6TF^xaP^N$Xu=-PLsF{(koXP@pL&w%T|Z zCy^u6!1kdUafQclgnKG&OZWVqGf>A-_ojk-O+$k)>|7nje$8)UMEmde>;@)U&Az;> zdKa{3I$f6e!ATMOoDau3UjESutV5`kH@?CajZi4=sot4QIJo+wy>xhYe!K={u((pS zlvhmJT*|qx*Oz;rb0AkZUb-dWo{|}m8U%wi;+Ee3A_5*#&u`thK(p;K%GV#E-kZw^ z1R`AfI%xu)yt!hbs8(iW!f#K2VJ6^?5I1PTTDl^}AknT!uZA?juTxsQnrL4*TC+Q{ zS!%uDQslB0PP6iL-q*Qn-UEdi787<0fsT#wgdUXJ+s>q(7wwUl$DlQd01|+y$J*uD zy`XP9?x&jX5~WhPsh!Y=M4hu4Y`*1!f0m4eqXv;s+_S?rdEAIi%~T=^K31iYfc+-T zrdUx^UU{E1anPUIt&NyT-%`U5p|hhTTXVh>43ZsRuY2b7qlG^0mkMR78KIC+umuls zF<|9f?asy)G|x+Fs`+5EeZ#J&KDq8^`%4k?0eQJL2KdQ zyced}>`#7xygd|7@pYu9Lu2m&7+*u`xq0trfCg}I^sodg^?Q4+U`q4ss*NwY-Kbji z7p6A82v#1>m%n+Cd#hab@QWUQ_&gL+$z)@DG#4(8w{EX* zMUXW-;`}T-kIGHNjNonvk;zqJI2|BqSql1m3jmfV1ttdL&Gq`+pU?vYQUa$#%k^Vs zAu}27XF_@9PQeks-zQGkXL0wYE%ikLV>f1QIM-O9ncNlZSSkX&&u?`lIa|>yatWxgVKn5} z<42ZbnLDu|DSIMWyFjW@a-j1LBJ`3IMc!3k4GYP;Ejfk-QpZqvLpyNa{tRgN7+34; z=)7-#43B;%BO>7eh*CfKh%Q>za_W+Pwk)d4p z-6xK(iGsFlH$kA3UQV;;qf(W<=Ta4=`Y3fsnM@{-cpi$y#((gN0QYP-anXC1amiz& zxS?O5OYSuwi?>g32E2JTAj;)^8$a@1NiL|~`bJ|;Cr~mc=O}Luaj6%C8D%K_kxQ}WAMv)?CqYn>u^K&$Eb^Ge}TwZ0_R$I99fBu|Jd_klav>x%8 zON@P{?x1ipVuKgt>aD2IK~`$j-wXgzi+JfwKrDnGQQN3K!8i^bvUhpwqzo_HHS_nY zi_J;ht%XVJ0JV7UPfNY=>G?U(mvm-xCe<80M*a8q6XJs%D0y&yV%!$fmh-H$6Ax67cP=t zs0xa*QAjT|X^D^N=;Jdc)DV*(j!iT|#`R?D{#|@dbpU}HMvwZ5oIgVPZ?$>?QH^8%!S zE4#ZmeJZ`= zvl%$Vt()?kW8k2c>Q)7!?!HBtM5DdQMhQ-vcxlD3 zT^`~lO_9Lb5na0WR;k*DxRmdMH-6v+^IDT z*1-q1V#qwh5}E+@#StCYiBBWL%dqa!4-7W!JcGRZ=_Ph5xOGe0!4T<(I>{bDV3v<} z(Fyd}`7UwmHZ3Zx4P4TH`P2%C}v-dz)uice$I9hP{ zrhzKwj73}`z}E2_0J4YeZmkGebY0U3YX%_qWIGMZ$NG0#y>;T7{_d(`D*|pj<*;hK z7k&IbrPqeuTx4AawBQX?q35PGYJY1Cw+c{GD`wxlLSUL5L8!6Awth+M^bhs|M)U~e zCIWaG2Y$!zk8H-ukX9L=g2W$81d^v6@n1sqdPp!67<2L*{WJ!PawC|QD|Wl9z@MZ@ zO>}LqPT|Vag?vd1nSRA>#S{+x<#QnHXWzAG-!)9sZ?)v~w6-5#Q=nem>)^dvG^7^W zjfk`N(SzaS>Z~r;>Y3Uc?zG$h-GFP)WaBrweQgV_Yh;XcK~S)n*OJN&wD?CZ&PvaW z6}~+Hq!8&-GD@B1yawjXj}C*1Er?8rrJVfbVj3<(kGN+|IB(a-#p-4&wg=r@wrg&I zxEi_6cr$+Ay@qI=J8mgsHX4;)U;1SANs6vz`{g+3d+^xM!G1aAGY(o^_ z9?jPCZ*J*9Jii|<51t>cOu3$T=%Da`1+AyWX^{0vM$1&qOB}78J7G*ARk>S3w0-#f zutz-y(~I|d`{|VKP6Qj|U|owV@rC%b`1DtfJTD_5I;+5>DLUlA5^qBJvve4?x``CT zJV%~Dy{yTxip%2RC_mG~^tW>PM;bipLj=*>zF-i>*fOrpSGTvO6kl#sZkL#&@$mr& znCq35X2>>>SmhOoCdL@9;j@aoRVZ?M!6mj)F`v{WP!Y5#(;((1M2J77CVo?ECs#iH zieWMG5ApgOPNPF%KX%(UVDWybW~GyvMpz3V$JveN3Q?4-=7}uj78`08&w8z+g?aKv z?F?_l!p=)<8xP+Ab*2d#yd!^<9InEw zxJJM&uj7<3b8}~b-cJ4TeW^&dD|b$7moobrSyY9}DAkY!Tl-0}tEznX#^#CHrx*0C zrF{3qSovq=s&<0qK+%w@f)TT-rkHVNr@W#3|kbgmbv*FX-+b$f9# zgN21g0I@|U=GG(C4{cGT%gP}^J!iAwLae=uc-dg2?)Th6<~yY347QV)4-O;WpsooY z?iYX7De!vuCAnDXipuH6GoH#M^Kc#Xim?3zerva=P2OPRgQPHfr@XV~Mh$0}yjeo| zzD4Qlv+&mxSJdhLfu#WF@G~W+K8mhgX%;zh7`4MkI%6QWnJZ>(YADssdwKd4S61%p-f$#j)T=0O7Jlw_Bt;U~WdF3ij^6JeQ z&Y6f{b8C^=_a@2>oJL->BJ|i0xQxHbHA3NUFW#;qJ1$=j-u_*~Yq*t)wSqwt7or z<@sU*BU)s^V)7iI;CF-KO0P0^ zQd3{44RVu`wfd_jv4t7_-q)v%V6$HxI~rCI^?2vfnc^}{m9t61JA=Ll9}|-W0t5Y@ zMhP76bPTxmJsE`@XA?rosY&8I9U+H?(JwBMuNm#wh9r2%u*WAlWuuopP_Fp~!)U40 zBI9;>+@$O3TJa~}S|5kLn}-8WPO)|7rux5y00Z6HyWRJ*i{9-EX^Gx_3TLJ{SerA# zm|3+04}UUtwsWWpbeAK{QoUp!?KIhq#ecN@1&4sD)GB+-F8ELG{*AgdT#BI=f>%|t@*ky?&M!onYxRn4jt8_WMsv=@#P;zi zF3LHSF(j&S0Yiy8Y^*Dew5CqZn}a$iF1cWOGY+&h>qC&tg7=BzwbgM@0oD+df^jNY zA(g~-ef08p&DaWmu?G?7hT8@Dzz>Q#1eJoy_XYuw6Y)WZC7R+{9Tm59`r1rKY|Bc1 zEk|M~Y#k7RbDoup$80yuAuJf?c9@xvCCea+@jg_8WjZtwjgUA-v*(#GH{BFM9M zGE$nwkbL8hnL0mPn#WS;A8HoyvG}APNrQ}ApIzN|*me;eLoQ&HOYbwE8p+EqtoQsa z&HKw>y~sG?T*0ST6etr|S=v1lrL6iIN}4;CZ0GOStI1FjYC>b2`u2TxY*KOCi#c0z z&w5b)0s4tPuf4JBLN(5~x)^?c zegjjfd85aChVsho$#!5n*BGtZhl_Hjd||yXR&U zqYB1187hoF0&2r&&LdQF)K+fwJcj?rp369D`R%bXWdP51^_(3- zDjfD{ciZ-*y|sFM_VAMcACx7O9N~YAHjtLL439(Y>a=uSBd-Nf{n7%yqlZ2jpRH4; zk2`8j^HfZd3v&g<5YC(&vs6etYNq49H8a>_=VsnirzFMkTVRM2z6AUdjG9akh7oXc z|8j=C!rM~_XbKk@sSuiWmF)6=RIhif7r`-BnL9fhrU2WU%eFF))U|QD5hxu0N~Ynu z^K9omZYydpTF)r*T+KW$himf{z$`Q-&fJEg%=PQ*b3?@zYQhp)*M&x8%obGGliWY$ zkbq%?gyz?PR_6sk9J{ktLoD8`Z=3AqxJ9;rl~k-}f@Im@Td)UKpYlJ7WSmX>UNZ*)NF*S6dK8k4t=yOOK;-n+=FEds6` z{W8v4vwL?vOFvmXAwXGSn_2UK(mjepTQk<;D2-L0szW(^g#2iIO#6HW^f3BOZBAys zwM7e)=Np}1F!||ehGU}d{v|+4;b~e6r4l~L1Y#x|UO>o#eWdd0K_EKu?a3EMI9L}2 zU%@KVZY~X%551Ml4QSO`3h@??*b;P9i}6f@`Qly|`8bK;Y; zwULW!Km~h+bNG60Yd$p;W8}L()2=?|ve4HQXLaiW*nq$5?6vznQAP#EehD-gj#JH9 zxEqi;PMy5v@fVynTQNY2trBYA09w~>4J?b9{wkX6V2=AQ(0Ue$(aRD1-Pm1Uw~Na!0^M4Vd+q$EKrC?;ke3rM z>01jD5EOinM`11IN8ee#hXH2`foPgYvsOfD#gszH z3#qYXKr_4lenc-YSpYktl0XxB=@RYdn`&-h?XuG5Kp!J(*IRlkn;w|bO+w(G3{iV! zz~>P?gyR5;tmU{ZKM}u{cj>R4dw!28ybj0ged=j;*VnP)66YO~&Nc;KQ z>LccRKT-vK@xT@wFok>Jyd8eC?0)CKIs!I%{0#X5j!X=kc3GRB)@dd^bEpOY)H_VfFvLUU)IerD9>96I0R}| zObux<$F7ZSU+N&vBIzF5dJ6KbZE*+36I2UD2$6%RB6gHy7ZhG8#NpTF_Gtcje)w-JS@Ocxl;MDxmYZd(wsHJ#|_d*}YO5U2i^D>{Dj_vUAM?{J38_p!Vh*`ncv zVg+6_StNVUl3P|Y7umdy9jO|394#_~^`uA(`5t&_^t8|Srox7D_3)$-W)j!!2Ms4Z zU%PoPLmSRG&vm&H)$e|-_E^X6*BH}72%z^T@(0)SG%{6P{Um_S>s@ZxOk(WYyvR_U z*_FXtASz2)YOq>^qW){SVt48@d+A6Wqhink)H4bA0R~}U^uq<(Al={uDxIeXaeD!s zgS^BeNuy1_!?OvY{e$Gb0}Sg_S~O9n^{xXyJhb3{?>i)?Xuz;UJS^sidO@InmH_H) z-jhD}zMAOJSQk~-?}rMnnns{tC;udmCea9$i9&Qw^d+{qLPdjt)6=CBck~hcSE}8nuZbe z^6cP~0>yk_1P3-K5)9(@b?x9Te^1Jqq%D={-puQT&QWh<5cFNCM>2?MwI6_XIq<6w zK<(-dz6jd8DRL2fTO%U~QJa)1Rbv^xn@-S%4Jm7pz>iim>LdNVHbM;9gnmBFN|onZ zM+8#uRskTP?3!;{yVaST2M>r2=dG+!Jom_38MM1XO(V{4QUxzFnd8}IbCm5BZDF*Z z)5=+F@6OY2;@O{g%acFz?f_SXcCokL$?WISDI9uxc#eVNf@AS`wGZyxmin#@RuHon zecz_5H{jYc6;+8gO*JJ(#<=^=T^X=3O>}zDfGcfU0o}oZ@?j@za}l-ofktx2j|0M6 zHKLm3p2o%dWP=QquW*^6_dtK?NqHVuzdD5Bk_8-0m^WGeG!^PLLqm1PqGn0h0od~K z8hwVpA%+9`1(W0&!;!L3=DE4t$QtqnY39+1=Vbq@|2j>7jQ;npCcT8Re6vSxJrv&jy3HCY4s7AT-{;aR zGJS3ExWeISf6x{EYz3lX_c`j3|Hs%>Kt;86VHg<$R8%k!g;4=PIs_Div5=G!=}@Gk z6p^k$pBR*MNGL6(gw#+5DIp+TN;i^9{`*pb@!r2&%ZI$Vb5HEE&yH_@TRK8?Z#C(} z-V5%*`Z6!WLdjahN{{JrKlSSW;G^H|37Eh@?M4yftZZvt?%ih+A)Ds&Nk7{&u8~k?oMT>leeD#fbNC?K}FkX44nP3do>GDjIXSCNX}$h&zV}L$$(I zfe?Na1zG4S{Jirdj*zT%e3Mv$K#xjbQ(B0`$n8Km0s3nXd`}57^OP-oodhR?fkhee z4%X=x8RZvW`^3lVPE`1u{#My3(wI>LV6|qo#YyXd4|i2tPG!#qXy-^b9ElK}O>X4p zKlvr+#7Nz%r!lRJhZB;|J>q=lJbM$D<;#u4P8cF2eOOMiI`pK7daG1EanupA7id$J zNtZfe{buMhca}MIU~P8P=UBCO-tvjBc<2jAYNfNN@p%8TzUsPyRtrzGPW$csv_@+4 z1_`AxcD|?gH+UJf43z{#WhK>12sOUIM2oc94H!w|g?C#gNhtT&>V%c5Gz9mWbq*?i zGJMO*+|V_d{bg}M=T6v2gi7(AZO0pytIymc3HGjY!6EKqyT9HT$35F>I_!WI*c}?U zPFda;&Qsn=AI~y$S%q78(riRT;heA~YkX5mvC9ccwqU&Wy{Hz~)H#4sDb6bYK?~Wh09^1~%PusP8(6>v4%zi`eqvTJ~2_B9Dc1pSB z0sP}$hO@?5v4R~=)I-lj$PAlY4-YF$dP(z<-{8Dn+lqPWT+>1}cp(QXhOKbKnHZk3*5ud9ooibb)Y1W^Py3+NK7NKS0j-PqMAfsS z!?E-A?{gRvuduxyD)HP^RE^@I+89g+PZY{F-?n9HCB>-x3PZpup#uKte0Fw|L|?I_ zfJkg6peZ}r5^@qOjlb|DFqws&mI$^h>F1w%I7u=6Ms>VOn9q0=V?7b(c0D$;;|HUB z{Y5u{>pOxEXq!9R7k(DB@7+bYI9WGrb8EcoO6RvUy_1cii;227QES^VUNOJGsyG|SBH+n;y`jfCA+ObpbB7wkJF?oWD-t`jgvu71En|$&6y)gb=jVUl z`cQ2oh;-O{MDUs;5>=SAJf5#KJ@mb#G~uv`d=SKplxw#5L#*MVPW{&(Izum_V^B7Z z(^nS$(QOM9YMTujaZU4i7m~aqaF0)F)l!;p6|%f6e>c<|7nOx-GIp>|ItK=5j;+w5I{tvg;p4?;rmnZz736NMAX19p9ePd*|(BE`a3 zoseq4^(to}rE~g|A@&gpPGsu`vg-ul>175#Y{Kp$M`g~s)mQ*0kTcz^c?H>b>9#)Dbf6)e@TJZ|^*g<0sR-1Hjg%d!z!oTc~Yr*;xrr>_ws;0))f= z&cC+ei7K9O*FhO3rPMVu)sa+UH^$*{&-T~PwV5@gTBnIMnGF{G*gX2)<~Y{rPZb>3 z29DskuUUspY$O%LVi<|Wy3TYbs$4@Nx_yOhbzNecPOnDuR+h;$yZz!fZvfi6Qv#D*v5WCP+{?F@yDwUo??09f<1UFj6vY~BbnO4AK3W~7 zD)8Lh@HHqHDg8gHkCq-nAk#2S!_2-YOkI9= z=XIRr{4m>|&Cd^Ra@Nby`@Q-Ev)>J;GAB>OwF8Hz#pY3O!PgNW!qF!t`#|o3c8SH6a&&GHojKE$#$$lY$Xu5e|*wzRi z);#NaZr13#BAsBV*7nXmb|Ad`J}qQ4GcD_bZnW4G2(g!y^~Kh1yLJ4}13^NC%ke@! zgr<>{M5iey9Kuzrg+A_y1q8VxJ#X!&5#p)8mRRj`C0uxx;bvdkJyQC8mgCo5!loBE zQ0sb{U%#izfa=>Fx^r!4s{+2Z|35`y$=5cKC*77(tU7Y9cK!cARKi6EyI+2_>YQ)w ztkE>I< z2od1skLP)=O5f_L{;|{!_Z?pK-n=+4BIV%P2Uj=Zuf=d|b;!H))pzXJST-~kOu#I( z`t+*hvPv$B5d>OG&yY3&+e@n-8S^E`UgBI>C#f6BNHNNYj<~93v`j^TwL(Wbt?tv> zlCN93rPTyPJ3KUC>^^nOoeaglglAcO<3weERr#${UWDD&IEOTotL{gB7j*V zu0B6wcAY5%6&p_rY}@MDSlThnUYM0k{ulD)rLYunc(d#WtXq%YhL{jFN^Tz)#Ip;xiGi95onh}}dnx_4`idbF< zKzcC3tW@^>T6sS9l3?hsDqX{V+b-SY+)m4%Cmw4@9$N9Ym0SA#FQ%9~JK@cLTe;=$ zT4##6-$C)O#X;8uYoo4Qo^DYWvVQp_U)MwVmN(#Unhz*3!;vy~rE||VuANCP0rPLC zWlauoDj0Z(#bO)R8VU8*G=l8^IPdm|%nG)0W-op5|3Tx6%r;3Fv@DZjC->GHP6X3` zAJT?XS;U9(-;q+xcP2dIx4m&!Bux0*K#Lr}R!Y{$M;*JCcVMlGeVHCxV|!;1dtTO8 zRd$3K`?peepvIolbTI$Or@ca*-F$NM95!$}QI8bj9W8GhhMBPZKQR`V!hskRq6 zBDR5|Kl-M_pA9osl&UY5ci4{SQ2b%A*o8xz@aC<2E9Lwfiua3V*xP}+I%-!KfOOM` zZ{{)vv}IeTS?VFB<0()HEGwfXVkzS&!p+BP9=!XqzO9&O>#Uqw@$5oM9Z!t0EOktp zeDErOdu925`lD-?F=%<9A=V-tR}FQUzGpq;J#o*LcK%h{?3diMw%3|YwBbXKtVjH8 z9Z7cb-Z0%hIPZfW`Pei-S(6qWZY(R3J78tqC9-aJJDmw6|7s#&?x230fchC+_LS%h zF2}(&CS3psi zHWGq$x6_&dvBoUxu8$s*3w3EdccX%;nsjLLo(=81M%(O>#qP4jMnU^|Jpk-GH5oU4 z_hpzLpB9?+1s6mkq|hOU)>c+D-&mq8c=~XEU`<*~xUpPYT#hPWl>dv*Vd;Q(>fmh1 zbi=6Y2QH4d8hOcAk&aECw=Ii)t=A#c^u{u|k5}m*b#QjiqeL+?pH^c5Gu;zIhL7#; z@h!|&*xsAro^(0U7bqv|RcA-N$M?VQV&u&YC)|xuhT+lv>=W;-Xy-BNg6;B+a}|Pb z?)2OC>kPf54Y zUA0tpsQu${xmJ%XbJ=ijQw=Ey&Uu>%pd_<*h<@8d_@pAhL1uQ#@rcKmm*?J`Ck-Iz{wi3cj0eP1{Y z`)b$RqTt?oUlcQ9O80$-Ra?}QWz?3GU#aAA^U%cM_nS6~Xi7a);_@WhKRvx$zKb$E zi#!13lVJ`y5)t$DL{uB1DT=gtwyP8Usp}9Dc$^IlA|FRVlhl=vjvNLTV9eQJy3DHW zR)r$i+FI{#h<1Q2&PLWoZE)VIE(qx)a*$aaE=mQjGJf3 zOa7PVm)6{ETW2X2IGCSrGcxOW?R)Xg?jlwcBJ=&qWvsU4*7M;X)@hTaHU3jHVi%)3 z>n6kNyLor|6SVwQ-z*tvYkzIc#j*@StSVzPqVg9B!Qq*)1AiO(SQG?gevD^V>#trQ zVE;2>EB^NRr9DUz!4z&X1P%mhYyFQ0e7!0n?QSctJYVFA;`&d&wY#2|UVxdQ zQq#jP6li_O_z^a&d{vx8Cz=-X{gyX3m}-)Bp< z`C*bZH&z-i;z?%)u<|BNw=>$=*3)kQq|$h@PNf57bgq8LV5G`^ab5?|wrK$JR)Att z!y@-1wYm28J4(}KuWjt>-FX! zZg6RERS{xM17U3`ltzP{9%Cm;7mS8Oj??!(zdKM1V3UCK9SQ(EBS}}pTik9Qzs73w z_0e&0!lQseE0dBxd0r~lZeAr+0#5>CH3!aBfU@7lS6e0+0L4YQ$W_ScUQU_Nl^xyu!e!o`Wx*fr|YJV-Bb+5TvdZhdh1!B{!!0s40+s4@h47?wU>U_N?d(BRQo17(Cm2|s|bMdb&CMVp=3 zk(0&O3Pu=T;=pGiW=<~SR{lUf^Mnt9(mfS|i(ElEgSNmH$thAG2|LA4Qem=5hQv8s0Q2V1b zvC=!p8qqF7f^o)mk*O{R7Vu&vu?EI>-aaMSEL0OCTe$OdZ)o~qzM0;zc?1MI`{NR| zZOuV$gI<|9x8b26>zSCSIeo7_C=bty1o#AUp!Hkv8IwazbpVcys^-?OWinT*W8BpX zcrvVG{wI8@;z#@-7sL5)a?{rw{7#>E7J@^7fx0 zKxuN89Y_HsTwgr}(0_j)6aQCJ=wL z+Cvd4u?dbZUbrrlf9j@h!HeMPEOX;50BW{a%T!8SKWTq_Q;QhGnUR`Y_wC3L1f*r? z#Xlumfx&Gf-L>Z#z3R1)Ksj z4AVP>oDW>nEO4FNIX{n7b|EmB!f%aVFW=C(gFszV;iT9?tua4PP;hfM`pBzU(kcvU z_h!KUsNRzFAp3L=p#>tR3A;^kMtt1&BYE^ht+Mfl_}H$ut#-3RH+m3W3Tx1Bp5Cz< zACXM7t#^Q&C}-V!wXnQML_hhPnJ#KneH0Q|eU?!oEbRoi?OWG*lB>4G zdd0tVci~=b0}U%tKPuBN$yV9zetxG&OaQFIM|1+cMHdikU4E^mEm;$WDZ`dZwl7R!81C&zK?~tDS(-s36fINvO6oxp`2zkX)OavT`&+|Yk>4c@4a51fCM8};q?oK$`?TAvtUb3zb7l)J3(3o^JLh(fI_Dp z$*HzF3jmIryX?)LM;DsU+-=*mlNamj=VMj%8hC|oYsDA_a2xjf*p2nmOIwiVb4Fx?ovEtR&cn}^cwdlma`a%dN*|P=ePSsi-|irt_Yth09!DK0*1Vyn;ej#- z2DOnkv3%ZET&rZfQfl+b&$04pKp0cRr*$(nht&Vj-5O~-OSqwe)Nc~1sA)03n*@Az z*7=78mH7M`>W-~f*7a+J{zLm6Bj@?}*YR)3+fZxO>DMq#oi zdEc|tLdLAYq*C#Gy4Kf@<_pugiRqxlzd{&-rKyOnzFqLDqW0;#{gky zZ2)%E!YS4;4Qkf5SJ%$74on5;6$XCR23U9kQ>u%P?^r)WQ4}zKi2zOzMY4Hu4lc`t zU`JoXcZH@B$a)(4gaEF&m9c!HRX@ZiH1D8s?a{-G#iE)QfBZwT|E4cfR}G)Ulm_v# z<%7kTlT@BwzZgqC;W~o|m%e0Y@1su-yBK>l60B@tMaEEv$Bt-{NGn;^yrT+w0R3Nh zu6_9v@P(0Yr~72UVAu8DSvykX<4jijN#e`jBnLGkg`XZZ+IO(5{)OT-$F%Ay;j(~} z$qmUmTb_6_xrO^baI}?GOK!5*-&G$nla|{KJ#|(?$}PrsPMd;t+$x}%dC2pix^be_IFL~&&Ze34kha7Ok^PZbM_)YhBXBIf1(~K zJ8`2Mbo$FQ*zs&Y&#&o`ks>tRK^O^ShwjByX_ETpZ|AXepwOYc9C>i07cEb1^8Uh zro;J-(u1M_oLx`bQ-DF8({7v?Xy!U3w#3AYch zEy!iN+zo5-MD}2AQS#W-OYd6e^DmPV_2e}k1YG~{_(QhpEB<(a!fe8Sez`Fr8`b^C zkj*tSgwPOp`x{gB439k!96_9c@}0wO)?0M8ebeTARJU_-9vD1$B0hy(Dvb3A(|TIe z>Mv?F(R(d`fiA+d)v~8cw+ZjWpdgf7M$a(fZ9R+J1I!FvhXK=GSxVOsRl}NykgG__ z2u_7!aoHi4p&&yx^=4a6b{1ah`8lIR2_e+oD}tOc8ts;WJjSlpPePyjbUapmbZ*`G zfP7!iPsO|P(`u^3y%0SmMAC`9B=C&C0j|kzK@m&uALt{+^!4usO56k&dbK=<$q5DP+Vzs zbg2YPK^2cpJD*;fNoxR?GlWzd?s=X?w(kq`=QvjOsGY?9-y;PWX5672DI&4#*G?to zkpMLVR81snu$_P923NrpX|~4pyr%N=!S@jqbrnweL#mw3jB<1euTk%nVw?pD){*~9$2}-Fi8Nv7nVKR%M%We{5 z$#_pr1h(z*rQ?ka1l#3kLp=HWE(&m0iXD?DXkx_)Ap&Ve*!bTmM0XOz<&U&`_h8>M zh6|S7T_`6eLr2s;N8BFRpLB-kBj4SbmEY7uH_^fUK~R!mC%}8G9AO#sWke9@LrJu9 zF)|-=M}Q&AE7eO5JZ(L%h3$1=^nKthApcnM{gHRQZx z%9emjpX!fIq+>{s4tv120B-`iPfHe{!`mKaa+vzCuKum!n28jLI>w+|Z?`pOa6v5L zNzlbhms`h^%o*6~h?dd4>rdjYn}nx-T`TOuE{GOTG6#*%^zsZnpybN{T|Y&6ms=nm z3R>(i1xOV;n29IRYBs>#HU)=K8KM#&Nlc_#I$Zh6jms7nrUeBT!NY%3>5EUEn#d-zJl z28YPotHLgk<^nzC)D+lqjm;T%RIQ-ea}Y4LqZK?*2~$xA_8}e<2{u!wxw- z)Kp~00Yo|rygMkMtQ&;cO;@Oze*0jTa|7Dy*+KW&;ZvCftl~#x6I4!(qjJbC!nxs> z)j9K1$_NqRAdrPkCE~jS^yl~~)+r2#IhdkMx2{EOHkiakN01XG9kM>q5D<^>icD?d zLo6Q@t5N!w%~`7^;S5Bb$C@F zu@I!*jxT=N6j-bp3)B5Y5w%Gx>LqM~b2Y|)6QVq0l|o&=CyvduSBekH*c~q>v;tuJtM5f( z8e3a5$v)E_N3k6lj_+N3Qba!n$k*{rP3=8#g^ih$eEZ;Nxn2P!5VIkv0>;Y&!TCKz zjw0}WpyHb~?7%s4pOO;ES?EN+KYZhspbl^fs)ZCC5o{wV#*Ic>trT&7N! zI~Xb^tuHR*KrIBFeIn+&>*t+`{C@KOt)7l8?$ISxYcU~Wf zBF<0JQ0swsJuKgIve5JEHNaB5W@En9oe&rP^dLpL`^!EuDYg%JxJ`!O@=SqTH-fSg z=Zw+aMvabtzuDNr95iH{p3ouYhH$NaQU+^4IZNPZk%%cn3*0Mechlq@oJ&#spZ=Ty{JYo7htJd`Q(LqX^4u$fa>gO>Zqp1~Z-y3cYlSv3pb2VZm&@j$5|+{S^Y?nLTYvW}?s zDdcl8lr@H94z)}}7{e^*AZ35yUU`+>=G=$TSQkp3a`f4lAS>6pU1iN-Qw(UGZDZy8 zfp@AbiR{q5n;`{Hc#gTr%g@?cMr8)y$Chs!{Uvq|Cx4wey`l$9d?99jYC-^5u?|~y zJ~eB;UFeUZsG3zkXFmfaZUzjO;nN;Wu~7}8T$H82t!vDHb{-sf2cHj&xmY13C8IqY zl@|gPtxZtg9QfSqL}d@eH{O6z>_6sjX*L=F0$4w1zL)>0sG8WVm=T!Nr4w=zXU_!u zBZNB_5JQ)m`K=rZu8iRtkvWrXp3} z=*xev3dV+*jkI#oYQzWD{RIqhtYsV}qH{^lioTC1G?E6u{YG%;TG zmmE*E9sb)GJe*;I)DNRH48r-jr#3ed<(Z8%>+zY>sd%~9-R7-w)fF@snvFX9ny<0Y z;Nk9eA4q??tz_gTa}>KozI?a!n=Z1xvHE80RX4)nLci;)|6avqtiTtr-wO#w{LDWt zEx1YP0f14M4Yv-xNUnJ`#An_JHp;ocnoG3v1oqS&gh=1Tq_fzz$Q=ce=R0^YUhd${4Uaol`lFG9@F3!1t} zEWXWk=nZG4yg*`9Jz*&ISDo|D1ZjZbvn8)gqnOR^o@}$%T{J6o*_`rd`t9H3WYmqY zm3_qT_pua}AV7^c_1VDr*Td$s<8C{qrbF!O5tKn7_X4zs84AheY0Nz$61e!I$?J{5 zOyQe_EIsOXFn62*Sy3HNEt0ctd+9MfE6FzUWA~oM)mVV{Yto953cOe=?b_tljs;>ZRC#7muOIUimdJP zRDca>i_Vd=O`b8E++p3*P&Z*e@)kw1auSNtG%=m_c3-l`3_1S-;|Y!Y+*z?W$M3MR z;wE1ZNlIF{)ZM&$)z&NuK~4Nu9(8^4wkQ`h@h^=&e=bIn2q-=S$F4VjZ_Bq)TP}su z?x#5c)^ob0igSZ`On`GHmilXJH=OM*OrE)IpnrBJ?$)--H9Yj%p8jsnAlL1oz4feM)HI%_ z`W<6Ed(pw^FB|Yf0+xMls-TZ`{kVi3e!*tJpnl?wZ)AY^qH&RTlQOG1Nj6PJsGJW>z%bc=d*sE znx&t{UJw}m4Y^rVhzzj9SF&z(T2LGpNHG6**bls|=rRHUmi4t>Nflsc(9!?aSZC?5 zbl%3P9MK=+cZ zm$9X#SVJfYW0awJq(Q@V#1SQlgD{0luqP9O)}R891!;nUbRGeQjwp@B6g|7t3W3>= zZ;V>{sXc$5M{M4ZC9wv-&MoXjvyywH@*93Rev7iV8n09jYnw!TZjhu zjH%FyqY+56hMqf7ad=yMlN*c!@xFyqU#mHgSOO=FApkB?FHu>(C*H^8H>@86NliUs zsWsf}T6Fo(0>24`=8)o1l@o*jE6pT$i~{=2>8}Nw!~u6Q3`kF&23y?8-P7;AcB)FA_U2>vP3S$#u4E4FF3gX?E*Mb zofUn!T?5yW@Bay7e82UEUT7KQqzykj-n(!NVR-53(1P?!4b2A#%t)9#tIdaoJemlb zfEdJ=#ZqS=^KXFo(SUeR0Jn9}N7)EmHtUbAkfg27xWamwKLeQ9kaHM#HVRU?W>7TU z00j7&RG+Z8#THlz(8)R&_ zA3qJ7r@X(?OTw*aJni$KD1-t}(xUNQKX!ilZyR9wwA`0L<^^uE9``Ou(NbZCq7Qto zEr7!+o+@EX{N5MtdHHdCQbi$>L&vc}PQ&`~^bDNycsMjufa~}WAExmP$RIwP>DikD z4ADrMX@pH|N=az|Vf18W@Dt{IZNY=YBW!_3qV>qE_|`+W-|x;D8U6CkFwcQ7@^)X# zO@K~Kfo`;P8r+0}?G4eRgJ#I@$$2mSTBd;%C651cWh`AN4b|_MAW}#sd8&(iXwJ0B zFs%XjW_zf6ZV2HB0`%y0a5{YlYu#2W|OQ}O_%HH+mK_M#jKiHQzrU?LWJC}Gf2!Z(V8JtnA0EW z3539olX+5zNc@s!P$KS=XDnBd{rfYQUwrRyqQ}^&5Yh>D)NQ>_7f6v z`gZNJW0(6I)CAJyrF>?NZkd!|$shkVW~GjF0J8<+{K%1O(8LK6MBLMmrgf|<64ny6 zx;px7jFQL5v`#Ov!-64fIMYen-Xp|EVHTQmh$ozw_V5vw4Rp*oXnaB}p1E~$aK%Qz z7?V`~tL209LMQQ8c0<3cH^9GA%QY@G`dUdT2JSZ_OWOHe>V%u~#~Yqf3)s6<^yvcc=XIDXHL^t4*kYxm*O&X!oM06ZNiggp(UroC0t=Yp$|2EP6 zqJR6C5VSN{>=~W`l34}dPE$Pyjg3+b8mh=U!zpYW#Vi;eUL?GL;B{gak)u4h1pHwR z2`4yg{?5+@CBo$?3GG?pph;Kc0BAg8B)*yrEOYxtf=j&sdgM-!^nyWqTAqP zFFqS}&%1h71s3B?46BJ$Tjv-=&H`o*MfWFh*mwKu#6b+#tmSTVEI zc&jp-#YIAXwG3@B6CPrNgpBTk(+PKTv9C*C?x46UFBPC|1-)IKl3)j_quf#rn`+C( z!tyZY9lgLGb80w4UiGfr1pSvffMa!*d`+c&z8OKgVlEL`Z2h}QvV0G|Qb#sWC>u!` zotdiF6w!Voo#CNPFTLwM(o)Rl#^e3Zo?9tCbv#QEkRN&L%iCfjW$1=c?Qyns8`{$1 zM?Jw4kbmnakHNiMdzhg2_b4ylSioJ{)Y%gcX?e+>pw3)TZzT?us&sPI^aSG2`mdj- z%k{O%(XZ)4-!hU6L)W(>vTSm%#HV|KClOc^m7&E`BE}Ey?k-JsX*ikU$B9tDW4 zmXP};fwrXSIw;%kiMr_V>>*Xr*|W?y#U|KVa=8MX0&JH$NBtydL(Bh4#zdrw(lPkBVG z&$F!@;l(%lS7QNpT#7s?4{m^a|FjmCmvPlby0*W_2TS>!!Qx`_GhHF?`UXQ&wX+!H z(rN+dNuQFHaNP}>c|cr=yrhQEtcdHqE%GY2|7igT8jD^Z<47}Pm$KuU^xshVK595* z_x+2AsAIAR&8esVY{|#G0G{*r*~!f(8J(R$sSWq*>M@mNhHVOxCn)L!m@#ytTVT2n z@cKe>Oth;nLOTw2%55ivR}kU#iVO`zuEX5nr zmqgI%&l9bx*G$9msL+-dl81d!aw&L^o#gf5J@oX^0GU0(5oF!>VL!CDM(|&1wb|#< zQ_XN!nDst)${d5sxRLpD=gz7O#9*Hb$bTJXj&y&^x)ZQXMC@sdWWUoie}f(chde{3 zbh{ke))+9GxUan>^1RfNc{l82(v-Y*^GO!GqMNJWf`xT|Oq9wj*MMu?=`xS-Ibb5! z3}8NSfH%Cs=88{n=#iFtzj$%4sEI6S{wVO;S=cw|#^^3cmU5NFu>)|Hr_{+uQO1&u zLE(I98PPpv#~#i=xIEiDRg`jUe$W)=-{Y*{uV(HEGow#`$2SeOg{5LzE~pprK|`+dPo_lkvD?vOhk#Da$mbZd zM7WmQl}or&<2@DfwY02km$n34yIApQ79q%#>#X8=vJd)}AoyXxFNrEvf3M<;lZkk& z*AR`gBQP<9oVfK+l{digrmVbEn>~F=H-FUS*X2IeaN-qHeF1_E%X;sa{64x($w(|; zdaUvzZ@yOE+>@yzo)ps;31um6Dl(-?mR^sszv=oc)kXnq?v_0_FCD(?^;q=;Bx)G> zI^EAVv#)pKIZj}0|LQHj#kj}gxT&PRLGOCK>PQ6REGtz)q4VrZkco9!`JSx%?tHIF z1K|ww6n_R>qo~QV;CuD7k5jfwXU1Tb`g^)BV;n<^PSHki<;DVpw953nsD5|WS zFCKf8g8smVy>v!^5R7~O%zt>`@En{Hwc3L`MuR=xpG>q7ctw(;M^dAzraqW=<*KeX zjeWSh0+*G|zvlp!R8!v`gs(S|_NnlDuJJ;IQIUApw~|zQNO2oL5nGA2*y9UFDRPY2 zbdSB;ual1s80rCF8xQN`U_-TIvbQds7Z6^)x0S)?y=dQlhB)Ps`SVsc`C;b05nUd5 z4m94v(m0XgHaS6f4M54{58;K9pV1c`_j4pXnNOSPI8^1#g;XP0j-17DLelUxv_q>u zbDpv+;VXJO1Fx`{1G8e%g(&d~Dcgwp&|~sPGNo_176g0voT*BZ{B(ULx6naL0FZ2I-c@QdIB7zQX_>bhwR=0H3| z7p9<*tfJ`1C?pX%%Gkp6QzpE8v@^SWlnnsiXy@))9^qvg@9TIMK_ukgPJ!;4_K}oj zwPb^CzVd;0-8Ax^$kSzMRJ!(S-7SgB((aJfcv=^XIE3U}5$xS%2Ax5rmBA&;-pjh1 z>$io0PhbW16jecmmXsQ296jOymSLPu-|eS)KBY|}BI8%Q34M}?wI%(w=4fTr9Vswp zX+Cp>U9zfz?ut)4Ge1&sL6RRD>;};w^(n|@1PE-GtQ%KuR>*`tG*?T`w)oL5ppc_e zL1lh|w_3_-(?x(q2$~yOap%wK(@~YNR09d=Vig$b4WO5ePbjC~dagdKMea9VCB~|F zOC;$Bupt3{98PmS#T~pp9_bQl%&Aj8;fcD8zr*>WR!wad(0Mm~6UYa1>%hW)95K*n z8$)hmq%{4lF~SPY2GV450Q&Jzr$AcFwi*HkufBB@2J%o{3E6nJbnYc={7c}gGaT!) zxlxxP2s-!pduY!IGv}QRat?C2SQpFBC^P8H9D{CTg8qYuOYRG9>z&1K`40ZjPJ~n0 z_stmf!J=qV;-lLlJ!r)?-@L&@`7DT*c0eOk2%zgNn;h%V_wF_qlXC~87V$;+%RJaY zsr^nyH~?1=8*A&&p(UPNj1Ua&{zkS$W z`%;dPq@1lI=t-J9fv5Zeki}Xz+^|OXhSyMglLEV9ZUM<P@M?M zCP0M#K-?5q_W?dOO@-aJPp#dqSQ$dsKe>|2=}*iJl;T0%4raG;(BbsPcatB6n#V_|!4r6MFOrf?>Un zQoKX1()q;ed{SsPJ9Sy7cmcpnQzM)}FRh$wmu)|&Mb66sMJ6MamrwW62&x06pJ3ug z(45h#&EcUhkp7TRR1=ckbLaduh!4$c+rV7x1pI&y@R7X&v}b^;y-}Cqxcq^7BFA8FP4kq?PeOx|q) zykE1WA;LD81qP4TU6JH{8R7>i%eIm|`z&-;AzzHk)5Z1kgNgFtFoz?mVc`QQl9DG> zGgH)uzyKT@SEFl{x$1u#shCEtlT$l^y*MlT@U1+;NQ(RLUjAIBV?)!dNAF?Hw%+=G z=qpT~BPZ+-^oOp6>ag6vfc%b^u?ZaL3pkE!L)@JXDpLF`O9ETwCngN&QJ3zd z;kwj1wZKkot8PH+%yXa#TWqIWBF(J+(Rp_Jf$vFxmzY_i!KyMBJBYrg=S9tD7I$~J zxd9>8&H~%&j?E*6L|eU~ld_MrZKThjgXwt@ay`Z50)d&{W9HF0*2!UBP-lyud;f@x z*=!pP^T|$@$3}R?8weG>Is%?-1e6{5nZSuUsJ~!3Q1k*DaOzICUllZI^nK5sZX;Kf z+&@lUM3z;+=IjH`H#{3Y$Lm4v=*X5b(`z%E;Ds zGV$*fx*Ntf&G`MYOu&(1xf>e-D~P_|ita`FL9Mzn%Rd47UyU>wih@Xcp|N!Cgsbab z@oIp6@qx*S1Yg;iW2%vcyrE9zj119d2~U*hXvs*4ut^CKl0nY$PCgcV>Qt!m^K;a} z>p)1m5x`}`hcj)#3TbI=qTkhpG&_fatia*tbM8mZVt1C7lr4VTb15V+A(q%Bk80+89>tadMGe4dHt&UBg* zJ>zr|G{~I4CHgXSyLPxQz@Xp!_$@eUKW}&%+WC@ zbV8^tHOF>#hI2bowdIK0|1!@1F?o78ekOt7DN-%vc$VIzYLMq;m}!HSuYa12ueL+R zNY1P{=OIWAl%Y+cT~YckiF|rxtgj@5W4)k^(XaK1qx_Xf^6mSolEk50PxiGK@h)kC zr>(OP1n(#z&m$X5W)#=F)8#Eca}w;PGxiPasV5J(L)D3XLPi1e>j@}$`BC@mZmpu7 znx@KCHQdLPj|vcC8v>;|`q*>mVFAuzj`4ya1VxII zQsNfnB&kfbBwvjMSdvOx@4er7Siddw?4}`=s@c!mrH38XIP=|K5FG#ewFvoH;v1Hs zF45%mqoAS#wVA#-a$cbdB)<^aWeyEb2J2;qdDFQhzMT6E3eF~SSj{`Bwm#&~11uL*8n0cSLl~X- z;PDFS{zOtQlS?ML=MA{i=A2BlhiKbw(qU97t%VGwZYdaKxPFdu&Wu$(n43>MpG`up2xEs z9wQZul?;<|(K^UD@_g1mdESNJOU-)dWOb5Qi8{1oV^EVvD1Hq% zpdTO`TG+BKW-%(rOsRQ*+~RpeBt-r64sOZRMo7gq(Z*gZs;3+7f}xy>#9)~jPC_4Z z1U203Arer0QJ|RR;Xd8XRH^61tn~^GptE!>8JVdg6pdfV&8b_}amZAinI~hXP>nq; zN=!@=oB&O7OxUV0cSj%|~oisaX z?XErj^q=6cu5zwe*MirL`-}&53RFAfJGueD&)HIKEq{=b`0?WlQ=926cf?CQcZ`i~ zr%#ovv*@YU$tGCkyZf25-H^~+$#FI_yBp%T^NsWsqd|9nLh3WqyeiLbIeY^uW2hUq zBo-&&9k+3jJ=8uV?e5^n!ZF75S-#Q*B?eBR*Og8GaG12s%gHBuBj`sc&ii4?b7apW zKSy~~UBrNr%O=$@#RpY)a40F)Q{4ynz*b{c!(PT))7J|pf2FUdHS-U%n4C@($6ddv z-c{l)p?NHR7A~RcbXm&JxhehDJ)i?`CRN@cw}B48Iw8{L=qq|6fc=d4%!;0*=M^0) z6%MJYHtYZ8X6-ydc<|Rdco~MEw-s8zNgOn6=lWHsXX*30e!ZdB7#g6xJMe-n@`a** ze&pKzQ2U?%TKQ?cxA)^5f=l@p(6nc8YY1k1PiAKQU$kB~a zczxYJM^czI{J%`&WeZ~&JW`$bm}Ga+K^!=U2%T!L3^1}Lbw@U%e@evC8=nxRuPNCz z3uP(2?vBuuRT*ED*bsBVm~X2*xZyX5EUjTnisTS9#LK#~nycCxH@dZw?C%dCsV0C+ z02jrOOSSsa=eD`8KD##7l~mNa-xrx62#RN3lt*7BqE!A3lDbYj-1nn7_UU@=w-!dw zBx~Qk^b0%PqW=;8`9TV5ax zJDf=xp(mNEZ%0&%y9v>OZT~Ve%sB9e-#NBNizyGni1g%)mCQ$!@o-D#?80Lbuce?$5M{Wsrc{RI0=U+RLWns z*ue=Ua!{9S-#)tIlEGeidDuOhe?L`e?NseLhIV!EpACP64W}IhIBTI7mcTpLYVp}B z0olM!9bLJqpha-+n>W>T*?n1iKsaL>>w#|UW#xfHly`f3J8$lHsntp7opTUbXG$;q zdev7Y&5GZUeR({H;LK0R6UIFf?ZH&p4fS=KIiMe!3DA=X zLk>yg0HT({L#-Va1K%&IcCU?N;}qJdMi;CdDtIGo3ufXJ;C=5j2Pl%d&q!RQZj71= zs_HJa_-^cO?eNQ=yx9>P4N1!DoU`tnI+t(r9tvIv_Tp}0|H&b>diGa!MEF@kr*}tY zJ}N{RojG5Nk1FmzKWoZsv2!Tq*w9ZIGI~y+YMqU&lY-37ExFAK`&NMx%R+;zIhx12 zDiSzl+V)#C^PHMa$NFaRa^q3URs)fY2Z83&J(F&UqajVn_;KXZrgb90PQ<%W2OzIs ze+yw>0%(~|&PIIu622GHMa;H=aA4`_)p@O{o~;+)c#w7F?IRo^*SNa=U@h(D?-wKT zH69Y}kT#`h+Mcm%-3XT-ZssOr`JL;2`OX(Z?$ij$z>M`m;}A<=xvHkt&e+d!Vm%NN z)9`1eYg&QEn_&Lu_*Z^%m?mNSSsjF{p#!Y*&Dr+{5aYmo57B}3OSwGI4a#qMFCQL* zrw;8QmdPUM_>G%k!(y))HLySow;vES9#+xTSd9gQznA=neVwc$D;cg$Sg=f7z4j>l zdPT3fAX5|)w21tPC2+rr_T%|&ao3F*#0c(_c#nt`@!2JeCt&_5k}E%LRBHsN7zMZ) zuFQR5HznF7tVWoywy0|h`lq|-p(H%@-BhOHl+f?M?>{}Tq)x99?+1bW#~!jp>sv_FFxget#iU+#@i^;7A1@O1aWtU|=2=$S8RRJuW z7UVCZ5Uhno`n<}_+>h}z1B~eg*={}JejQ~9GysQV)N}2gT>)s89^i2%`l>GhOqk}{ zwQDg-IbyynbncN5TmZ7J;VWnMZw{d&^7|c+u(Y=r36eQTcTL^tgEW1F9tqtB&wyv2 zFguR>+m1XZA~W&-M(!3C^Lpu+>dAM^*u&P#jkrfN%A==^ZFcYL0R$~WXmEe zr8$^Zj_HyaCVU3Pz)=|q90oFBLOWvAvNOq6F1)CYQ{+_4wz}&)7Jj<7B`Zzw zb~m(J_J9l=ja*tJwY|N4j9jcwu}+DXNQoDN=Ggk)vRLS*%4V>p4schPcO5#!B<92P zh}{XYE+2TiF2Kj^7UsLiaz1n zHB|1?GApH2#)%+7@CJ2bGIDYn07s+&az{wW^$^2Mf~u{#{@@G{XgmckA)wRB2*7cX zA5|&i%_sZiK21-S2l7Zl-jL3dPQn97yPmM{yzFU-fMl${z@!x*9?ays9%#*oG6p>< z*Z)5HcDBBH`oB0tqdpslv2 zC;&1=x8k|Fjerm^GQRfpO!dLcgZR%Q0G~(^hT1jl;HPc}*v~~?4mvR-eu{&m>RGkR zn+Bk0J2ed%V#+|^6C8-4q&pm2E)t?xIL*}Bzf^&i{_gGD3jmi6GzdYsQ2dl8?Gb)d~)*GixqQZ9_F7@0hklkg&OUe`Whvgjv8l0_`Gs)A7tOr#0m z??~YDoKQyBk=*>GPTpS|&xmmL>9RduxYY(kU!Uq^`WRzW?AsTh?P55@ZRz}76Agj< z%1|~k_mB!>lKH`B2!m7!;4+v2QR_=>_dOrq|5B$SxC-*=<0Ma18)&P6pP)KQO;Wz= z_9^esI9IvZx{O}Dslkj=JS62V1N0u#QxPI5C3s~$TOJ~G`Kay7UJfX=42R883j1Rq zC5+&;YX8UBS3pI*N8KtSUQ`SaQA9u`1SBM-@hV88Ak8pJhlF$uAu1psNR8wuDLK;3 z=vC?NMno7IC1t30#`fO#eebQi7HifO<{!U0XP>?Id2aU15A~jf4=7g~!q^F5ys{9) zv@ukcjDD6>6wli5wXg+5!Nb&(_D|Z+K-tDWC!r(P@LC62Le$A>4d{5$cBrVV*B5i} zS({*eXw%asMV+a)$1BSd_@_!#VoOled?cX>WsU-3eKN5nqTFHXEFnwJ*EYd*;-oqB zfD~SX9XSR+OzXi98WCtdx$#ykuvo+e>XNf}Eg3`gi(zsWg*?_)60#Y-BXE?0DQ^O( zKX=MKh}BCZVQ^Stv~kijYw4!VR=KyQ1d$$YCJAL2DwTvb(eiPIZ%bN^RZ0b70`|SC zh-XUA|9)T~Wm(`BM1uF(ewBqge<|O3$NXd2_Otm_Ba;2j;HJY}xf}+EMp<@t+Xmr4 z!*HehP{LZlb+6|{W4)`mt@k;Hx5g7~Mye7y=1N3Wez#7PJ0r#LeNQ2tFfP8{mOM&O zfll^VUtBHVm%4&k>fig>XxTO2648UtFSBca3dH#we0I*Vunibfz4PUvMpL zR>MSEw$`m^VAp{-swfp&zMJJ;z6*uhU7AmcCO}Ez%^WHzUk$Eb7Oo;=LoC40&t{)G zO6~F1oz(cFviT&6KWadO2a?OAPBAbr+@&ZAIQ^W+v{>5DYFS3e_I`fFuO7ydlQ!2T za)u+p;iRH?_lwOlS02_LF>N;_8b!85nDbYvr*43cR3Gldcw@90aAvvPf`Jw!o2nRH z@JKF6CYX04xp&esb(w}X6AO)vqitj-<;6v=Wo}};wx0kadPv0R+qovCLv^d_w>R`P z3K_i4C?=){7N|x&?m!=WJ2HZt?o2mCPd(yYy-dOjCpHzTTMrJH@>Qaqzrw^J(qW4? zg)DRs3b{HFci=2?TLk`cOk^7ZlRJ}dM^WA8;{e4ZF{++j)Z#^9Ia$`@*_EsjzYlil-CE3KEh)ISl94DR?p2{wzijHoT$^-X5gO^1cOl*T~E>iy)Zsm#MTwY%yO& zo->Z`^mpO#%HQZkO$i-wU~7SuHqxkozlC_?=%I1a9Tqt`Nzi}wGsM^`mCT1|rpVzp zvxJ<9&bJH=nt3E76r%>5aAP0~FG2xccC0#B$&o_;?v`pYS-_OVt7VUMPn)}7`iM@4A03xK=rYMAV*w%+ zRK@G{h6q&XtDvgPBIsnBDCafl1g?@+ur8~fw zqtO3P?$aOWE|Z@(nR-bMe^O?oZco#bbACkjFPtkcgHg8eK{-{F8^XC7jwpQul#Q1x z*g2h*PVySridPt~L$F*kRSs5dPSI7o3YhePz0Hb1a)=+8^a2yZ+{1eK)H&-3?TVRc z{_eetAL|T_rE#qm3`{)XqR!TBceT4%m12&KX`|}Gn49t)Pze&w^LlsJ*0rtrz8=y{ zmAk}=>1I0ORVIm*!Op8}Nv0a*Tx90QGF3$bNkxjpzLL91jWGfWpbcUtvJ)Y!zLYz} z^kN%I?Poxsk~cHWkx}Nnz~zQ2|7OeiHH3bZP5JCc?)5cW_(bUg7A3ORuZKnllNk;I zorA^3%7NLQ1LyMDfFpLY(vs&<4rBP_A?v$)dfuNxu!*mZ^MARD%ChU>&K{mN{hVXi zf&bKfg0jr{65WR~_GXA&8)wRv7xpGBqg!WGTR2FclKvQN+bhJS00@wYN@Gt?PjmV9 zhs4aP3TXTMfvb-q?xYI%TyL!*mwa8JY57&n(32pw0QLd*gm^`>b@(P`TXhMTPc{Dk z^w_9PuB=p+5)NQIsm|4LEBbxikJF{R&-|XHe|==BzxNU~DVklk4x&~qXfE;Pa12gz zq~7!OjZX>KG2Odlrhs6(wkCvDRi63iaeQGa%Y9{<+R!l(gcs2`8vZ-I*MU8DA;B{z z;jy37uYG^`TqyeVTZfoWPNy-g-S)Rl;WvGDU@1=Sq>l@L3Gk zxUl2&&2&wyevrfp0!N@9AbPBTBg@e-x_y5QI_)O=W9@#u%-01h%S=+n-T>qYlMoHf zOH;6Gm83#dwpRih4e8P}SDPHxSYUB&tvF9VS0%^vvyg8JcD$V%3qrArGD2mvEs#;% zu97VWe)0+Y?`X`ojh{tKOsrZ|`@pf4I+r3%-T2;G$n z!`0;hil7XX-ea}QMP;DNLWq_ z+r6z)1;;aEP}5!1XDzfI6504=vGvM+x6YrdW0?6R*tEL;U1qlq43W18qB-%bTMXpE zh4Yk=dKk@_X|@21*{oT@>;@<(o5LcOS{$v5r?oem8l8YzKA~MEp*AwRsEE`of%z4@ z458M%K9boHlBSJIRwhq>C8SaYq^i(JgDkdW`(6hy(ofif2+}LaaBDA{%R!`$vx+b=sn0Rq1!-u!oa`BQ|*h!r~ibhv>}OA$S^F-U4&N0po;uQxHvlh|u0!mRJ_q6FF>%wXknr_aFeVNF&l{sJvN;J8P)}H5<`t`Z;%i zd7^j7eiJ;Xo|;Y(6t^nZh6D2rh_SMP-r4i#&sSgE_iMZO>n&^O2bjNTKQQ)FAv;We z0ot(?;O!t4t|R)&Ggwwb%(#p`*JMcm_ByjuYe3ZjO=M|u!&Sgma5|ha?Z}L*d!RVf z)pqv+%YrNjEPGw7a4#Z8lEtb_o+$uT=y$&tnYrRTDH*VN*B2Zahw~6LtVn{0< zJHYxX@&~5-6+$8Y_>Q+FbM5ZA6^EQBB5}zo zBf3{jE?LiLVOU{>40PX)tIRR6rq+kFSPyqU132?%L!xvY!|XA~T0YpARM7rqTsTr- z9v)e^28!92OSF0`pe^gIiD~0rnI4uW9#(n3L(l%_j+8S>ll6Omgryy*zC>_J?8|%K z#YVoCT3{c}=34RuZBvfgUYh0QSc2n0S9@vhKJ4-Jz<*%^Nn9kH;+nv5xf4awC0{0% zEYoQ@EDy0rao$9v;vTYtpt+@+W{8-YpHaFJoys^n*Dohc~W-GpMnmh?nY zAOzELA@t%#pjl`Kbcm=GM^$NL>--0jl8QNYtNr^(A5oCaJ8#>$h2 zo4U#8EWt*45lq%3-g4Awnyy;lpPf!#@ebVGS zCw@B{!Zf8cC5jV9ry~JGxIOePHqW$$tBgHZT~6~-@gn)q44Mg{$=G9BN@&zZT1A9P zfWV9de}5&q*FYwEuv(ZvAe2>>$;8hT9}sbv zWQ1M{0+Mw2+9z+U5SiDJ2U0kCOSVZ2<2xAQ3UO>|sj?tX&oXc)lIhxvAkfJ5y-QeI z;09>ODIs88#jAut*e=6C0eSFaGEkCU)f6zsiQ*J>+i><(x;9Ioz9g(Gr&ZC}%fUPK(o!ctc_T zq&yqswP7Hy(3M`T0@2nYL{9@X^Src2lCg2^`2HOHik7CW^J&b?CA}Jaf3v^>VNmqU z%23zmW$n%2>S;Gl=a%vn;SFG79Utq`6A|hW9)bvQqM^8qy)q#%ep*zLYD@Gou=@=$ zAAT!3`nc>>ReTnl!my#zaIqvCX4@7uXKNBK`vGSe;G~pb=cITy|n20OoCi1 z+u``Rx?zvdX-|nJS3PMv=Xe9+3N&oekGSflbgrQ{J%AW_RWqWkN}$9TfXPH053rXM zmV0Ba0ltQajbWJ0w$IfZpMn+};?SHaw#Ll#wAPXiw8RKvkQ~-i(EOrZYL{Zh6DBjQ z>j*)%_Zm6Rx!^rgECkpvODtOHOy5u|j!#&Qt3y6w$rXjzTcE zerRsRbrI5waUwVXfPFm#L^c{JkRJG#kVSxt!aIaLQH45bAyQ^nE|K3&eRp~N6HsxD z6C8D0VgZ)DQ{2<#l4Unk9*dPw>9&tqcD(6ihz`=3a#iX%Ae)<@%{rmI3BmLoNvj1r zxo}SCH37-zQtUrkr?QD1&Dzv0K#;;2!>yVu8>9pHLO4W)S^%kKA-5c`EvqYhrNblS z1`hv#;p@+AG?x^{MJekpbKi5B@)=9?eC3*c9Uy@BHo6#IuFy~+wpBN5dw2l#O+?M? z7bG;1Iy+jcYfm&rOXD1$_jDs|^>DjwGjm*hJ%xXjeSSo)KNC)|W3B31%MEAXEb7^na--9Ko7^+syV*n+{ zi8#%g=`R(4vR&Ba(=#G&*ba`noC`^E@(YyhH(du>Ns%2^FnOYAA0_N ze7~RA>tS7W!0l_zCw*7^FNF8|kbkQ%R;WG$6p|M#W9!h|BaZkr5VXpJ+9=08;g2rk zp?O3$N_vZL^{*H4<1v1bjav4Cna2g-a)yGur~wQl+2FN2fkdd5c>cnYr$jVWLwdJ# zp!HY9j4^<8lFa8mk=DS&YVoTILA*~kHSZh0{!g-tkHb{E9Ax_`5L33NsW41+riVj= z15NPUIKTO=EayW?e*NpF$oP)fgwQ}@KN&dbeY;l|%r3rv!N~A_{-`?ZP(qQ96V>1N zwUys1b?={m#E-fBC(Y#RfQ8+Jf+Ev+G9PJ}ytn6n#_-=&%WpT6Ea>xgUw?AZNnZVb zO;rf`|Ciz?lMY<$YIxh%>G9)-b@8sAU+ds&{{F|4C0_+Lhw6v4f1ZB7J4S&6JWl_) z?yovE@s)+jfP5`$O=FoOz!LiPIu`+DX7%aZ|)02CjMx^|lnd(Hl9J@a!X`28)x z*HpMb)!F5d^KV<>_qp;1=?=b~#HwW9&xrWvzWG1=GTaa2NzyRrCd9*YU6x$v z)qalONo{|AUcl}960{yvy02tkJ3&0Ov!$$~jCBdWllmv8Ex8dmBFt7ETypeg;hi|1 zw(k{yZ?^!J{G8O!?0;>BIw zh=*Qn$)B^Xczs{^(}>{OxT~|}4=liYMqDak!{;|r3ggP)9=L|#PU@BK>{=U|Tb@7e z@5d@+{4Wc`77W(D(hUDMUg5vqITQBP98AyQlXe3CdFYbUBzpff$og8751k-3;k9QF zruu_kdi3D08T9?rZOZULcptK(Xgvg;-e>NziZc z*Z0is8#_Tt=Qwe*^CC2!{+aPHT9NbozMB3uiQqnqiJP5ny#oIGxQ1TeJ^jC~H{!|! z3W|?l`WBVZCTuHoBzpg~Qu;}l_-&YNuMjzCvJveZJQDvu?+)&cxWB0R5-&EYX7Hl| z{_X8b$sfOU=YO7zui&^aJkk5>@-CUXmi`~7g&pzK(ree-_x1fjn~#WJfByZ`pG+S3 zJ-~5DtSTno7_tAwl)bC+|M}{^jeu;B)bzmuxyFN3*M-iXmnDLs#5ma)1VfZ`bhAb3 z!0MRo&3)6^QRd_0LwWM#R1w#MVUCxUJ9qnX*R%

AtMiD`4ces&N7eK)r32r%cKvZcO zc?jNLcyTHt7PyR*1@*1Lzmj=<_!-QSaI$fi?*2^_54!@CHx9WbNDqrjD4s$3^e78l zGI}wkA|@0L}ICoe4h)iV6d==+lMTV z%{ejGtqzRwC`On0!mPY}H078q39(=$3-p9!sD$v^zL#2u+ITV;p0$G%GFsf-iBivp zt3ut|_1kD1(PeDf*MHuhY+zD9JjXg8K=(8Ev;|}n{vt*E6%~-LAzv<3Q#X~*HbbMR zG7(NWKuUig%=uwsXp78d6r~^9pqk&{gR1LVL-b--uQZ#9;z8(m7^dWX;P=5MZppR{ zq|4ESD1={pOM*%5D=faY#lENZo#k%v;@L#<*)Jy5sjmgeD-`9^t1nTWe`X_K2HigB zBt6BH1Az)u=e>K6QQO&sr0Untf1JRB!2cS1XuQ3-o(IbP;>`Y%bmbeg)aT<^%RNM& zMaDl|w&LP0cDu=&vL)jz8(J8g~D| zH8YLIdSP7>JPZ{c&)5e?upXhO=fZdr(#2l_U8N3? z)234gi4i?|X1@?HpH?sa>`3t54FZUgCvB7CK(x5hoFG0kaY0(2Gt|G%xGC&Lebfb` zv`6Ff5fdsJVY!&%LihDKEN9-rd$x_IiXZmQv)yPtfwtG_$xxLiIAn7p5;D!5lSiU* z57++tfkKb${-&lGjPS-{Ln6*cA?dL?8g?e+p&5}2QCZQvPbIJ-#Wl+D=-dvC+NV<- zA3uGzw-ZoRh-VEOMZ%LkY_JbFb{-x`g#2I-;U5#&EmAC6|I+Q#hy3hMEsa1K8Td+^KsBO%z_4^@^BV1EkIgT4 zJ3QeV^K3>W+TO?aW)~~~38e1HxoaPxR!T`pdG`79=ZjDuuLB6J@vx_kNnwX)VNSw8 zg=@Zf+LPXHSLcoQ?{9UqfGEZo2wircKS;Nw@C|jPTrely|FMq6Dn`t}xo81L<+Q!| z;0SS*#R)Uqsoxf*WKz(W4^3kIK;}3l#J#+kr!Hy?o0Oe|j{^1~f*dXG!>WkupPwyN zn9%ub_0PGp#y0QeI!qdx--Lx4>#M{`a9av7gu*^hKfhJO%zr_wO2NOG_0uQwb;~At z?Odmj$-#mP!!kX>eIElJtws;|+(i=#l*xqgIU`ToEa^p@x`SSe;H??x>2D8A#VrpA z#Vqr6IE>3L?})b=8x<<5)sB~p*!^{goDWl&;OxxFx%77HpLa+4W;cV5?^Gg|^X;6G zlL7)$mA7)n;?VS#?O*kM-%qLfk(3-c#y1-w zR&>la;vt#c`&YZ&ivYe#j_(P2Ga3qJYUbTcTN^=jFNt7U*kx}Jq)1Iu!!e)GqO4g6 z!fZt`0fU77hYu6Y4&~F7TJWpcE+cG(a8eOO4_TW z!a32m0QbrmV4wB^bF~f?DAp-f z!PhQADJGEYi`LjJ%reQ^u?8FGjNQ!LmwTL9YC8~BPv{qvq7GLjaI~z^F>m=bMnne+ z>Zmt*j+a%c;+l@wSB;?gK1TY4CtohdCNDgj>Y*rUdlnhMr%_Mb(yfN+ED2psDvku5 zD%x_{zpr4QRvFq%a1ApRCNMB@R|;1bOfAlny8h#ujjiE!8pgKyFl&fX47TM8O|51x zfBD4fYFc~He84o0-=3a(qi2ib5x-fA0*)a?9oyE9Uov0per9fBt&_T2LSuw{C~a*m z++eSL>@;h$-jSYNCpZs^*x%51bq?dVYp%rCs5J>-WCYkTRy>wCG*s=1UFP1h@IgI{QTYvVxUH z>AYjJn>b45g}sQ~<{$;GHEqs1!XQKm6JKpjMNfaGMkSsme$3}e8uLdxvsrdJ_WKSd|V((zxzSY<^dWwKQWQUXDMH11h3|TKg&Ac z`qG-Qcb!g+jX>+KCQ&IzhLa~xj>S3h0DDT<2*(0cHFUaOVe=M2W=$O=_ zTWAq^-_LL09qlWkXRj*&sM4CvetfziGdIU|@KJn-%CZ+&9U078&WhT} zAKxrwF6&KcFBs{rJB8Ugi~f5oCoIon&f0v5a3Wt--eK&;;J!B#wf<}kiH8iVytH3x zkR6IYoq6-4A5x>1^&Gy2t>+$QB0Fj=9%V5sKiZ6x*fjMvK7oN&pIbg71?bA*=6pkLul!A<+v(FE4PqH3em&WQ!>7G zBFkH^#VTyYOYd|kPtDMkTSiYfD(6V#92nHEq(!yWX6Bd{7;m!W&i4;MG*kBiv(tGe zZh1(hVcgIB#%qbkS06Jgn;v5f&DeY5KOhI2u9W8G?XiWq_U)#-iAbZF?=|OWM9;G{>oBABG#*O0pV4Az(lf8pN=1@%3JWYq{H-H`FS)g@aU=6Z=DXo) zuUYFm7G{O*w-_kSPD|K665CiTPPF$JU1?iX#Ee4g&oK^#&VqHqP*j-Ewc~14E?tM(Z0w)z!JE7*tIRWQIcln${4svr$QEP5JMm8Ntium1 zU<{o+nzR?LsskP;(7U%}SKNeb4xUoj2vJj(6VC1$saWakoQ zt8(R?L$P6OsY_B&OogIDB%ajiq>TXTkciu&T``ib6Yt4z5Oa=JFZs3PXQznTaN4&8 zJFRT%*6pf&1vA%!x(RW-PTE2H>0DBXZ2c@Cjx{Q27S+WFWY*>Xtdf18`V_EWq$7rA zQ)5ZjE6wZ7)NE1o0-wV?AnBdpsD4V7D_CY1R3#`M2quh2iA2j}*QJT}GDpjG=y@sa zCDmaMxuP|4B^mFqm)0unvLMuu(U6>3=E{lW5IcKqFFRg`2rnFn9ntop&hrJxz0{PH z28nsT_wF?cTP68i0bU;(;$=B7?^P_d1_Kr3#S~Z7cJesK?SDj@nU737z9&57G+bz` zbn=tVIdi?@dl4lZn8}^g#>e|pTQ?iB=_6BD7(zWt^X1cb#?i00Vg`2e@Ey0}8L@72 zi%D%pWQ&HAt=_qyKEH!8YKf{VaK~P|qLvdId1`g4Ie7|~E#N-1Jl8EnpLM;lpmZVO zYQq(vM{9hqdr_w4J;%6rlr9%!x%A7jw8Oh? zg7vj0#?kZwh8bG(%C2w5X?2}W3p!He2`|jLw>mG)WjJP{3zrBw9Ei$m2jpou7%TfF zxgIQ;qAN=CB#KC#NMuOqI5$HXDT{C6Rm#oE=N4 zp?|2slZAJ)d=+fiZjkc7GHmgoTAaD(xXNgu&c%ij=|OAih_iRoq&n<1L!kO}e8xXc zE%7?bEiVaMb(CKbH*b5EHx%Oe+PdShZ{llSr`u=w((ZB9+B76-zVGI)o1!5_;3|qf zj>P9VHF#0d(~lN8BasYv`{s(pzmxouJ?hRno!%n3o%v8bIeEzyA!2%(B4K@LWGL~q zsE!;++pCjj=f}j9tyPXs&5<5Urg|#onzv=*P4r(w)GUAF=e@FmE_TI4R7|KEn%;#& zj4SutlA~=>UI4;ZJ2k!xS#;v^=g&tG!KpyZN|X#5hdOMW!zH@JqpbiO@Ya+qDrspA zYLb{UDm^(X%>)(ERDIwKr9d%(1$&BOn+@ojUkC(|ozVGEpfU&0&j=%$WH!3)nt8S) zykKZ|>^g;*Xax>NW^`3y<9>p$!(^!0t;fQ3ENvu!s?<)L_M1)4e77lP6I?LAURilB zaNEvFi_F?CO0BlQMm`@Qr6mHO=&*|E42!@3#% zZ25vPBl5g%j1+QbBtVkH$6g{`len8t$0TLnd}T*{{qrQ#Sr4h|7w&Qg{^mlq#miMy zNi1H*rZxHQMqLVRZt01bVKIrFbjR8H(DA;!cCI5;eax>QV}Rd$f}I#qu8*Rr7pMG3 zK0csNG8$UlQAD72J%24b@v5|MV?+)wIE~zcR(DF2ziOe*W^6p(Tld0dolfMqI4;cs zEwqE`i;Rm7dzX0cSzI5}IzGU?dilnV^W}ZEpH&N<(_8X{##pke@=WhEn+gA@Ngt6l zCOP<1fBeb9=OxEzo>j{YVFzAz+vK@?_3>;j71^zr@nmz~eIMsw2Txp2s(M+BYPl%v zE^+njIc&X;Z<^6~b!Fm?<@!h8MYlA!#ZJSuXzs|Vd;!iLhfijq_a8j46l|08^}g3k z*6{q?4digAddY@JO%n3RY->e~>qApVT9+>cll5ZVxik8h+fy`e`vo)ERXW*CF>V!Z z!sY`78J*c0I?E^V(e`M-u3m7HPA^qDBdyN22<4nr>Ab)pKG5~VlmTnjKV9FyaX8@^ zswF|3qAuobox*5WK^$io%CA*LQM7mn4{-IqKuA(5SW@E=`roH8x6<1t_YuYxa=S>QCpk&VF9DuFR|n= zN8K=dX7|ZWrPC;hxO0{)?vYdPLwU%ZCENvB#e1(_8hCiA=7o}Dq!AM7XCjRaXT5fO zBhcf_ndhtd;%aA}oI;Vgu}>zF(n}cYXq;EO`RG{vlt=1GM{$((G(qh1Ay?L<9)l4#J|3%$6VC6< z((WK_y>xgS7!X1Y`=$?%xy^D-9X26|ux$Bc0f!2FeW<8hmVm?-NH%14YU|zGQGdc~ zL`e2AT3QR^p?Scbwi+G|>~H@2bS&8(?aWRyZz7_Q3~o$L(_o`b#Jjb1nLr1*t{`7h zmoF!>drNvfT7>#z&6(3zeYGh2mr4WM7POi%1E^P5n`fhE=O5FB?DsCUy+{yHD%EQq zppHLD(b?J~Fg5IYUNh%v?`{s!!*pn}xvEFu%ZOT?wPb})^?TNanN_+fR05S~1#jny z4NaXoxzVtnyzF?1fpW>61ow=*W87gq5oVYzvK@BrRXR?48XHQ~t6R#0w~{jF&Fr#M zu?h9joc&i?;>D;7<%1_SP{QY$<0MY4#3t~vP3lFgP35B-bFJ-+C|ZX&6%xv3_B`}N zUo?=S>q+eY@q0FIbBG8SxfjUyKDMS90X}fy5ukRIU%)act0%Xy=$Q{YC z4%0UYXD=~`2TIUzK)NyYp%_Vyt&3j<~xc$#F%&vD49HVlh(J?)XX!fKT>={jCpkQ$!eeXt~K2IDeggy zl)nH#j&a^Ph(b}WVjK)Sg((~*NLy#j?6ytMREl&)qIJdDHQonq8;DGxamhE(Hb$!q zr=)R_iH-v1^|KCNGQ19$>y=jkkBsA!2d`aK!R*EQ3b%%1`lftq8}o|;hq2L}rP37T z-J2<~a}|-~m6W%QZAwCHhj(zPDYM-Aqw<$aGxvr-B(1zW1Jbzl!X;_O)QS{ z;Q3}VyGNDg3enfmrt#4vy#AgSS5rkCJG3Mf5QWtOy$=~r30*JFmBl5C0Re^Y9=K2k zc)Iq}eZ?-nCT5i9Lto*L@_~3n+8`~D}`#rBpb*yrAi^V%Zw))P^$3`l)><){l?&nZw{e_jdR zU-9B*dRPTG_$6Wk?a=xjpQZVVNS%}lbuWa9D>$@vw1t}v>Cb(f3UqRPUD2mB>^L6R zVVcwu8{X4r)cD>8BZtRxKxR4O7|x|)sp(WlYP5__W56=1;ik@>j?u_(QG8mcnj`d> zn4Y3F1dOZwtyMGa@%hx|QDWD&A zJt{@qOKL{?pDanjW6^YvC-;%$WbQ{`tD;yRltV%1W~M`N5aA26EAE=1yYX{Q_s6x5 z3f-4^f7o5h3XmN9)v}K<`>)A-CW_hCbs7Ci_OiUdi7|y{iwS`nk}cX+n(h@A+UuK5 zsf%Oyx$#QPQ~fOuXZH&|X?q``^;`EB-_s>Am5JO z$vEB|zph!PwcEAoHnsWI@|(M1RWg}(0`4{Ahve2w4^~!{zO+w5>Zlo-c5mZ1!@c8i zeL-&1^@3MM+?Cmp8|@=at8yE$RQ~?{p->Q#1If^o?2ff+shx4Ssqd?7>SxYhtM@ik zvSpa-YPnFUAdERS1^_k&e#W*H9PN_~eJlI&p_~|9UFN2gqgSdZu_`lD&83iG2yv6h z@SVQAXs(tx;d3D57If_i-lj~Gyj~Xd1h+-f40tV#!s!4qr8wM?#J&^eD(}fRN~Ee@ zv}hm5vWcFRbWuHvtyGn75SZc)3KlsSZow%LIlqU+@`)TQW7AcL=qY<5?G&HK2Cr^( zn|6E*4)J=zEyMlNG8vG5npiP_9yTzD<1Uj0bqu!ig;lBAfr2r-Lm%rCv1yK~erLd)4o0PxAN?QYhNj~`MRbd0L3)F6U&o$9*=k-@46gTrJ3ab+_F z?27+am5?dg+tZaDRrZ2g_TfWBz>=6UrY}LPnN+w!JQ{!s_GZ3O5nqZZPyIM0QgcO^zFMk-?7Didh4$(rvnbKCf_wW` zX!Wf0qgoK0&?6&H;Qxuo?b6;$@GT=7g`)Eyd)O&NOU~qF7BEpTp{BPg1GQow6cm@x zMI3HsVfv!Lw_;Iz%2;+akiok&6Ha*6$EwMF=Lzb}dS>fP=3j1BLgDMggk(w0iY-1yy9UhAUpvRbC9n|LZK&i-{n(n%vW<-V za7e3xX!gh=Cf>Qp$cemQ9dz0!>^p2$8+GVTgApwk;QFhZ?~aU>7`&m^&a+E9-Y4g! zU3|zRtFaJOW{IWg&~(toj1{V-d)EAiJ3|z9RG2^9ZZ^FQg*`d9}ysnAGeE%Wx@HWXU^QsqV$ZlOIm#*_- za$XI+TtzK@o>7|RZk&^Jkmq`E-^~Mss(#AMSUEHjz4ZESLXA0|Kqt!EO|!pn(*%Y} zcOq!DFeF}t^~~+ImS&q&oBmV}ACNICSS zMxqk>X-UJ8|GubbnZHCq9A(Q`RqHNpWF_4$xVT!AUcL^N)2SQthSjU>R}BO;K7YBl3b`4wIv%98Y@ z7IF2yZD||8mJ=_ZiFKwI^f@Cg`9+Q-M4Hn)y&=7`x|fUO?Q;&jb9@btZpGc|l6MnECp{pml^NqF^}AzSuR{l0l{7HictlCgHqr&Ib5e!~gVSMf;ZQLE^cB`G5O*XbYAv;KzdtSE*)1p#+3WJ) z6{rwC1`7?p#H;3;D1m9cml1GYtkulSULepv#DU4KyNh?VNzRptD?Mkv{_@u4uYK9x zoN(VV9s`kjM2321j2+_Q1gQQZKuuknhVf)~yQ6$b2y8M0UUTN)E?okZD6-69>LWOF zhXOR(i#kMf$|4VS0oXpgn843W2wy}=m0 zY4$Yy<(3FHeE4XWKiAc+x4-L~j}1_mMIMY5|Lh&XZSSWcB!@<$ zp0{0L!Ny+1Z8D$U2u9~DC`BAqi!y&Amvfo^w9d`&e_Zoo?I`5e4H`+*ygFOF;8d&_ zoW4;PDiLp@XWqkk$~g8RXSCLCF+b%5f!$mh zV@^$(^34}^Ph79*b#LW&ooc!WpqZj}r7?~Tt5x*E$X+6gXJ2zL*Oi&UXs=AcIeRyi zC-V%7Ps|VWMCZ*|>G_&KomP6-PG4azYaiWwzv~D6vDaaXT9NLG&V=>HPM#WW$QL-r z>}&JfT;mEg2MgMa?<<|dn`{Po1#L{_)5Krf{KcF6WWC$uhmw;`NlKHsTk|ht`30MY zf<}W2yr|bAeU&>U+QNho>H*_-W#SWYo&lWhMY}#PEm3csjb(GNHo4G$9+oCg%Rem5 zT5NkBHaSJfY#k`2v-Ud4nZYzV;LtpCj60^rGgZ)j)QwnBq7!qI>9!JPlx)(s!c}ER z4bO(L8Ftd;IPXQwiM&c_PT0e0wB|FG=Ze2gbqRt@mePfOn(F2CA=7gc4Gdm3M8b>F z+{B)V20y}`c{My=vsd>5HHCNSa3Q5`f{><3Y4J^PSx&Q8OiJ5kvlN^|$GeBr6|7s1 zj~!iV6cz-vCluC89j3y>(}5S%Ai7XtKlFBB*By3{OaQ`gf)P?mE}$*OEgtfFQyRR3 z!QpUVCLu@f@#%6gwWD+_%zb@uB&xcEcRcyGW#K6bJ7ItjOJqLRnA?W$1rap3te4e- z%4NJL4IuV9qCf^(2Sj;$zwjn4re+H|_ulsE2#173+xjJHtlIk-sufHe7qxplyXwZ1 zcHZeX-KrI`!za|2(Vtix7tl6jMPV1XMtE}BD>pwREh-nM%_9A??W}srQQ~b&8qtLd zU-TT;U*bE6Wz5Xl;SsNv(~EDOIennbIvRSh(qpYHaM59|BvaJfRsolzBA-tdIV-_$ zzlK=9u@;KQ~Z&Su?;K5f2f zq>otNN59u|$@6cF6Zh*C(K2EviAab+BJ3)8uq@ zpXK}Za;zA2T1E4fl$3XcuUN&Ws4Nc!IQB>oDi@O-ymE^wKRk)jmcuXWuRZ)=`?i90 zMuX!Vt+!!UN2N`ch>pxRUMeI|B`1DkuA5(%!WfZ&c-x??z{4tel4cjpc4b$@4By**4I|WJr7^-sEtBjyBP9JIoFq0n z)bi2R5y}gj=M}d5xNeUg4XYC_o{m)LZ;@Paqvh|MXv&>%Q=7={HklAkqrJr77Cn~S zYt$TZ*+SeQWQ$pX!n&P%Z_&bruLqyGoT}bE3Dsxbm?d1w+k+grD^wlMF&Pa;-((1% z418YT2=1RrZTJNsNr1{`BzV0HWvvp$)bia~Z4I}|ih9(o!0Nzyda9lWRGmjHrB4jO zOw<7ndcLpqP|$?35F5wvf&`z~8g3}(Y5-;P2nAgtM?G*=Ya(Xqg`h*3A6t*52;Ctz zy^@#93nL?OHm%Qm(y@4c^Yq~sQFDU5c?WTipqka z15=rZ%C5_T^3gAnaZKC7<4SGIbNjfNGO{(gcO9`3b=6`Oudrrc!EN$7T|cGGvnp_M z!~9gVSaNtHL(dhrg6wlsTU$8;Io5^ky!M?Oyw07Oi(56^brD#R7$=pks+KBA1EC!K z())@VMVXB|Rppa~EFNu_qm-sOk(C>9$2h`7ogCZLo!yGC911KITvYpl7!bs^ccex!XpcK}{}DHVducTVb!)Jw1et%egEVuhSh-z8~)-(LfcxT!`lu-*`zb@;LdGm_naasuR#VBTd(q6--r zG#3s7dHIRC`LY?Vj%Fxo@@rk&$bepYlk$9rt~u=T-sVZ;n4DaPc14=}JT)J>i)ee3 z@C8<&M2^F`NEdgx>7+sAy$FUN(VxYjQL<{Tfpi`4XX46qFb*i6Ks1*^;c*O$yIVyQ zI&tKqOHPfm>Q-qBrN9Z|k)zkK^-npZn z{&D8i7O-$ckm<1UJj7o{E?Xm2h{YTS3w^}H!)DB5WQ7+qrM$+RxKPr_3A(sc(5B5-TFEpK)#u zlg++`v_4Nrc{3d;@Bg^Qfd%#=p0sFReVj?8>IY0S_jH7PtOQCV9hn*Du_!~;aSeZ5 z;Oc-b@_0vX1c$m7*@`(ka>eqDo4#h${6LD&`n|qq#j*11?b2_1YOXzw7vpB|5>?UP zS;n7Ay`dJR&|2E?`LPlf@m%r7dIge?&l4f7gWXvv=WL?c?^m@HHyOu&y>>)0{{BP6 z-DZEU-^vnK4_w`OOOKE_-(aXz$cMx&z6jH8pNf<@<%EwVS zUfVENitz5t9w+~G614u>JE1C}adC;wx(ZtPjc!4Wc5X)jl=1y^J_z3uu`g)9tXwdM zy2>O?S(aOj%|uq3ed~<#0b4IBh3Oxp3Dxnms1MZB>PKuC;q-SSv)Izmb*ei-kM)ZiLu{2~AL;VsOwO``V}r(=a%*AwPpH-sM+*HX;IxxdOa8kI=;;)f%s`4#wvg3rQy3ZPlJ&WOypqY8X3 z7V6sYrZ@U#52YR*zh(Q|xPODCh|;dsD?ZEHQ(|}I_u7oO$5VWzP5)O?MqJfj zUqy2(1e8DH6@PyaXb|DUtCBn5;OgR1%>Dlc}e{Ch_HFeCZb z7=Y(^aSM2k+w9zr{+A$9>Tl8)KU~uPbDuu3Aby)jC7=3vbpRoBIi+@f{pR;izt1hz ze@V-djdoZ6Pwt_=zWArK%)59$5BL8(>%J)fzSef7zDvvQVz2zm*8%?dzq5$=vWV(K zb6J>8S`1D`M#)4eRW}yNP4q1Sx86F?w;KW8Wd{(2R-v$BAPI1!Ljggkn;$A4i}wW3 zK0VFR*VlI}JCpVQ@bwj7Ri$0q3W|dYDvBtr5&{BBcQ|woC@BY28l<~LbOfZkQBt}) z9i{V-(kRU#q#ORV8FifbzV9EeYcAh;6?C6xKWnXf-LX-9EF*KYADJ996A}4jgR#K+ zr9P6J`{Vy3;G;^0kDe)t`20QNzB`6sVF!8W!ie34$C(RZC8Lhgn)Y8#Bc?$60GR-@ zknoF};R7M;M+l<9T)myZw>50Ff-}?_$3FymFA|Ptr8ho<)1bk;8xUqz`VJrwO@@CF zyex}W`lh}c52vX=|L`A)J5^b2opiYF$G)RuMcQbY;4+`w>Km#juc6^;{L|!&E=3~EXu{vx7JEQE-`r*?!IL$C2GZC|00;c+! z&P{)|$J$^!!~#KXJ1{m+B3=>SzI_wfyuUHT_ziqRX__ut7bPM7LDl3=3-=1_O3;+d zs3%Q4B|1$63@zlK?NEE(^6P7Sd}`o2vY$BLp>;lV1$1luf(L5#G6&M_@fRe~-RF6T zZjQ;S(?eyHq~U2WIgKMKBGO!*bp$%T642{;d9Fi3I(7iE6;{q1x%J_O!UsOO)6hNs zcKO-*p4OwOp2#=2#9@bc+L-K*U6|l_*}>9-fcI)Ih@A|R!QQL)kRZb~uoo3|Py5gC z_Bg}ue>zx6gB+}DBq64sYS9w8xva}Z~Ih5lh<3>R?sWny^{ zt6)<<{t*M619YOe?Ax~Y3W*}X#1iG zhzyFg7JNP;g5e^bKJlJ)txM?bCxg;8?x8xrpIV0uw{R zHqUp6tHrSzGJpdXvlgyPD=kxYvD!m??bS0wzYHifNH z$~6^s%V8i#i|jSK|NDeiIZM~h8~4pJ&T3TZ6YZqFL>-m4o+|DmoTyw2ONAesULuC{JQN{8{{u zi;>2uuD!h`-~-Vmzab3BuRAAImoHi;7@L#!F5@p!UK`DNxkop&Q*r`6Hgq)gN-(mg zn(ctyg}Bs}7G{4HMh5PJQxd(+cG7(^*G+e9s#dUew}@g@@}AaB0u*K&EfsS6osz`p z&04;{OJAudmZ3nWmQrnP#C-` zEs6dD^yLI{4SrdGqs{*s56A*ob$W9(x>-ru~OXtA{Gn*VzmL z5H#czLDfdzqXc*U!Fnmjkw{j3DMV(7ICNyA;$pRb@&b4Z`X@jGTvrx`(_gtY>Xagw z0p7kvhTUQ*^6^Y=`zx=xQ*{B5@x8|k(gcBxm=wSb-{4@WX-ncc`8t-=gSN*Uj3*C( z8L-F!pJl;X9xHKeQhZ<-r|GaNy!=rrya&VV^2cMp1azYRRNx;!3sR{C{BEw|Tywx7 z<7A7SxZv%izIS|r@IURw9)HJ>!mWg>4^_>9^T*IPk8a1p!$~mtXd;2QNE%cqU%B)6nd=@ zHxO%c@_I?)=WF2Q;#KTr#S({wni9q4s@|E7<|<LTy_{j`3zCzPJum<Ag z;{0~w18`oA`W;V|PP4Lfdv7m#q9>nDG079k@rUy&Dn|%+N>(6`1XH9?E+res=a4<* z39^U8x6QLXNfQy=pxI+<_B zf$q+BiJt~ja;U#a>%sKtUbmxu`1FolJ%)%&t!q=H#KtkioVOV?q(ngsSy9j9|Eod((Aa=&jClFhj%T ze>J+y*gU||&>d%CmZ6wU3(}G=2TZi1I%w~V#Hp7z2jHBY>jl=;^!{l^#R9;jxQ`&U zAjK8IKSxKzmb*`%yBhHT0a*`3#{rSzXehV9`wRVxvh}z_0fz><+Dy3M+ebWQ7Kbulvv2o~;DiVKs{?3NO@@j8|EPod7bgJN##}lh0 z$&xQAs8qXp-nFr23b*Bpc-Ckb^Pl_IeiU9^`R35|zPrEcaFL?b24S|vyYk8_n+=#L zRi(L@OGK>g4kaH%PqeC9%kWTCwS$^%>e~uy`_89Ikno3UkktW zUE}oo_RW0nffS(O31KgL`pM=PTrwpL@LtY=`5+ryr-+X~T1CQe#__N*@RnXt3~ikK zeMFcc&%Y58$C3uJ;S^Ii#MG3OLe`-K#;>lRL>taJqB(X4Q<0owTSpVrbuqWOa{HBp zOs$&H5KM~Q^5`m(){d!MsVAY~YCL-ub~RlTw^7*a$9>>%Spn{qE(=#M)PGvkEku%K zR%A1RDMCDUcfILjOMoOi9?*y0nPtf8QTH(E`Q7b#uNARR@GWutwv_S^@HV{6mWCBwIPrL3VF* zDHP&xqVveP%!S^_bUh};gL0K-jzqTbUX;{YOWqQ>pZbmg*AT^iTQ&Es-Uv;<(CveF zW9d3sFB09QiD$J#e<+Smo_c!D{9mX>iOTr5yaE>8z8YI0k*sFwsl|4@B&#>X$WD>9 zv}g!Rw|BRy-(@7AuX{JA(D9)+p^xK%FHTwJ7_mVKuD|CMyy}P&=is>qoNX8tmVU?d zX%|QP?zwrTK>jmwjXCG~23+QxcdfITd5V!u`l`vEUo$uvh^jnB>!Y2p<(n(1(G!lF zE8eSm4YbI5QO0HD&W=;XDRQ1gXPhi?FL|C~uwiK^ZJ$tTky_r|NQ$#E+u(9S;|$D@ z`unxeTaE1P>`Hl6tTvzXB@Y6A$mi7NtIW5vh?N6_>ds2=Xi-cY&eT-sPJi`H@pBc6 zjZ)zp^;hyzUqQ*k-J^z2;g7%BnIA1n3o0?v85`zTVp*Aq+8E%tR_=b)-aPm+$8OD@ z09+D@`(55e3T|58*43NP?d+ZPBO9*ZqEQnB=rtxJL5>a_S z2d}$9t}N320!uXC2BVDlFg_b2Kfv?A9MqCK{iZJOHrqXp%b)szsr+Uu_)3Tb7~{9tyew`w#EyNh0F$pWq*+N=Uerp>u-a3)J7a>ITaI6X#dv}sy5>^ z+qQ1QXyVf>n(o!6GgBLK8Ii{TvX55{Lqk2bFA%l12OU-Ztn zgna5__RE%HesNJ1Sv3Bjz$2y6`PG*_Icn`bi+_u&th^7+_TscHH=R9SqPzmKD*Qj2 zurSOx)s`QB*0skd@;?&g-E3RM4Z(3RiM)>3u=fX5vQCSX{ekQy;crq;%B6U z>kJkedM&A9n`mGgB38+Uqm^ag^xjETB?cZPi>^hc(8j6J(Xg@ggkUn_;0)@ou9&Q= zmv{LoiF+6gpKdiMQxexwNbWE2n;60{yhB2v(iaAcr2WYG>C4sqfur>bY=}!H+oCxY zaxh)Cbc~QCue$!)iYz?aC{dU#%Aa}8xElBpI_VE{G)ERjOxSMEK}6Q{!`Q(hZPgLj z%xxO+;NpF|N0uk~@`Td=;mTK{OnGO)dqL2;xmsd}MU={_etr5g3_s|<%98F!CQNUC zTPd(SOo$eWUbT}vX3?bVf`5+l+PR>9X+{f1JX} z=0HhJ$LULRorO`uE-IQpmti;Q;@%?u`~*KHI-uoCLPvJ&fXGqB{4 zZ$4L1*tiyd`EqGE+~C!=%{wCCIAQ4U zZS-lsNz`b+e4*UbYJZN^NPUxY0$?62whO9r=)~8Epull+fo_+29)drFkS^O_4?fpl z{GQGEPsU?nB^aiFAmiE_+|GUT=3hG=MTfVu#c`#}y;~#hX-`5@c<@BO@}H8b(pyFA zM4r%rZPB8nbEa%sqk6}QGJus4e~?bcuTQ-=)Qr*e&)Rg%%!vXLn(JJrwk#spn}TB7 z-)S3FqtMl>xgM&dF7F}5R;#x>T9vQefX_(a(i>)c(VtG{70CvIs$DM|#RduAy`622 zmM|vvREYARw;QnuZ>ku&gDUS~(kwFyMV#5?kN_98CJ6=uA;0YRi4I8G{7<|ImK;R5 zcL|Zn*Zm>0Irkk6xicuXwa(g*T!u@Q`#s#;;CLme->yjzZ``5F-Z-sj{(gFypUO>2~XGV%FwBs?n6q$8FKs|1Xp`$-he}xJyHe)sY ztcU%(m?_sodY#}pOH#1+)~MkNBO?_?sC~=E_2~?s3XPSOG@q^J4y$pMAWc{CGBT3HPa=1KplFly9lPmMOlO1$sQ9WSs zqxVd`BRFY-579CuA8VOn&T+)2xfVCbqXJsqp*wbqmO`n(z}odij8%SpEUn7bm9>o` z{9qjltz6mNhgWnGukDV>gV;C;;^~7JRG1j^AAk$~V&z83xr*oCseny%wMB})fQ`3n zX|m|G8n`|F@Zp1Lcv25V#065W$2a4UQ~`9aF8RvyBo2seqt@K0#9D2Nt;z?8{N4_^&bVn)bNd z%I;pD5%Vy8TGFj8+ul7LZ^LM1?%}(cmGfs;sBz&u7%WeML2zfLnpd*@%GY)+ovz4< zo@$5HCfa0(!_y;n^q-abeY&!>*wS;WYFn;3GL7#Nih{%%S&d+quE;MN z3Ua3o|G}iGGENZv!>TLI11p21ml{q*!PWWi$Huji2QtP6(tw||x+gd!BTlSy`D)6C z>t1{J-y1FrgVL4hM!#|i?r##bhpyG_T}cP29h|@Ch(yR?A8VQ-Jd8>BvlYr-8vN0A zu7i)NZmDs?d78{-6`Z0X4~KXR4_ALP?3p5&`)pRZPR=F^oV<%lUua4IyObIZm5+1S zckS->VkMePyks@iYe(Dk>H1M)Hn>6YdA&fbmz8BJ>o83Y@0S}?6}nD1?OB&C{$G#$jWmaVHCR1W~cd!m8u+a52-yel0PSD*+*Y&Ih=Q#)(f{1e{iy!Hx2 zZ8_N#EDjSPeKCt~ZE}Z9@TjKh;pJH2^_Q61zTA@LpRg2(v$gGs6_TN$H5|^-cow&{xyfU zwEXr^Y$xii&ChW}Vs*82%RdYOdd5)I88E_Ic2#Fu-1P~TWL5FP+5b$--)hh(WB=0h za-Xos6}7+U$KEP`>dn{;|Fe5nL77sk;bf4P?Ps*8j8d?Ld*Y~TLs z=^8)dLKp;GN$ySS33DzHt<(_k>gcWmd=R)j@3%0>ZX!IpCnAGF018qW$$%kK)^-B-YD*BR;oMeyxv)YTr?%6jTcI(Ds!b? zAY9!aGS(P&>EDz1y1@b}MXK6)M+Doi)jhfm_DhE0)i8Xo0?oKo7RE8QjbhUgdU1a- z<~*abpt2M?OZZszU$;I2*TC8Y%?c}wH${GNnGW%VuDef4(hdrgsDbZ#NmBKj_owan z-`81O`<3%RtK4s^A)9XgX7(I6sY+c#!;`Z&V-Jie1Gzo*FOy%Q!xW!t4spm>RA=UJ zm8f>ua@bi}+w3Z<+o%aJ;FJ)dF-|$(Rcd)FpD;wYT^+xhdMdW;S|VTG z8Tz+Zl`FdH&Ni;$Wk7o^$-RvC(Tpqjr+jaeQJz`-K+7Xr;Vfg=h;T@L*xqn$gGn@I|5RqIx8|ahL(6 zPne;3J1F4ZsiB|00qNV&1p4p-84uO&F2jQ_gJL`40i#gx(%>)_2*2J$*6?2XO+$eltA{!6;}nd&=ms%vLg!tuy@+7Tg= z%aZU>E=H?ZMXL+$d4}8x8`~M~d?>$86T9Z{46Gsg&z6xgJ&|0GqUv|wo_FpNT_x6>p4idT5m!MaE*}@H-F}6Xfd0dWclj1W!WrJ{Zab0=X-&5*m-$~Mn;$L& z-EyMY(@@m4jY1M>~mDqp)}N&uGp;6 zGNPZ6gEsm$Ta}QpXfP5jE6`qZ3-IqqQ)@yh7u4t8B>yy)gGVHI#dI!q!kD{CiyLMX zuy+UrU3uO0l0!yVhVZ9oj6HnJ@-xd7{K$}eMLw&Q?U3wJ#SCReC+eVk+VzcZg*`;v zz76KR2vUil=6XZn z4(eKkSD4E!uL^T3JbPmHHlCBG( zHaB-YreIk&EOYWOh}x+QJ|-|T(GN&^7}q6Yylqc5j+ zNRJ73C#%1aPd<1w5z{X~hpa27TWE+Ey0UZ`_l(Zq$A^It$)?3qRsjM0CV~J>#D`RN zqgS=hxB|&6JVa5luoxyj-rsko(l3_j&!)8ex_%k}ox_{CE-!p8m4eE=RWrT~GiKfj zzZ^u(Fa%D&hxMFZ$Fc1-<<6;60<1KJT3U8|p0tKccS_>M&TJHKg)yGYv9WD(xF!J} zUmlh$TLiKvOK`uXuI6ElU}kMmY#>^i>&*y9w&Sh`8!8XyB#7xU@AU_#N2cVIQF=*aUk~=&+oF;k&t$`QL$zI?y z$8;;17s`U+NRr#pVaf%on|(Ck3$prI+g}m^@~`8aa#(BQOa^u45;1N1P<5t5Ty6Vi%+5XqV4;b= zYn+T>*))gYx>^oE0IpR-{qbeS;{RldJ{QMgL!gtt7oI|t3Rs7Sb4ib@NmJUOH`8gW zKd_|R&gU-XAWm8V@H_vgGcEdTF`6>^uN|u>Q_e*msv|Pod=(S)bN^uBnW@Ku0*K0 z`m@CrSvkV@vm3G<$fP0c2(b>!uCvu_czbY_N#iqY({n_EEgf? zZ}X3hf)WVxSZ7sW&G@|QylxMEWaXD#OhQ~okr6`WVZL{fAcI>~6^@?T%zDvN<+$TC zqW>*96|^_ld`oniLT6{1O#kH2+dYdIZy+wzhaZ<)uwmB`uwxp$^JvJzt1&I|1gE~wEQtn}{1E^yo5*W0g_Q_dV^Y&jgE2B%JXqo;B_oWubHbLAp_ z1$W*ZvFOV%Qy+zoJ?vMZZ&NMREM5}03I5tTJM$E{xlcstLxguKK*p_g zs8*vgoMo>~OlvtYF%iIfZYpSRx$I-1#<%{fk$0_kU=Ady`wTn|hy06&%BXE^V5j4qQ z_ypz(pJi>RBSA+QMQF9ov+I}+rN%4Fm>O^LHssYfjITYt{sRlpfA1&RVVv6nxEAe1 zgFk1Ee>nu9EmD%0AU(4RCn%Eqk;E?~(>0>^8B|AFn2@gEo$YcY-oC`!_`8So`k6LJ zS&E=wVz-x2(Yr3-Tv`^E4a$5ZTTd^Whm*_=Xevd0k)5Eg|?`+ul zVFYd`IJ^;nb^6+WuoCE+5q2KvnVg?7)Ok;am9sYw&ZM+!-9nAUQX(UXyjVMI^u^@$ zzHPB;5?V6xiV-pCob0n?t_w#W^6`}^okAcdeR=07q6@Uih*AQsvahC z0mHO1u?)>b-A^I9DV5JwUaZ=0uq1pCgc(TsRlb7o4M$6mC9n1obtl7=t=sq2S6wF+ z;5>eOiF<3zj~=EEZwYpftrk`ITESOIItqwHj2$0nrY)cpQ$&PU)_jjTsCfGC?^t;P zVouTy9^5=tYl(Mu^eezgTO#H8dBrMANjgocoVYL-x#g1|^`xUY8;;G=>DH8^S7X$$ zsA65+Rm^Z6Sgu7ogLA@x`qm)X!Tyl?-0+e3-0rBzj_wC_FtiD&Me?C{r*u&!0_jvn z84cy>vcTa9 za)fWe>NyaRp|RbaDVvGAj5;X}28aFJbKX?QxFgJ+y|}L4o1wzlk5&<%qh}vfS>PFb z9oOIgh#xM$X?7WiJhRTyn*j!-Y;HT0R9Z;uBfy(R=NX=MIeNdu{#n$+gl##>dMXl3 zx!z>^C7_29{Uwl5-t^gJr8?jhqPgdW*EiH0GpCjmK?4eyZ%a(q+rSs6&w2aHHNzE2FOS>_c?Rd=5=Sa8oOb4 zX8L4V@oI|=!|1q(d*wiqc1x7vggXJ}d%Ec&Dfid%Ej1*YP3aq)a*u4u!#Z=#0ao+i zdytb**}H;U(%(rLE!Tc;Sc$7-R@(;5{n8#T$<3{5$d+uZO*cLbr{E)?BJ%isapIHS z*{Keu*hhW29wtvqa#YLTTRUf$U!e=QwMkdf@G2(GCL`3#qP=0qd8k1x!HPlcPW<{a z74aoTh0kgPkW3IHs#9z1o4o2`*YrhOpTLByq~SdQ9zCd_ap$_rTpyksA~`!7jR%F~ zHcqqtHA-X=q|^Jhqwc(Ryqv7Fa(Zv2=~#Ej|T6#bz(F zMkyt@00e?*WpqAB79V^)=W{PK$RIIefRx8tLOI9Jd$^x6MFWib6_(R7qT!Qjfp&co zoCU6GX^r);+l#$HhTI=WXNmgr!|zynZOdt}V+xodQ3<5evI!B0otKWL@t4>lGH!W0 z+R$^St&FlcJg1YX=%0w(RmbFZf@*E%O=Zqi^p_0 zCDufweV{-bA4gGf0bj7yC71Cxl78{)C)l$j0*VZz0W0`ye^ zJ8GcEsGlp*jYg38>)JwMZVm~0+>tzm!RME{WgLsL82Huu!!9@pFk(A#aO6B(-PpKi zW0UxSyN#HS@|K{z0+`9XuUv1vrFSUkI;tt=(xqNK-~X2nW`LGHN=4Q%I%a^y8)xDC z+>l0`Te-K6P5Yyke`!%BIv;#B=bCgAU28m3Mcnd|nWwQKhcgg7R;5y>dwn-*HGPwN zj#i@`2WuM!vR@Q1vnwn+c@tfs(5G;edjRGyNv>Izt4$=bNq`w7!|GJAN)fkd{7(NG zPZ+qkwY(LOZ6jT;#F5=t?1I1DXLX#ak%!IUOkel+Ny$}TOMiL6?VID5^S8uBp4m9a zZ*j#)SEnnStZgR4T?X;J_1P=T+Fw`F@0Odfj$b=OTl^_55@l=X5)6baxCWf4vJSIu zX1N`nUJYb^nN>hp+B;;`Bc!3ILQe zArM1(hZ+^`%cz5k5``P5Ji-#x^3|d;bKZQz1{UNG-IfZjZD`uN6yiQdQ$`StZEF^0 z^>$odtPWDakz@IAZ$vQSCSFWKAGdLiE>cC}eRpNW4)#+k59+KPQZVLd6^g3ExsKKO zz2M|04Nq3lo@KakgRONW$-=MS-K!s1=v_wi*Hdrqozrc+@Fr<_T&v9{U66?1%vc7| zT_NJ`Czr3bl+H1Quct3g%8D0YM4%EpqKUz3M{-M?g2~cbSuR zFz#f#e$b-D^0b*{j^lB{tj2mwD7o2Ma->Hb1^XWa(()m;V6H4Y`bKZHFEDs zebbk%`z5bxTnv#FNZbyM?SLfj5GK?h`3Axw-rruy2m6o;8Lcxm&|kdCSeA4mX%uu99|9AM$Z%HRkCXgxCz7BZ! zyEzvrf}$2Uw$jEs-vs2)8(ox5gN$nqUtSSWm1&Yp@jM4i2Z>rYZ7D)E2$Q={ULAM* z^&lNzQpYT2_w7@N3tPZl3EVBAfuL6t6-wMcNc;cTDN+`nX!!Bx zd4B2J+EmAVoEP8CX%R+OkmU3D_d&S3wi-xSErO5&AB=6!=Q=A5=B~4|Gw5S)Cgh}b zSZ({hzbGrYi5`IXAg0w)WG08dO{o_xA{M7>bPDcp-_lx|a_V^}+ zJc?CqUBw^2>G=#+;or%m{|wRpJ&AE3N}7ly$vU1RP5n=({G>R2pSu718{mrzc_Wb# zb*^mZ?`+`SefncQ|M^XR>ZE?u&f`DOD6{#&bpit`7n1g09?@?}sY(XIRRw-}=8Fu_=bJAGVB7Ei{UkAH=3=Koxs}pBfS9oVus*Z@5f|GWqOXrtgngf)@*DxU9idz?|C$Dg(i_YZ8Aw z{~5DJ={t+;sf$5IOmU;PQrk5`YWfxe(;!i3uFMpK6tVMrU17oS*pHl<+ceBAp( z%W(@)86hrY5H~pqftevND<*kONg#kaVnTNk8>dl4%Y_;^@)aqc+6g|B*ek|8<9s-{ zbs#Koo_F&{0z54l# zhHsV2tOnexX+d&O1mfj`p9mh_KqNZzB^2}pL?+g{UV&SMC?C0)GfgI85Bu8Rt;tg! zUvavP6Ew$(y8m?pQ`@)Pr_dB?~$S*qjoq;j?-!pR#1_GZq?V<;9N3;7i&JY zXQ5W?M$7!CIJEkbkxFgzxqbEFh8y74Ur6joj~Jw{1U3P_}ya!~q@5r-58bJ@31DCv>+C zCoI}W%t`w#e7XapvE&;j4J(qO-lT3ds%R566~4j@OL#hS>~cmH*ar_;#T8pE-YIJf zY96$~pZxWJ!A)kGcq072bS=tIrRmkhNxj)e-Y>vXrV}kf?3@kpogK2 zWYJ}rD*xIB1`%~<@1y?$>QQ8IqPTz9;!rU)h9QNosyKTzF{h#HoniKag;+iYkO{Lm z^tWw2I4ry{Hn$ma=Wxa5`j+9Nrbz1A5N1doAcY{J$;1c~b`m@uWc{0$0sf5VNjPMHRCNnhZ>82t!#}J!S!a%RG0X!sZZ&KEeO_*D{&SRs z&+_%!jHYWq<7U{K9;yRPHlYuX!=Kk6Lk2D=4k8BSyCv2pO42OA^cm)6X{pE&Fl@GA z)wgKv-SL9RD(ErcO|cd9ucGRNj7PEjPdXKe>Y`9MnsPx z^zdJW@_4b@dMxXuJdG#_qJav880H+HkvMzB_kY{~l}}3R7jw_*j0`}|rnf<;19jlG zu&{7SZ1$g45S3-MG`zExB7=GPs?OOaAp4rtsDq{!dl6)Pt$C-zI!h7=yM~x@GyrH3 zex%$tcjsyN`^MuSb3AIIK))jjL$yArJjO#q7OlAjw%;kL5L>(3TT`! zcP16{q+ojGmsUZvF_)A$Sw45)dvR}FH2;JAF^>8m=fIht$x$t?unc3*O}u}Trp)}Fy;UksFlLl zk$0@Y!+Mgsi=;e9&=Z86Gyl1b_}{yoBw6>_+wO(jZfHt;yx;OtmY0{!&J3vPR##Ue z$?}-aQv-Ljsx^o?p4~?LUkq}+xsJAm%xan-+Jzb6Ss}~-HG&O!56g9SS!931X51$O zL36j^lL>`MvY>#6*ES1gZK!2~UqX~t|nGHtGa5X=I24LVJ9o_wy)ge z!mEqCTGFLhG#|Ogb1LJq8i-lRCLC76e7j?qve>Sq3C-wfV-yXhsGX7DIS^8XGLxVVQ zqxAgkfXQVEg2FvjR%FL6%z^}2%M#yB_`vD7Bqr%${zKd~lurCS@dIu7pl`)l1UzP_ zE9DI*)g|_{uEIdy^$0Mu8FmQ?Y%fIEgV@Ds$VcvnYq`?FK8^ry_TK4sUz~3;@d6{K z80Wls+Y_!GiTPZ+fo!JXeXYM;Lw07SUHnYg>{*Vyh5&YHv5MP`)VY(bWsfWPz?c!9 zQNBLj-GR5~KFCGSD*16d<27iuDbRbc?oD-k@0AC6`U!WhDpgqP2N}B!pr%b>i2;?{ z+%)k}&7I54Q`4x6`38E)#ykltDb~!gKs?=h7Hl~u0+cE;hzhi=GOGgOrSUv z^}8sl($=?bIC>eTYE%EaBK)rt7bMY17`&C8kNtutmMzSNP!SzaAjVm$5X9 z$<6ErfyiC3yNM}u%iz1=1iK3ilGud7&`?gx$x48lwq#ivl`%8`QYAUL43 zAQRS#UTiPbm_WaljugVh3w!@4s}MET4btZ9r)9j!=5Y(tyNq$^&o+^5CC|4;_C|>g z!)DTpgp=rxHTcTJ|H^(jl*3|0M4F_`oqgIOmWzp zh%X_mgCqNe%5Xja*G38ek~W67Z02IvT7?$9@FY(%5Z?}>l_v)xg7>r0$^p%dDMZK! zwgS<{hUVVc`w5HIN)gb8N7Rz?+seZ8B!FcSP6EP6AZ9b5yuiQSiI=lD_&T)z#5+Vk zeNP#z->(=Ssi$Z=0QEt1Mo*6FaiUeHiga3Ndj@n{whW6ZT9U~*ja@22hUNUx9;w&z1AZ&9Y`Yq-pP1XRglZH+=8PaDF7ivZhNoz0i9*?5ITcmQ^|12G6y#1Dgb52nrVgOU$u`~8+3H6}ddd10L-e&I z-RrM)b1ASTJm>RBQiU8ZChmMS>4BQVV0-oFA{onQH8IDXq-wK5`Qxn;q(46XcZ4z0 zY5jw9xQ8%a;6-=>xh3$dO{z@oQ~2duQ>93GcNiMlkX){{ZH3gptyp$~+_unoPh&^_&- z1rSNG+`gG|+XR)?MMeov4?9(*>KN;G=Tjz@m7{W61@u=d%BPd~2legixAya@~6HAIoB z@MF*g%8qp;v_JZL+AWDBds`d%p}IbKQ`QbW5~m*0Tju9Z&l3NSa{a>r=kJ~?$-zCs ztxEnQDGa}`cAJ7K94-|~Ul+jTx?g(!+Fc=Q(MaIge&Qk;bI19Hz`ziQvN%*igm;bG zWw#K~u`6e5&<&NCl|&nNdbx}Tt;mPV5fn80NOwPq@+I4b9VHb|C}`e_F~`6ezxF{G zA!>i%c9ipY_SeUcvTuE-rxJ0og)%a*+N^d&nlp`8NR{i!fIKeQg{zr*F%W@ z%HziWyGi`ni3pANor3}8X{P%2He_r%JhSHoH35VN{s!(IB}Giqq$tx?aM2((-uin3A{ zv)Sbrmde+prY%bS_R6&_vnFZWMr=9ng+Fri=bACEQc>iVuiNYBw$0;}wJeCv_2cL8 z`*kj(R6AAr+y8=q2}MOb`Riymo`x%dCha8WE^!iAEHr^A0(rMV81M*Cd$_FIjPA65 zBsuI>QiXh{TS${L+swuJETEo#7E?q(%$Jzc*JaJ?m47O!gqecWvabD6WIzjASB+J- z(3^U#$Ts}N$eG)x&%7Rhy4n61OxwTDR$MHo=6uy69MiPET4j^h>A<7aE?woS=vp*bEub4^>sIA3rC6H~0};%Xc~i_A<#4!&hA}HO5s}6UBx_*D+O` z&BUg=*yIti&6qvQnSGMaktvG?Yywy}z;II%!h74&Ie_Eyroe3>uYrn^vbLuR6|KQt z@HyO;h|LOwMSIT0nP}~{Xod{Bnk&R$-4IB#Tn@UV&jRNguaWURA*ye-=fQ_pu)NYG z;+B*3xB6Fa&{ie%8kJYboP$5s-AZeCf|B2g^Mk**Bs-D(QlRymGxY;Ux7gyCii=M- z^Ee?g^{yy)z8;Iyi2b14PN8HRi1M zStD~jYUAlyLJi9qAAAXJm(7GYzd*TIFZz~9>hhy&gipzSeNyZ8@~2`;TC!w12c(si zHL(4I97#7tW3KOkDma_j86@V-QT;{rKe~Mf|M4 z01L}fh7VQbVK}w))iQ_il3o)rGXzj zb~J3%J}1SmyToL$T3!}uVXy}g!;+cyT#OvYch!>K%u}4jVSqAvoZlxE*!0xwNOOwo zW}D0~4_PwODrQ;Y^5$HZA2NKzaNIvWn$QO)%^!sceIZD;=5tV7FS|i^ z@yyJc_7XPyIQjF3`;gOx@%X-d7t=asp0uf0ZEFuta=5 zX~xW^88WIun6*Z$W#B5Ef^m$)FPg(7h{A1O0X$=w!0#p)rlWe?7x^SK59*tk@QlTM zw-gN`D%a}HtCgAN0H)@@PR2GuF1o0ClGVXdFHpQ${Pa-f&|$o@fTjDh&%5!hYL$}J z*9vM)RkFH9Y&BWe!c4=!&axQ+lOgJ(u#rl>;frBKl{;^m^_q9{A0uY0O`o%L-L%7mY{-Hx{)G#m0XA(Y> zakqkzLBIRjQBXI`$=Wi{k@X0?Md0CP^)nJz@!fNrfmxz!HtZ`8xt#y}TPZEHdd^%F z`Ni&3MBgM=$see_E~l4)4QCQ$d2BY$v_@+CMY9{zKvx+IJIH|#(W3#!&W|_G{B8 zyG8q`$bOX(7dvaA2Jrl41muL{14m#}Ww|W)q>K2@_oQiGaQHUrLX1Y0;%I03Pcftq&k zDwh{LK;leOjaBY8sHXzQ>ez+7?$7rtR~aH6sk7PF#@LP6v-kxI6D{;VI}M5zu<%Az z6vBiD)ibWOjyzMkKG;b_Ma~fvz_!dEY3_u9k7N+!(GKWBAYsv(a(%b0vXgN<0$xFB z02Wb_#!0b%V;QBF!E-Byu1`OwT+tStAo}X%$t|Jzsx#XQ+Y6;<{`sLe!H>YU>m~WH zuSEz}Q^1i4gSNpiaHt1Z5f0EX$h`Gd64v71fD~D&_85hn%U$4FFNS@e%~M>Z#bGK` zrI1U`vMP)zIVtD8_XE1P7u(rn@~oFL6FvybMzMJ*$TpBBQbyu~-G~`hbe!WnU5U!W zRCny7j?u{47S$??{p)*iw+Fm0D!$t{R0v6OQBW`Z{OC?-A)1Ep{+owVZxjQs8q!J@ zzQ00fn4IwHw)AGv(SEy)<}#U8PKCux`@v>e$3TZe$4<4r80)fGoYiYULI)jiy@w1q zuZGd9wJz0cU>RH3k33XiR4eq1?Vi6|k+w&toICEv%t+?M`c!C7C~1OM<#R#di2Xp5 zt#ZbdJa1+dQh}vZhv3Dpw|jMM$kpalYD{~DsI2>NdE3{b+Osmd2V^}sqT&}kao88# ztBF(x_@(HhoAX&NIJl%~Riu-o_Ei&RDi>9ucr*h-xea47*ISy^t+P~Hn#s}E7^C|N z4y)83^;WgelSEweEiH)cJx4Y~_)zS!+9J_n)V!G;OAB3J+EpPOtc%Z2oT5B&@;9Lq zSQjNIv1Cree-YX}RY@CdiC)&e6)3UmoA&CTUjo0HAVg?1uFuctd1Y1HoeoWLAplOg z;@l1$NVqMNAhow+GIlz@g{c4(DdiJB?T~^o-bn5C4#;ZdiK*7ZA(dkqAb++6P*EMW zk*LdLXlo!V41yQiLX>fK9`sZZm4lVrU*Du?2a-d)@J!Lvi*rooH-jXoo&sIGXvnmp zEi~SGwTVWa$uu|Ov3|dwVH|zNg@h;!_}iHR*B~uA*srcDBE5UirZSXo1f)^*8@+s! z4q{WVr?ZT6xfvL8p&(FV-XY#`J}qq;l_YWLvep<#r?-kEbeyyfc9Z1e1vbHlxU9@` zPnL5;=a!gHE@(17H!0vBdNOfFYT!#~saxaqWkUfS#l@KXk12WL;cY&5D;w?&zV;g6xrR=SJ>mWr!w_u_PI{kQK$ zv8S1I2-=rbaU{IvzdrKlviPR8&pg>5O`KjN`h{a**UVJDXjj;B7Q{RyBl_*t&*MSK zkJTd#X9PJe0e4TqBV4|ES?|8gsqZJqeey=F6mpOjUY@ugeeo@PSOlRxIa*^>SI}rt z0_Vo=W>^E75xjdDbw<)5H&7xO;77SaOSk~kn}Vo49LfBxJB7~-h!UZ6R5UDJ6`2h6 z8TGvXe~i6%Jl1X8K3;AmEk&i05u%WWl})l&R_2As-q~46CCLieyX?KUWD~M4JA3by z%lf@PmB#(t&-4BL=jC->*JqsP`JTsdyoZXvPNEZIJlX2Oz@K?#gN$XVWT)xM$Ir)h zsiL&9nhP9H$OP}6)h5B-NSVK6PIEurxIfVB%_ePuYG_t$t9TY>bKW%z9*>Lj0@z5DYsh}j@hJH?~xd&3yS6X>0#uef)+YMN9& zb}MIZUKI)0k@CJ)HLN$`Ci~IYhy%n$nPyD~$p!0Kb_+peXj;}MaK)+7W z9~b#XZy z8OaXdzneV0UkiX8@oN$P`XKCx+Qzfw*>&O=6{3G%b(!E`=h5FUb^k%W?;`M@ZwcT` zjIsod{d!>dESV;@?xDZFGkX%to$y93Xy~$raN1cViW;NS%R!WCc6tDYRmob`g>C|T zqCdDw3k+Ocv25pIXKb>MXTHB)WDC&4dURhAa@t==E6#(d`?vCY5z+kEpw?>w)$JUX z0hU#Z@{;h*!zBT*iN8xS@n0CXFfcM*0z+h67G}F| ztQ zfrtOTf9FxkkBR#)`zepc>A>4sulucfjS{FVx0h;^H|G0OAj5#MvN@6SzLH!S8JabR zH;Y39nT?c8IohDHzOpPG$o~CDDJc(9A&XB2yqV zBQp%s#~s$YYg8RKwTM6!({dKwVw-+}^GSA?=_g#?5FnOzL$>3>feSy4hp%4$YYUU% zz|pDW4LtsH%hd{Fz4?3heLoI7P56NvwwY5$u5eF7(K7{dBj|-{RK4!D>_Sbna(#oS z-2Qfr=Hb8n$MQLNWi49}`P~iyQC{%~F3y_;*kPP@xjW$HbF~{U0;hN{`ufUlgk#1n zlK~F95f7GGBoiK6*-fTgZD+pZ5QtD!%$mh~id%xHwnHgRp%)Z zZu4rZbs{enRR(aQA#Z%g3BV*~jmje%{WI{EPqooZWI=f^LtfRk3K>1*OGx78%owof zzq*q)&J4`Rt+4>LXNgF=s{T<3^M@r)ZRXB3c*MdbHJA;`!fn>IF&8X((@l)BUEbUu zK|KXc3d`&t%&?e zGGYmi zwRS{^lA&levtc&Ml_ax<)Cp*#Pg?j1yBk>s4e>*t_fFiy07IS8!6_vs_3-iY>M;Ty znXo+uLHK5>w0ZZd3*NJaWYvO*mQNns zHjC;kWxG3DMGL)ch2dq!#WtUwcRVWPe{ont1%+j3dJqhqM>;t0hepfIF|*a z)XUm2IqtPBqzt;4TrF@Z*(o<9T3qa9_e=Wf97olgFP!DqSALlLR?9%>Z9CV;M}HX$ zh^K-M1i1b-!a{ejh**pnZCN%5l2i&ZC96H4BBW2uW?@P-B$V&Nk#+n62bu)zlc`za zDo{=|@q^#feAX5i=mIR9{&Fpe$<>rJnEkWfA+J`IG@z$w)wNbhAc=p@9t)| zNn}CA`q1^!Co=SR)*fEDDwbXe8&TX?c+FX0I1*ZOhd&_^J!TONbq|&q0*O22G;)cf zt=K^ni(9Q{Q~4^`wt7wkgrDhJPsxrm7;&Mlah&wEGT3M{s?X}`ZgXK%ENH!=viW|> zd~T!a+DPFu-N=#X;@a3pE#&L>_SV;T&AYl$B}yTC3kd;SnJLP9D~cLFPR~aP+%LZ) zt{+Crk#ez1ErIjCYuT1ZO^j;Elg=1HJRKlSiFe$qxmB__?9LnH8THmW2y)OK=*eI3 zlMKDn@_0Eu226Ah_@dKqoRFLoEZ&?a`@GN^DtA0e0IExwz@BGgpL*{rJ1X|fKdQH$ z_C+a0Q&SslBL8bo34cB@9 z=}#+~FKhsu!FfL)p@;)Hzl`z$tfH6T(9Wj<11xiWt`}NN{j&h4%>(iJ28a8sU!VS? zA{usu-2r3Kwl`YzjN=@VyN*iB&ND$rPNNMcg(LU5O2qt2j}RAD#`wInFh_fr{0CNE zZ+VL%95)-z(W#CvPh_)wRw9;ZK1xWh%ak-{l(%}P(Vy04!^PyxA?CR(QkPW^lw>X& z6RlFz-9st1zCE4u$$ogVqVLi&Z%oi1>G65WLqh#=^$ zK{OFTV&80H51+Ugc#jt2JOX0V#&{fyPdnnJD9+ErQ99Y$Ek0SK$6ej66JfNh+V)1}s0XtySmRY*zE(k;yHKo%7jR4ezXK zFT0{`C&DJqZyttzaRyZ7Fou0LfFWfD<@ZR5=r90M;@IN<@t#lB0w~Tap&&?l-T zad6e*1IFztq}tm{qHLbRq+gJ_z3&Uo+W0v{6rs%TewfCXWd10b{KykW-hyRf`}PC=(IQ2 zGdX#6O=d4WAq=w%_G}%-g@$O1$&nbxWsk=$F2;wD#IIvtTm zrxy_5(2Kva0tZ(cu!V!b)_h_ zP^0MZm^@$}#8j22d?6ag>4x&yTg$`+%`2}7&Gbmy6EeIcdj=aG;OJc`?8k)W%wy8~ zpA06gH{qD4XcgI|7z|F#zS~mE5lyxGluESt*7me#k6mxERuU(JabZ}iR-mPO?gIO) zW!FM`6CT=pg!@*_{i&~S_y0qQebAvMam4Epetx9{&8#p7bs3?*^?9f3 zwrX8?+zzVYdT>;9Fr`YdF(LLSfsy1?(Lt>n3h6sFPaj4}ee2oVf;Q1xXoZun0 zh<7|!?H~DJvq5WkrQ_#iows?P%0ar0D;~*nx0&9VirR!37!lSCtvH8qbytVV&pv-< zqZKusFYKo5h?$Bbo~Eq!G3Bq3uX<1)BMxCu=u?5R+pkiZg}AIzG3qgRFY#w}C5CSK zm4PIz_&iq!y~;$JJ_C@Bs1uj8UXOKXuTHj5d9l<_SSp`B*W*WTTy{grIKpYi{rWcw zBgtD0^2US{epgj3aIm!+{7j){mXgyLl9!*2b>mC7xtDZ(Y$jw53U$%fhC{CGZHFW_ z>1aFTeVMP?C}Y1ap88{JU#G_3tv9!udF%fC|ej2|GdE)Ok}-#Q*hAibNarz0#YDJEIvA*0Pin024j{l^svc#6wbF)Nlaa`S1>a%sv!+A(w`cog_E#nAr# zUN3b#I=UW9mYO!kxb8e zH^+LPa}co@WHV@&^sT*8+!JG=x5!>6^>q2GjbI}Z*ug0Z!RU?*j zre4MSg?4k(KIlc~Y3C7cdrP&*b=Gk^jk+?tr z=k0prrre)_JmLv!C!hk_uJ+kzpqN$p-tNwZ8cdT3tRwoC)1_(vN{*3846+X9Kg2OP zD5bn@(jG+b*l!G%DseluUs^56)Y#!^@6uvwsxSN$ZfVgU&7bEqm|*`ve6T_1adNWi zYsdXV`Tc4)A={FYg^D$vLQ8bM6aL3X{+%ZnK$Y2Srorc`3F|%GCl8q3`FoQL-vM0|2Hk z_eklpwuYF_(-9KT?xF(5JFdJbFq$-2UvFnk=t)*BDj%~H^AoMa=664HQUu0fPq)r= znLN&T_UXm&U=jI?V+lQ-sgkEh^TotW9Rhr3hdTv($}JPoX9=0}I8SL{of927?s|2t=0L&*X{;=xx z*@WewIzyims{z&X%U~of1T(~~yVHIkv z70o24(%P4VsuVrvQ*3nZAcw zoCGn%;#mYKFyZjZqL2*WNRj|6Vn7=Z*?o3Lml*T$He|^x&1d7# z{ki#UleYG3f$mcO2Amz??~(TJ1O|#)r_?VXyK?#9!M(6VHT_vL!P35(LHiXC z0A)HfX;hI&ax6Wcnxq=c74#yZ@)|;Lf}D^aS~amwd`rCKMd9;mC7Qxy5>x&N;$LYL zA9*OijpAq;bg7bNTCK}>FD_@sEQC66(Pot5ZR{ZOgInNe9p0V)y{KgD*pnd?*hfce zuO5GU9qYx>v$qv(yi3-58hUb#4A|&JR5dINI}lYmHHS5SD4po6LoXk@F>5P|KN^}; zn>CcVEs+@Y2Za`TSN@Sv9izF=Zu?P+d#t4Hg^mrek5DDCi(I1YwXS<*FJH}#&@3yM zE-4D4OG=t^l6rHpefZeeOm4+pvU_!+WDP4xo`SzJ)38G+1T%$KP?~wyjALk4DpTQR z+8R-=yYqB={CU4J$Qg?^+^h}jxRX>AJ6>yv8~Di$=xm+VPksAWT2mBwpn`AzKhB|K zkqh)|6+GOXfb}2uHG{V4E*hX`BePIw67CQnCsZ@7IKiR-@OrVqC`@MmX#-BELuDfQ z4M-74+vfYAb#!LjS!$9~4S*aV!4z7_oN)BEkB@vf!o~$~#JSarcTB&Y%*b1AgoCElPtzn+)>K_YY4Pn2S)* zDwuAG#zR)$nIYb$-o4_uLn}mhB^FJr+Fp`+SF=lro>L{;K(8}421 zhYHI1c95rK{MHhEbnLRqQfe+hRr58YEI@Jjn#{9?v#%VZ;#uFEzeRpkW*BBp%lJKP zXexy1IS&W23h3iWt!O-%Y~xxsdNV=FsOCXYaVgFX7<1JlhC5bBtkuO~L5n9KlpF+uWAv@d%U@D0F{LsbNYgyO{ zBTt{14X22ccFN8ZfrklFJ7se|Du35m&ZQ4T(OoPO@cB_s8hcLAd!Fb_?LU9U|C-$A z52EKpr(!+_TP|&-3_K|93csf6($36orIF=gxVSc<0KMSD6~(M;1~aB3LUvyh>T(}e z#72ff@a;`_0@|Xyx?^2)nHhIyoJ)oAr@j_6sJiShVgheXz2wR~3ZnD&3k- zGH!|$4;ddeja;J44ua}q9c3(TS50gPl!8HI`}pgzoC!#cPApUYQBNWBRz_@Wogg_o z;b$QQpx3|Fo$)I}5W|(!*9t=M0G@2%OC_EO#FyF=sSJ8+L&7=-L0+myf_uk8K3s;^ z<~n|VrDMFb>Uf%bx;n4>J*%e1yyhEbZo|D*w;J|PM07=WH*eFIXjcgIW@;sgy1Mu$ z<>swvo}pLyB69BfaBzxBPXCBEE&3dtV)*0iws0*GW7;}Li$^g^>wRBDjXvh+D2GjN zVgFOQ-6S?+JAuw$!MmtM#jE@u@AhrP0ovz0&rW+!EJEAya8}{)YuZ_;fa5KTB&!s( zA_RjgVNiBy^5nwk20TdbQnkBwbQWslc*RaLMIDfr)yj?&38@dab-Pt)kb1<7_&NKcaNO)#vPxK zCeTiqeEc9r;6xDw;VBSE0&bKOsdByGK2spjeI(lxP~12alkx{KJm=5cBfxx&#S3hC zza_IJL^;tlcUbZ(4~ZU$-R?iWjl1+~IHuz4vrAWIwY1Y7e~_J+;F&Ov)>+n!-T za?56%gQ@(_orKs2TP(UCkGD+f423O#5gj{6|FB+BCrk^n#t$c;8fRQEcFtG5a_@lj ziL{b+C0ZG(F;|Ov!mIZ`0$euvJ%g7fhp1%&3}vtAY!x|Eg!Cu0QF;-Xy=`Z6_moDHOk|E(?4q&;N_T9143x8axail* z9sL^$Mi)fo(b4BK8bcRk=3Ot!rsVG^)$3G|kZw7nxEHl%95(JK6NmX$zcN0-zW$1> zGfG@WE36SOrR6LD!hXd9vq!Ps{LyYrcRzB;vR#T9hEU1II6=6*{>lADPo*1yc({!H z7y>H*|G3;uHV^rx_k+8i-U8s6Zju&nj3!_Q7N#^9Qq-7*B+n zdp6HAc5)s`vxUiKRCufGb3*?hR>0QfK-Tw0iZh2$Bo9gGigDO7Qhp-M{6v2ZIe64! zE%%^q7&zT^96E!{Yf@pwAFqCu}E-r z5Nq4@7%1xBW1VN0J)-bjcI7WYojw~8h%NM-3B-E_VRko!hDH9RJLQ*@mnG|4#8b&G zz6rTWdogyqBUSbCmD49ecGDg(if!5%)OShc?tOR^J>=(A=JoQLQw^yc%ax4l9P71g zz0%qQv9Y@!s-No(Vq4ZQCJ?{R3jSuj#nD_0sV8m1Z{H zq1<~zpI%%KKS0e9F`FzJ;PYwdtYNxy@ zt+Wmk)Vd*OilNMHz%~6*F#nN7*kIdelkjPQmv73Mpzz|*02pVM=#7$gXk+LNl*Dm8 zB{u(jD|W9yz6%Trn@GJ=WGicyOsrT2KoW!7G2i9!`QG$sx0Cz4B3PKTp;@y9Exb7> z=riG>fIa!O&j_P-V3P2dDmo??32YtE(n_RX!C|ud)=_w2v(tF#;P*`0Yjo(9K4wWY ze?HL|qC;xG=q#-J{&9!F&hli8g=2P>67e~@qOLGaqiT8X-cZur^sR`{N4~MmmX>lG z^ahQ1gY<8^i&XRsdT#O?GRzdcuxi#^K+BsG_Jqi2_m)uPIbG$5T{@UrhUdwa{J_+( zO=g5EmvC^quXJ~w#cs49VSONOus|CrQw^+m(AH`!mhmOxaFRM|zxH^tshO85Pwk); zqqfBupXBtlls6a~8~^PA-~aB`jeb137B&wA9`QjJ7|l8G5|7jv=>^v@cz8M`s+Bnw z%1iA4IaM9g^gvaa@@9*|awqx1E$Fztu%%Tkwz=6^M;&p=ZxGHZZvj3VP2Gl6a;8F? z0)ig`m4S*;AAvzFZm8$QE_|>I^&3CiTQdQ9`s6(tr9lEoj-l4&*!h{WNlp(sKa^&I zI#1E9YuNj>fT9K8swHUpS*b8dX0XB>GwV~`@m}{NmC~TttB77LDV{D41NhjGe(Rs9 zIywdW=xk@wn6tZZX!PDDVu!>@B`5=z+Kj(MIui^$@0S%IKMl<5L?*q~N+#dMG3Y;} zLo1*cqV{Ja?^Lv?uyEBpIhJc9UAabu7tNvG!-mJs%g>nccud5%D@eDMSo4D#@zv{g z;70mXD07#LWJwGltIdKGVE{?<6DdEpq#dKr|B3}&h?!7Rp|iohT44x-i8P}mti3=TJvGH&;=hMcgx?jYX}ZLTEwwD7GZZGo5V z*5%7+3SQC8<*^Yfw|kjosZhRC0{UjZ^+a&oIMIg2nZLkGUZ)pDo^mkH^>d?abCI!9 z{W$N?c-TlM$X9}`Zn`riM3aD4D*AcY<3T#r#91Kw#`^U@aBPNM#ysvU;%a)GsDk zc05Jh*)PD#=PtYBwfpfrl`QU#dg+`gpOjNM8dHtCZZAg1+%^e|o+;UxW*9E4Uo-k{ zh<~|H=jYTPvHvVd{y=LWEgl4Dgnof79bUcg=@=#E3*^KI>aI9)aIe-5jMZS& zH86*qry1X2>SjF0Pg}g9qIr<4E041D_aJ8PJd8(Th(v7(B^=Z7UY!YR0wIOmwz-JX zLr4tAw@E@$AEBc$uz!>)jPm-&r>|U+w(Gj(g#$)5d)+9wr@f`CcXEq92f=BwORiY#aFP^d3g-~H;~oMCHQS3cJW>6GyZ$&_|nj?mxC`b@ z!FMv_iXN2wBkgXr{X($6tDEbRUChi#gS~y_Lnc(%v==u`m5WCjt!(hG zCENGq?V_FR>;T!h?r0H495ZwML3X-{$njr($Liq0mwzKKzMq;ukbB@q?~|EGa_eZT zrK+$_ltPcwGgH9;ogS4?`jHv$vK~rm4L>LpDj`%p?i^o11iIbL#)2fRdIuEV14MM& zpjT&IVro14ZP_rUG>pyi@d&Uzr;I;Ce-{lEry)#3qmB>xH9`E%-QX3yxUg|dHb65i z2GYl`KJ-v=(-$jXxGtCIw}4-XU(uc@*MQ8h!5^9I0c>^#w3rVY+28Hr1nr4_4n`<9 zcT@Y<5V!?G)xlK$Muu1Qy2FZe@sq|U?BmaP+0hw9)uytrkE6b4{nEo4{;mroBZUWVjD6^> zQTZNw96u=VyAc1&R{!w|e-ydC<5t5CL|=qBg-4a_ms^NLLFuwR>}b^rV00P?#;@sa1(jr;>uXpRl=#lV7- z*)RXB!lmMW9sXawiy#rzHvnIhWp~H??4Ma@B{k2rUwOjs+xZjA>CFh~HDzPUqwf_U zxXDoJkFWlZ3;n+BN1@Qtev=h_1xgA3e;|*)HaGrj_#)~t`}s3}hla@G{uihZFJ={Q@nVN`p#E1$=+{mD1PuPMz(4+^q;U=<=%JiG8btUX zS7H@>>htR-et-Apa|-#wYh`S?kDxw&Kh!7_)@Q>1`#l#3ABYk+Zk_1aU-nUItmL!* z_jizwzC|_wWm!2L9(nQW zKl(42E`GoP2Bh)x(<46RDW$j%(;_R>k!z1;aemw)S=jk`{f{I<-kh*G1|6`q%1@ys z)GJHHutL|HoN%M=e{1o%3>du|9VnM^0Qp|J`vu5>i zNLB`0XVYdJHpc>(0im)5APqx+iy8|ko&X4#Cim{Qm=ITuu^k1deweScN{xt zk5$_YJRtf9mTG@F5flDt6lzo2y*qy1<3PaA1Fg#*B-MAotY#pi*O3|y(gB+VRAL@H zU)wOQ6oRZongb}y4!KTbc*4+2B9%b|v4afR0BlJvf?=by=(Z{#Qvxbs34lsd7oHyc z#}J54W@)D_(89xj{L6(owFS1vFWtF$YF>9>AJT^sHTOpWX{j?ohMIjQIV%}DrR#uj zV{7r~SpXo9j`zojET^0qoU+;3t%zN*j+vPS$1Ik(&$&znEbnQWJwAIA^#mr%E=9Ae z>@JKY&Bfdp?{+tFc*roZt)KKDtv9N1cWZtOGiXtjz}_ykzei!adQ;=x{0r&+bKSp} z8jP>OI(0K+x&gj;8I^kFJ0kWp4NL=B0bT-FVp;v$h4kczcrbWhd z%|QahY+KU(z|Xq{Bz;CI??An(_T5+N%Y*^yzL=4;vG1WjWCwQkvp5A@MHDBK^fIvy zk(aAvm$`b{cPUvrpfP<6O(gc~oHN~fhuA+f+_ckN?&4*?BJ%F)G=@b_0j2m8x0mjY zdz0h$vHNub|FWyjl@xH?o=75qETEHR!KR}KX6V(4a0sOi256u%(AiT!={Qw|!~`iW zD3{t7G|=A102t%ejW1Gz4fI8yfu97Rkt`X>{`vlqj2aRKj|{DbbC!*AZNZ=>Hd5Rj zYSp6$+6)EiT*$}-4-!tcRGje0({6?Y3Po0$H>(TRLR>7!uaMa2XL^J%($4!K5J1}z zH)Y|=*vsq(JMsRqy#IZ^!K_evFT7x0)~4`c^re=xB8mh7nE7w-p&Hl&vm11gBvzQr z9H3A6Pu%V!10!X)akXKhI}s7LV{sB3(cn5-36RB022zw&^#vU?COVdaT@Jkq zgFOH^G5Qxd{e+sa^R^)DD5NKMf|RT8pYGfX#8I+R$cc9+u(sR4NfO@|c3^}>@&kwZipVQw?h)2Ealn`Z9W2)ki zgg}3>ZPs3jscD;V%C4)rhMPKoHmWTP&1iopDHUjYc!5rN#pd zS6&%kFZ#MlWmR#OT5&CLjKJ8ojce;xVB7!1!cn05-;O19pvENkYXP$j1;T zNB9Mneu=5up9|Lbr#N4Gzsw6xEs+pH_q{? z<@v^p=x_JFEY$|QbiI;g{@_61c8+j7L9for_;ss2UtblX!MF+!in(v1^EuXBfkeF= z{o8=LD!{OHY-He9xr0L8bUV6+dTv20$%PSs_OSZsD(v%rL-zmE=i&$RloIv`-OB=e zOwmZRMI7R0LC-N46kCG12d+Uy9`FHT8W&(d@mOf2fW`%4(hrV+c+7$J*0ll`;mUy>ZoUp>5%AN-i}HSg308z=9I8;GV)Y?xNg1_x1WBH34(>-F~KRaXZV_^_V6r zL!ZKX;a0Ml6C}MGsmnj1PyBw_0DYR#__tU7;h=xTQa{}d62FXEV{NMH61d$<1}zn; z8%&N2!2Ydn;@UEt87wOUIni$06gO(=ZZH6K?UE$MN6!cm#bI;mQ@2UUEmh0(r)CRL zzKt5nIX7quB1`Xx%-6b_qwdta+|;SkC)(;f&JzBdY9GJzH)h90ii>u=r%0_EIt=-# zI9-W`lB*^rY1~#HPUNr8@_b$X$lz;KRnL^_@eGf9uLZDN_l0F5ki6f3;tBeCzl6Eg z(eNiz6_erp(T@saV`4iEg;<*s4X1|9dgm2mpVO)>TQ}hvb*A>Jvys!r#I76TWB(DT z{QQ&Q{2wo4|4;92?8go-^l14WJLnggU|kXMO9zcq#9zsvRslAY1u8SjpdC90u=#9g z{lz9W>r>@Dr&TPNhtHkvd2YPAu|kMbAfw!#N8rg-n<#fp$Ef*Ep9CA`YvlaIAyF3# zZGu8c$+B&;FLMJS%~^o(4Ss&ThLP*zlWcCT_>i3nQeI5=QUvxCFH3I5KkI`v^>b3K z5{6dZD2wXTsm9%jIqOxkYACi6^&N~jujSC)LoOC~q~4oe4nP%g@q3Tl?miB*SN*c> z^}MOTb%W!AgVF9C^;qq;Q~QX)e8m`+bHXatb(Zr z5r&;vsCJtV7)guZu247+^B==$P%WX#`S{);B(`(nwM^)oa)JF9`Ybo62g$b<#K%`P zi4>9p-wV6!xLkHp3?!fIPJigTvpA!cy8VsfWcKY_s=A)WvJD;AzM0oG9nw^u<7R3+ zJ7Y25(zz5GJEf|;rXOHTL9?Ie*WNj(^k;SOr@@DXQ@Ffu`&jQn_yLvOf-jO z9JgG$triFt&~Kd{6l5lzZRojHLo%Ga%w?CKnT#!(=Mh&bM?05r)qf6^nth^V^I3eD z$#t)UiRpLry`|I}^z!x4SL5>czp7f9Ba=QF5z0O-JTiCG_mzM~u#IMt%G%QORmfr9 z`W{I7@6tQv$WeLlJkY}st^SY^OLr;|xH}~6NnM`N@6AA_fVrh@Qz&E(|-TZezJDZzZuY#5~#J#>`Dr!++=>0fN0` z1%eYYyX$>1k3`7NOj|Lsy$@z$dtWHmP0jymWh3)UhF7qM!}+91m9NnLe3zqmSVd}cKI$r6Datw^t)Gcx7R1MLAb^u) z=!3fEcP0Sle33BS8QUEmp6O4Y`@$*U~)cy}>w=OfUwWJLBmtPd;~GRs#7LNPg(`DX7q7u!cC zxzK0)bgrB}XLy!QfsBvOurHgHZ?0W;rZbH6m|UiU6q9AHcK>0*n!`zX{tG!e3FyR2 z4WhCXW*&!SlZ#vb2W!*@>jzBNTOJqW$vPlTQE!Wr%meDdCxAE(PFlMYiK*U@T?f2Z zcdU3qnL)dCBZQe=jloO}st#*%c1u-+C?^M#l%-`FcNDA1txy1Wlz{J>x7$J4Ugyr8 zuL88ocP1i2Y6F78Y?9Th4k+@LF?9nAz&c*C@)-ij+0@^o8s5gYlmL{YwM-jcvCikf zq1K<4*7*%Vq!#(As*7`VcftEj2>WqJA`T_4*x&XU~W_ z&_{_QKnD<=NVNw&m)OS+U(60g@$6CTfzdg11)4|JUva6gig`bmT}L9Z5D%^cLb|eK zgvAT_xRj=*|HgMPIBbRmb*?mJwBQ*kyJUW*I!Z`)%Azj*DHVPyVgH5G-taJP#4~6Emr4B2?RdX+I)X6rM(YY+gd&F=EG+W0AQb& zE);xH{q?pP7Oo+zg-&KMxylr{>yQPAw@>NtpZUNa3H&z%%$Gl{Y+O+FiTjJy3+z+1 z4cOl~j?VT1>RSXm_PM5IDz*VIH0w>nbie^fQ$*H=_|FdEG1S}9q6)JiS!vW-b9aUe z+R;_*e7rQN=X(|TLTIWy_#kqY7L=?rakcRA^iBX0+I;10emrOfULqdTojresPT`}c zp8Zo!u5_3F?v-Soz~#nb?zxem6{}hA^0y`R{wI}E6$+>TVUNz5waREv9TVw3?b;#M zrZ1P|J#e2F_2H-%3X}GM7VspU#w*$}nTt98gJ(MzBX_K-(tlzJHbW0I{HxaB9fD1n zyu|&b-HQYc`!q@MRwkO%aJnWOz#hd@?0q&XBy1M(jiIbD^Vikx;g7(*vfK zB@9A9Rci0}( z6=7tmlub&sVEU2h8m~Yq$rY6)k_&I4~Kpj@i&?vdMhcW#Og^s0>a)e(nP$c7<W))u&hsh@)>&}E z@QDoNrV9<-1)xT^?L+_Ts899$;x6LblSIlH`YCUnOSW42$WSTMs`RMDM;VdLHCf}` z&1E}t^%dppq@Qyp)b{99{ERVZiW%%Rg4ib9R&4-$I1r3_=}EH-`Tj>zPo{Vz{Uo#= zcgd*TPb7V;naT>;=e92YbG0wQj|5 z$y@4EG_!CN6MCGXRnAQo_Ok#!Z19G0gtYHUR59+R4laNKv!Oj7XLow%qx^=l2ei!Z z@Z*|1nU4~lE_jWm@zC;o>gg@*1pqKK45RU@{8dEN#LkSt5i0(m{ZIhEfzh}RU1&9T zan%tfk)n2sSDLaQmgxoWL)<>)(g6H%?&?@bysW?)Dnr>sg=j}|36NVlsrT##_G=Qkx%7uSaTLE6T8n9UIN9&b(nNnor91%U^wBhWrIb~nKhV^oLSU_goyaK zn=pJ^_v>>OOvm#Z6cU#a+(aB@^iV~!*ezSXpp^>J_38I%hN}h<0-`dz)1>((BIL)S zxY(@=A{D=6)uhDC`39}bCYd-fST`=Up-|AEPafj!O*2>Qohz%Jv}(vg;P%WW<@j5( z4H0vt)KuN5ioxt5&Db76wa?}|*5@u+Dx`e9lN?v=V0fc+v%q1e-(s-;xqxbEA_0i=@ly6ocTb~9h9*}S)VO9rF;FhtwYz?8in)@k0qd* z#~WnneQQV@1UYS&A8i2!Ufk9{P6wY37t)U-Oe_SPd(iUgcBYsg<8nXk$1?Oi0D7ly;{&S4!33i_#;d zEYCU&P_vDo>Sea!(xbMA#l zWkYiy>aa<2Dk(>Qrj;6R*Mx(9(3EJh@@(X2EAH!a*B*7DtTet1mrukhcsXhseh%p^ z8D5?4qly2{MBY!U?mqoX(qZYyByaJ(qXRLU2xJmpYqBN;!2)@lzxAn@<&4|$Q6ClV zcPbegF9>LCq<8_+(a8P2%W^dgXwTOMkI~$?EMWEG@I`9&Sk?$2+fWg~sLrj2)7Roc zhlh>(3jtNoI1Bt#tAH=TUL4CpZ7mWY0hbHlqA$d2tAJX_$Dny;5Q;|KKX0nv3X-nr z^%v$iKxHzc(P+5R&6p(E{W*21b5EieRk?dL$6R)s*a*Unp^EwptVH{j<5fdTYklfE zVT>#}taI%${|xyp4^ZA=1u1~JVfP!%87)t$G63g*pa%y(R}HNpioi{p4uDXeO-xD^ zxnhWc;4O@WGDUf03a0|olHquD8_Ms68LdY@&G-s#qpf;Io|KxlO9?6h=)W%%269g- zOgq+a;rSd9TJfF|qS=X8+>jy(X_wp@g(1JMO5RK{z2{;(CuZJRQaJinv~LZ;1Z`Xr z)CeGE(~jiPNJpq&jCh;`_+<=DcPc9D?IMrjQAl~JHYjDSN6ois1)#JMP66QL(104P zXhbP-AK2KY{OqG!D|c#?6-(>~F=P3LGuEc{RD!%J2r?VMoM=u+3YdX|Hv>anw@9gX z@O*aT@EwO26kR1)k^+nev%W(fvUd)nfQg;mk~hyUN4qOKLgp_sFTDnjy&5SxSxBTk3Q@jEVsk zyX`QYLJBR*>^oY?ETC*0FD`jL@gcH={?6q1PuU=EQS4P7)#1|)gh>mLW7jJr z$AGPW+m<9i=d{1@Q{cy*--7+p=kmlBdx_*WLOuYuCd;4$Fr3w$+=hEDP#aP*K4$dk z*=rzs1XmtwN%(+4z+j>A{M=8)LAG>_S<}3YTb2OYI>$Y zV`Q=TlO?`jCDBT3i1BS(2HZUH8#_pGUElUvB2bb<CxX(lCw@P<*b2jD%XAoWqRLrmnswUSiU?7=sSx_SDbPRU3rw^K)EIMMa5I)A zSzwdyN-E_!nEQOf|A9)p`ay)(60&F^X}1}b`d!pu`%A;zPD__^4YPQPLd&Ow!f;6C zw@ha}noe>vj=j3Y6rb4~o+@S;poUiAPe_KBZ^fT&|EaC(y^0Qxo!y+z{Q9;_fU*mt zXKZU6cm)Q?(&4+wdc0Yx^`-X(-?`s z2Nx1OJTJCNv58Q>Cbk{*i6wO%fO<%0zS)Sn((+==8%IW(hd!n9T^L!a7JjtL>v~Fo zMQRqMrjkg$eJlZc%*) zfFvpCADBWy8W=8Lo8(!X8!u+H(Qi%LQ=XmH{@^U8C383($+sv4q=Fm+IY7vjMaTA; zRM0HIMrHkC!$5;2cI%q&1j*q2;q28)O<-B12!Hv&i9nCP8OL&-ePs34`zh6DmAh29 z!IYPlw?yqE%~$xQY?7@9Y-_aEFm1tWF4}W4+<5&HXouvJF!JI4sF>ip0_6NJ%2Sg@LM@ci#NcE{(F7p!*U1zY*M58AW@N84e3>{a zrnvH&zBSBX2%)1J4`eY34}Mh7DCkBxsx=Bez*=zk+risx;l-ymx$Ne00wiNEltF}@ zDiQ4u<$!{0ywP%90EE!f^1dvdfJ(wH)smZM&f~K!WY-rMdiW42bAp~pGzD(fcyoja zTllq}MvxDDgmE?nR+yN%QCDi1?X5b{MiGC8pK~mPuq7Vp)4!GuA{0-!A8vz?ZrVcE zDjwN>lPWl0#V#UjiCN0ROgYvY1G9$5@55$ok#A2`@bh~hIg$fYl!6ed4d=M3pg#4( zFA(?o_a%r2-YhSsCc+J|2z@u6QW9lwHH8=G(22F(Fas8q%#)^=qBuL#k)-p4>iy#& z&synA%wZB=SB@BQ;O+~b7*l#TieApHqx$&9q6;S;23X|pv3Bhx&p3rb9U|B#HQV{4 zF@@>8zgO^czP(h%hz|yiEG9mBZyHP-s6=P02i=HQPnCkZY%(t( zydaw{hvt*!c>T#}V#q z#z`uHksZ(;y``#g)L~(swo10xulcnuFBYkrb-NnXe4)IE&gx{mTvG1dftC%qJsYZW zH%~KZgj^eU)&E6TEa#AyqcjDln)f2#ImyLn=H>PqO(J&3NF^-*XNwsoGX_wJ_sP7q z7pg)sdB!LL6Sa9ww+|L3qjCa9_O_Jxw{Y*)|D~N_`_!Wip*xD0_*(~p`gSHUP zlqvb_W#KV4+mG%q{hB8ozuE5EGg(^!rlAOpQ%LG~0^iB@RxdzQCxeBa6UL3O3%;UVuO`XFdDb;}6_Ceo$$wh?cLoZx)%+9uz>cNSjLG0!y2Oj?;3 z$pi4R%5p))lMSLC$uQ3_m5%v{`%8P2f~jTrkH?NPB& z{@}crAh}-iEqvi333ET!Af(6%NPHo7AoPSD;TIHyI)vD_!;FgiwSW#*ZHUc2w<{3c zjgAD4TU>9K`-4&2E7un`lwt@qK0`&&qF4seo~bz{JnA!lXjt}T6@8C+hB&3^TOom1 zi~QaHkFmFoi)!uOhZQi!02~AZ84-sN5R{Y-=|&m}r33*1rAtv1>F#b2qy(i=LRv~f zN=fM$8U)|9J?inC=lMSG?=R;wAAy;@?|t8EUF!EUu#-vu8FaBuJGTTm3N_@!Al6*p{#$eiTfTYu+ zjQXz2z3|d%+SGqHs;!gc1#0_#6~ykVZW+%Z)L|wwopEk?@>LuEtE`;TCTwwFeT4mP zCw&)Y*=A&Syt&gmT{ad>)Ks#JZZosySl*-z^ewNHFn;y2K@_(>df<8vC5e!_d&n6p z#bVvLS?ZU~JGPFyDcv+$3j?y%|8VCRLqFyJjIt(_nu;Zi#V4{0SDU>rBEXc1BF$2{h zMzZ~c@}w{oBaLL6cN2Kjootb-XFm{m4fS#wY^w4hQbhyEb5F>)nP$P#fz#9Wadj-# zdN9xe3672*G+`8KjJBwl=#RA@^^5c$^t8n+#$0#36cD`5~r1eIf&{5k#Q=xx2XeoCx6bgW>$ZDP8B=2pbKY zu!{Zg4<56`Xn-bR4u@85z<=J)w>2J|mh3nln`ZW@VDjlca3M%<%<`QjKF(n=YzC@& zakfyL8u&s;izT)KVi;8L*4Q3+Um`WN+YGvu&Q}sAn#18l6Q00{B^Rvv`67;Z+AeF| zAB@`KUQT{MOzB|;Rwm65!DE+`bWB6t_!T^C6x)bealx3C!Xj<=E4d65!qnYWw)6c= z6yy@cV|ACK^Z{< zND_XJ(SQ9XC`VD^f^h=CwlhJ_!^W;>BKzoXLIh!S7N*#PFS)qdnDRvZ{zK=8Wg`*d z={g)?X}o>@VGYsmVed)4^q~42#r2C;ehd;xlygENI;z#u(flr@yYTqr7{d&SX?VzO zA$Ehi5NtGx!->w5cSGM=Z0qxNPK5FlN6baT`9bc>i1u6zZOpxSocdT$gNR9_`)$a0QtpI*nNE;6!+b8S_c3$N zX>{sVd3c(cJ_y<6_N_6_a{uB_AxLcwA+(h-m%FH*k9N?Wg^0VpBktcrwoW8P$&K8 zvixy|{v=KEpaTK~b!5lg#NzHic9to45EjCWvza}tHvo|C66j%Bsb_Z-g zAA;)Sk)8vtB2B(ezhs6rScLWid_MqRW}y zWP12;Jagh1`MoQi4j6D7n*{~om1o@2_Q}_Jum&Cdg>tBRL^ZAZaJR^mrtNCnONPS- zpkqtt11TVlTbsvuS7Y$NFi~&<7ch182++i^A?KIuu)B3d!fiIIY836Y<(q6K@&dbs ze9&axlR^28YfDTNfcJ(*;48%2tnP?)NF)J&l!s1yRCtr&Wj_HOMf#&o7ln<3j~qYq zYj{Kn`^cI()uEqd%^wWOKlt8mS{EoSFhC%->g}nqamWp9e;+PsJXT>?EH;3LIs;;J zGqiDrgs>k1V}cvxT*=osr9era_L*7|*`#x70S0d6+c6J5aJ_qh#6Ok+sy7Gt-{B@_ zs^JcS%6n?>(V3ge)Hjw*>R=kn!u&j_{kow^*NQX#f*mWNHKA2i40o=x6NHPHd?{u;hS1QF_g}{K?Ij~ zcQ)R@F_(h=lyS3MKMUY|1<~1$>QV7c2GGmPc18QmcpN7;0)0_|X->&|pcW)hy&*%H zYZ=|7Y!e>{T3;wz+)nXcI~!bFZeIv_kaFGFnD)HBJ@LbJMKe~1v_Rq% zI5LE~KlCI&!*R3P&Z(OYmzNY|&NW>0F9d(ZVS2Tkb0JRq{c=uW1dNHL3h#C|RgY5Y zQeTZIC)_IkJj=hR?`eQQUGX;gB0}hnb9RGPOy`+T^V%;F`m8zz?31m}c)DYs7}dn4 zTX#EnpVY9`x2xtO-1E8h7^fCwzQANFOpU5!>$QBkp6ad$ZW6~%l@&6~DG z(IH#%9Cp9wg7^E-LuV*vsS|zFn{vu=O?~&6ave<0H+%c_yhx6zDqxQvn?N@BX?u zzs?xIi9k=};P8~2>;*K5G|PhU?8a=I^<=^ZaY4JCeIr$B8WRX4Pcv}GU~xDd*q#Px zh}^ALuyV!?86)GIpt_LN5g$*ajtjWZg+F=A1MXO#FIaYJAr8#a3;`Y_C^_r4kT#!r z*wWH=Z@e;+?doUk;(YlU*QZqBXp;rF5s%TO*F#`MA-lo{ooF@~Ugvk4Oj56Rx^xt4 zEPtdLiG-_{-&rmZ<5jUSJTTrUMwNT5TPScdl{x}-R+I$C0gdTpk`$%rkh2pF` z2g1=*qRbxkYsvaiUfGU*FIj+v}4zc>@L(VI$(-@NQk16UuMR$~_!{ZU{@8eBMz+8Lmi4uD5 zSlF*#K~V6~KTJK5&u8HKsFI<_?)}Vs)pgagPXwvZ4UJsd&dYT_2t^lQiaf9P_#**O zD$eu3WGq$%>R}s0?h?@Cl=9CobVzZ_lDxPJ-0~}}8&C+mf+a!waWLZ8ubn;eVt~Fd z`7Y68CK#FCy$PApm(}z3J=qT;vA3AMHK%>=uNeKQ9Q#8^CWu>f<8|_1)6TDC?Xj!h z<1v6`f#pGbVGtb=q6PxWUf5i7Yv(p0oH_`J`4yBjcgX!intovc_C88-Ty<-TpIHo> z42pH{afVzmhCM?Se7y(bj`aRoP?XUG_hpPh32*`#nJ;I#n+*r1%zV)M!Qhlc{nbg+Bk<(kg-|q?LEbe!?lfCG-M#1t6KLBtTwf`XESD#0Y z8qa7q;`|UT{ks!{+J>@?gw}2!H+dKYsYnKlFEzB>@S==J&Vbu3&yGl0Sa*AF86i>$AW9 z{3z57B!`ZO{_+2jmpGRFlZ1c&-`~p}$qxDPUjc#w_<+zZ=kII?9K-$|kp2DfVSl{* zqy9rKpb1jY_up*($q85?nEI!B^S}JeUt3dw9Pp8QK6Q}bm4)w9`=5}-A3Hm|1Zjfb zVRN+OQyIelB9J_H;VtFAzC5xle_rPldHAE-&KZA17$8^Y;C`b&{CNKJ>Hw(`NlEFo z*iZ87v;4iO{(9%Huk~BB_ScnbAVRLIM_J2Rgc6w|{)qcOE+~+l5l^kZ?monSAQDD6 zEGG2v82LC49|PMukc>r_rhc?HYolrY#B(U{tCQM`#=XD z^za=RE1bawFt&oux;fT>;@{UdkKynYn%^I$kNQUh1mX_`iR3>J1|ZVrnuBj8bp7*9 zh%L-Op@~vyuTGimOBd)8*I}dTgC;us-oTJ{iRFkeC+EwH6(uiqtA>lZxY27uDVQ+G zy6bWjGY3jqrozmH7fpsxSxBmchqeG!?i>-yzMxa!)Ap3jauY*tUkulS`!*)70;ciL z=3$6jl&LGfA2 zmc9%m%Tim-dVrO>%))i);bfV#w_Y6Pt77CDvf*EPi_ZZz7PEc%`Z<`Y(T!K@CVe0W z)EB3)35kX7Dy`R`)VooYI`);+Er=ahhtYJ|!jnTpub~hsu`U-(%6!nq*IRKAQpASr zWzjj=55Mo-t8{#c9URAPxg%lMj*G<40N&};dm2Sw4;0^WX?To=E9_d%{dENb`UoN@ zelLK(9|#k4JHGaAllJj(!$jkbBpQFZN;CMruVECH*&pf7hSQ>4#5lG;MEYmAQS&qR z*})?KEIh_#8;F<}#rb26m%#=_Cbto!u&fj8HQ ze656|%dO%g5D$PFg46$POF?GL7XlgxtYt#nS)-EOIkqRtc)K&Q!5kdWA1+{Xys*WK z0TSjrIj)J5Ux%)XisbgxY03O1^u2N0&Y{2L$;-hERedwI!BbAq$ z-N3?K0v>2S5cjbd`UZSrE7Xq%BO7C;~CL;LQ1F{J;2VR?#7=1c)-Z`%u z$O^y@yoGQbfsr^wF*Zq?G4|Ox>e|L(gp3b1VP9zyc9cu*8-~jirb>sTT$I_I50SIm!9lm5_j$Awve07Y3=);kMJ33HtH}3C|hhqB=5_(k)dw z(``QXaDH|kE5D5l18SLvlQ_-$4MypdG|kDtCLgDK6_Qohb~0mSHbwxZWaWDs2U?Sf zS}Reff{}KMkLEiQPZGHFF!xx{r*o}+%ie(BL%97oU ztEJthBHvY?`wp+%V3(my-Ybn9!7xOuN!d^EZzyLa>A9mOn0~lj} zbXZlWLNY`U)6=&DvKW!T%uC(_v3A2I$Zl&h)&35_?k6(DK&GhXD@%%0_z1?f<{s53iV!qv7tYi5Yvr4R0f6;RX zrYdvAx^R%Bje$?)+|>C|xU1!y){<{u1QyxN;Dk0VY}Cwf;@1vbbcU5fla z)?x>i;IRLljvpyn5vA#9T@mj=U0ZvJV+l@-E69pmD-zR|?zK79bSt6P7$F^-R-_eK zXag*!7`yrWI?w}Ue5_q4ys107UK?dnRp_1rCXOwHmvHZKyNW$<0x}dnjZ(VY@$H7| zVKauv-&R;4LBO$gdA$9)3u7${DxN~t6hn6^KHMvvrrC&6)NvADJA0GrSgT~(25+cj zLt;52@2R!MhKRHJcW7>VTXX@@G+u_4%tA#K#2Vi!l!pfZ=lJS(btTsWPSTRGZ{t>y zrmOQOJvP#N!1Jy?Vqr%`P22ExMj6BD_4MsWEb4)$9dD@=t`;kkdvh63;3w03x{K_YXX_gcCNKu6 z{yNQjIPT7tbk7U_aoC~*_9^{05yBSA!0;)Wso~WlOzF&pLd?vL)v)92WheL|GI7V0 z(>yx3T_*v@xWbpm3?gL;`!8;)Ng^nfujF0$(*V5mJ1lv=nL_+ohrt!tUL{9{iqN6X zGE#w3=n*fIyO+$c0=9s7$Figo#zYDsCQi`P%TguUQ`kHNX?~Br3eV-{meN{<>PNt| z;#?@!yg8>xgB~7)U&i6Qxm4_eE$q1NG(T;ByjE+6_qE*PRM?5!tiz5y`J6^+ z*Yl>Plhj5lr`+uD=62sT1}BwV0n`h<`Wre<^^0yx<;vl4hSn{s@0V>>5(mE;5 zRekDCB8J@6GWA6C^RkN;h)k(9mZ$gBf&3~OD++a2T&cDU8Qv!l>k$u@t4<$RErX> z6LQr)Bc!+smiIv`_Yzn%vS|rIpUy)gUW7zhjVorgck=(j0))gZwzwVc1K^Isj6X%= zj4mWTBA`R-X7ImC^XS3dNO461OQAc7(O@VttD1wygVWQu_NF1rkZxUMQOnZOhDMw;cCO)r%lb;l2BGK0kltM;t>Qe; z-N!b09~@USfcY1VkRYU)Yggb6ovItgIxm|z>^Ok1Pj+{lt2X?ra!hCieJ&L;%#MD% z?p`b4c)U^Ho5AN`>BiZcm|`}&$aT@erdkPyPhet@O7%4oo2*|-I8A`2lUhop=_mK< zVs%hh-jIlk(;H|a4`2>fBc1Q!St!0p93&w!@sznz`&v&awR2!^I8s;BJJ3DwG){0y z?41E8*UK#mxrxSWgb%r^rOZ`23Jj%1Gi8MNtJI59{eFt{4kg3R z$Bni8Nh+ZrUe3&x^Cr}<(NQm2q90nQRl=3`8qC*ptg?ccT>k3t#bFo;*%#IhI;p6C z96NH|Z9TbsQ$j%l)}2DDUt{**lkC-HwXj>NCg0<-e@K|L@lcQqS+*~d>%WwQXQ%~v zequ3u)CvIgbX`4-ga}Oc(S2`M5Vx4Rpa-0~*d-yNgf&Z*`eKQ3MW{1)iDZdV)*f-i zJw31ap6R1EpK{Kj9Palfz?`(hD3+^>5;1n+?j?8(pubM3lkzQf=Tn`Ph5<6K=m%@} z;03p45q!_vNSY#0-0s(}8xMDk%Ir#(kMInF7sJ97!_YttAy3P_$}J;ZL+*og4F*>N zJ8T-GpVSh%s(VVUe$lA*fHJiwr)2W1uAxpy0$!04V^@s>ifH`m^=~y}lFpQEq<2r5 zLdV0wXKexgawJ{uqH>PJOm3|(p8ew2&~dHu;b!G#L2TWbiA4P@toriUG=FojnC-%= z_nm>Ni2rHO2ds~kr!l45J0RY}MAy^JZ>b+Px>&(6=r{`ztgjTIR1 zn7u`Alz%rclJO0Un|68E>vX}tt=^k@MyX_24aVik2DeI?ho!w1p7=F(?gT76P~Qv* z+c;CP0PULrzp)2*s z(sBexSSHnkivz2ry-u2&6<=pRy;7N%>1~+fx1qT1Mj*WXMw;qWRqk5cNVNOclnt}0 zgB9{qpT&z{OzrsPldQOw31h{^bGuD;GKLUkT?@qPdHSd_Q zAIzUPPzT_a>l_Tp(Rh`{&}BtSuU1xWh8v_JB3Nz_F!O!Gk2*4r64N94{zY{j3~QgB z|B|DgFI>kH;U^xLQKR-eeZdXKttpx>BcAcRqSMhH!*K6ze_`ee7DJulq*>{f6AN>q zs`SCMC+i~feR8CA#J`ndpS5dM_j1i-BtOn3IMF1b{H0<}VjpFqM^lC5xv@{pPrUoK zxX;&ei=8PwL48(b07Q&fzb;5~cMw2On<%Ht|u-Afm&p6!g zSQgL`N$Ab>^TZADsZH1ro%E1hS=s`vYRNc26WZAcHnTl)5s8JIi=;JQUy?@Nlce!A7v;1{si#PFFWyV7#=Mw*#`eQSj*K{kP z#zR}{XANvtX*SXDHm^`#`AXpDK4&R9Kvq3Wj(jLEY{1RA>W*ZZs{E(uf7L_W-*i1T;n$ae_|SHsj52ypvLoxH6L-@9 zjWM*I;o?d=y)(OAF|m@rj5wg7eKUFE`d+B#>wO>(oavSm7k5Z}PHo$<1phX~ya z`Rk?14B+?{H>Fa4=$gGjV-?LXNY;QKUhCZy2O+Fpws}jYYC3k-*`dSNyA||KwyNn= zhJ-);8Vv23>#+4XRbVQ+a6G5JfqU?A=XJSM=8eTMFGC&PWNY<(nGX-yoUcjSU@QvG z)UxXPNE;*1Ori5YY*9#c+x=_8!$p_jDjnxI(AhLNA?;X&(|aG}24m0epTz$^P-QL= z!K5f)3`G+haiq-Eot}M{iTN^vM&Fuxm($s($DJgO=WdTMdaT1QSsa^T&TmCrJ^geM zD^?d^j83mhXR!>|e97B)@f#)E%d57kl|VjQ89nNt1L)J!x~QtpTx)sk46|M!z{z3x zp75zn8pxf>=S)XDhDHvJ<gvED4wjNjOM?UEQi6wJ+MAil| zi;G`Rk@ZjQzUy7|x|ZdnQtbsZ#sf;gb%<#s58?f`sh|6}=@`xZ`z=fPytn1KmeW|E z%~#8IqP2=|t|fRgc;B0+U%n2flQI@tYPWcgd#2&2x^lSUN)mmMzn%ZYe(_xC$j-Z8 z=Ye0z=D8L^zVyVwdM6^ zTQwFvX2$p;C9TuP3Y2M%R>ezvJH_L_r0BG5r|eR2SEJ;R#xzM>yod~c{Lt2p6&UNf z4I-{&8+{KZhJ+t^{~PQ7W2)g+OG9~~73BN#h_Hl&V|AvxS=RnT3|E>*JT7Sog!;uS zbxmN+_6ZmgUz%{HKxf39mNq6aqReH@r}D6LG3tUAov?J=z2OqC&K1kEo_Um%zBC$4 z>%$k>1bIh1oAhO?kLuD`Q1Dau)l8uMp3b7VC@Pt8g@N5AO+3$Q&lG^o1wlxKU?Qf)7{SW7+Ost&xoe z657OZ#>@WVxH+m^X~ZhuG)wS%oW$YOg51h&DN#2=!}x=-c0mDln9m|q)I&sd^xk~; z7+6;tyxvOou7>?M4fhQc^JERUE;Ow!3A-JD)N`gjPQ2K5-%+6SXvzr#!`!BujSRWvdWZ{7X4Uy^ptfA0 z$RDq}UdemWO3vpD+2~94e5%%F2&!y*=j21+XTss5D)D6ls2>r2gk8(h9aI~%i;OT| zcD1w)V;Gbqc8xV$Ey}!5x6=A%_(rE3AOWY+NvG5cfO#2F{?|;br6(Y)MI$sV(uk#!Zt~??XHT;S#vv(4ucgy)u-wng1b<+xuGdxpeP3*t zG6MLzA%L%Cc*Mm&>tEXw`=9-DCS*(GhFpi1p$B#4E~Kbngz5R_Fg$?ZJ2{82Li_ZU zwVs$A97zuNw#@hG49ncIsBj1jTlza$D2@lmnx^)0IT z4|o)I)<4OpvZLfhz4;PI>l1W_h2q2%xzQxXJ2NM>GJp7%GFcmTDgY$7P`>(s>q~;C z2qS-RC|qMB?D~Vy_DKXq*Iup6>2+^5JNnI3P{ZL-*DTfL=A4cE9|wAeX8B7PYS3OT z?@0)N@p(Y{VMy{&dgI;r6LG_l?kD>@Rp{3OmpFolzFBy0sK0V^^k~-;`|q=R`|%H6 z%f*92-FEgPzLtZjVi}TjY|ZvOOJad?VPw^BZq3YSr{Hp_APo`j~U{fDC?Y0izVWA1GhVCf_gtl~Y{ub0X<_fCd zUPc)^<>_^S2n}347e86GVHr4Cqunbe+_zeyIomj;ISBWlo;+(MpIPkxy?L z5T{dDHa6){fLIqHwD!EZBY(5#ZfKbpXiJ0%9i$N^Cd7q$Jv+10+<3J)ocX*K8=qq6 zsTF8)nyQDT9)IX?_Y3RPG<x8rHI(;Fxza6j*SwRD*(!JK=l1rM#%^TFbB%!pzyAaavu&Au@DcyC@r}lOmJ2ytr z1#z>!&8$QZko@jRE+hq9t2_(u>Z<;oRRm$GdN!KZPQ!Tb1_fel!H2MFhWYeWZRmS*)Kauwz(^R(@YD(tIj_vEP*G9Xx<{mQtL4Pd^aNl=Z{#eeH_=C7B zBjGt71KcciUqM$ZAAQX#sjVM+k0;iuXvcjocM>bXKJs;5Jz3~<;+xTy2uyWWMY;Uc z6j^Ew4J2|q-mzO4xvJjgM~#bw)v=q+Q$a8Fc0f!Z2B zO&hk6`FRZ%!fo85SS-pF13yf5SR&q z-eiY#ZYK872NSalQZerHA@y}1s7r%k=9!bzm9<_8;6~J)PzkP8OfNZHEn=-ZCCNNf zjAqY@;=jE4Ae0XbG&0wPH1(3Q=enj+S-z#OJrkv$p_6C#s!6luKi_seKtu^@4Cyq# z=}vq2Xe_%ovkKoV6|p!H6?E3?%IBXV@)XtF5T3sR6JQHOUBS7aG-)Jh`e*0$vkdq> zmUiP67bMzVO;FG~Kv9x>=sV7K^eKhoX4uf!72LTHHk#~1xZz~~+M@_?J$*ZaHy4s@ z-j%;0xA7;H$zWtnJ2VahI-*kRnU9UDf;-4K6vC>bc+Cky&&X&2kw!?`fyr?$zh0&~ z6i(76aB(+L+69X7ZKRfOXG$l5krZNoaclte89PfgMCJgb*#f)}T~3pEgJ=>Gj8alw z!I9KicLX|dBb?VV;)6gy3OKxSK4O)TzLocxUE(dJb3Bj8MqpJNx(t~)X~bE<80$$T zpf5*ikHfK%k1%1nr)`*AOAn##pQrn+2736z@OKz{P@x7YX$>Idg<1;-0E><5!Us6O z?p;4f^cv>JpStUgmfH*EoK57IGm5|~))-!?u7sb!hT9!t1azAUy;`Y{GUNt7aIR!c)Dl}tQW zzU>Sn+~cI;w1?u~oYMPsL6f)+m|Ud##^UGCg`6K1H{N?E6%@#`iy1LGn}u$hn0wXq z06f+8O(iWk2izv~!Bw{q&b$v;`;R)^eC?)Gj98@|`?QA-)}nwb*oCBKWr~>oC@sgn zrn=-5(dmL1OY}4Wi}<4+lz4(*b?bA~Kj-3zP=WR>-milIHWgbeB@rP)Bqqfb!w3@H zzsbUPYn6y!JJ}hd1>>XrZZPDG#Gw5l;V!g6?D#0fP9m=lB26)nF* zD4@ZJHNnQ&U=LTFM``8@FY_K zAoUJ@t7yKum);xSIn3fj^pTmt1$;6?Ry7s5RjpH4kbeIk?cmR?ra=7B-_+Z`>frlN zAC=R)i?ZW%UcqkoHdqwecSa4r;KR8W(Vh>%*Ft#nwh1(-Dks%}F~j)n(STZ^Y3~Q% z1&qGhFF=~Y88@@bUcI7J;x~k7v1EuIg>IxBnnK^6N_^8)Jyt)dKRdoGy7KY#U2+c3 zeLD6d2aX;kQq~0zUQr%(d$X!%mKSx&%9!|yT}M4>WvI?q9sDf+m<06*YYCNB&yy`^ z`${~vA=|{yE9fmH<35EF#+O_fOuWpW>cee9SS}+WZtYNL97w*7N zp_}o_OKBa~$B!dwKTPJ9NFMuA*0}RbUM)xKll6GO#;wt2(pikeW{OLaewi{&Feh1S zmlKU*q)feyq-8R|<&{B{mtQZ`lE@bV1Vcx+?(8fCYsZ}k7ltm&WlQTxad_?x_8oTv z_tk$T^%yWPl<_^$Hcn9&?j%pe&wMrD)GdTbU3sl_6NvX$9Tqxvz06Z~=ob}k=WE)_ z=4ZP+92x+322Ggwx+oIQ(iI?N?Ls@}#8Y3U97mR2T(0$4-RgfZ%zC3(j*7xFraI11 zIoCAP|GgT&ndX}XlR5r1)1y`V)w|Uu^Ct2BL->_i%UA2q>1*yl6iSjAeb?T3Hsb)v zywjd3-^$QNBVWgO5T;*Gf)IYVif$xSn8>oZ49lj?yCB4`UVQ>=5(3_UiP+69!`FYc zLv9ANZ@2&0J$}8EP{ngRo$2u$@tkrv+wsJPZ?l(qeZpoG`1P-suGbV^lkiFKc*VUS zCQj6yt-(6tx71ONRG-0hD_UQA)7Z0oW$LFk@1LLD|HhB^47Bu!NnM(J{Jp#B9%C~X zk2)Czq~nJ+Vm~gAZK`ALDxV?~-Yf-dve;vqyI;H)=(KNSkO;wGaf&r>(me^wr2CNz zspp&Pqtf38)F1J^WO16?RtzI({n?r4eAdhNxM2=w2iu<1T`Do$^JQQd^#gcn%Izw8 zOpniRbM{gXrkmHG(!Uc-!e76zyTW&_caZ&_St=$wOO7UA)T{y`!5pOLBnNt>buT88h1)|b2!k387S zQ9V3{O(*Tn`4Jpj*4gN{>)+tkllsOkezoU`tH8Z-^`x`f;z=kJm$h|}2s17vxug-x z=rtexsp7>3tHWf+a8G5>6$#U>Srt>SjneS?9E4W>^5(HZnulyblfj`^yP4x8uO*EI zDyMVNuam7`3sKCyfgUljXm0l66_%t+-#9X)=1{S$&oKOHPnkS&;fei}>vVy2WVZ8F3*gg~L0fi!FCQX50n~oaZJl`#I0vbdnQys`E1YrXD$z-ml*;KRQ}3 z!4NhjZ*FK(;jvlicv)&Qqaursu}8|30@@s8V*kbF)cUjJd_aYHsN|`r*Seh&n`**3 zoC1dU9WR?6bLj4@Vwci~<7pUZb~F~B1&oN?hNK^5{rmX(8yCrIK0I~d6~?m3+mn}Y zD)BxTOCd(rX~}oM@*(8HJ0A?$%!TszfnV_*$e)Yca2={@riu5)_YST-fMD5t*+bn* zfr5g)USBb59Ykx_nmi%(RTSA3y@|3%l6sg`xcDv=^Y zo|?I}lieG81nTMZhEJ~DFG{YZ<2wxY!BFBQ%(}xmJm%2?&#M-$i+xR=l`vKWE_v6E zoY+pLw$a855n)mWRkjLR6LZIkyD^2J4J#fitEGI&ZfM(5m}3J&vod;z+{nMk?sivE z-q`ygUla|`u%mcjRGJvGt{}FP+AFsqy?ETw|2gfrW~Fn9NhNm|h%bvauz+xWBe*XuIV>d$M>-_BR%&eEU#{3&*=JF2Vf(DL@3LVrJ|F3iW%;E%5A z4i{PyIHm3!l9tTscz<^2Kc8`)3xe!_zFi=73jhx!v*2r@5maaIt{_}Pq)ZmlAzFWO z%#&AIFfOEAjU0xWM@t|NVQBdQD5x@-rKZ&NWGDvM0Avj=zL-ecJZ?)#xhP8?VkxOJ z81kM)?2#(5gaNcg=&gk-od2kfDVa~)%J~h<{6uX6-V#_J3+9!Uu(s+qN&keTsUuil zEGUL)a!H~}{m|Q=zwf1E!|G8WHtP!1(0t~HaRe4fXbVdJ*kOa`Z{1NOgNiP9oq-HT z4{TaD>;+hZlJ~I9KbtN%DyK;j5Si!SMByJVe;8SJU9?09Bju49tx(CB0sn8|!X_wC zl?`y$th!`5OW1_&6SoJdB2@XCEfjWxw-Ng@6Fh`>&yAY}OG2CQ5)e(z1zabzg0}@J zxuA=e^xJ9p5lk~~j@RQ09OvlfDiM%gC8bvnEgh7r%nAj0sanNLEafZj|UIgYee-1Wq}@eN2WA-w}RH& z1ZoK>`@;x(Z4K(+GZ+>Y+cMY{)~37a5nUb_+^fIm?l^+?39A4F0VMB5OgCiU9k9p7 z%f?uH2>PKLJm1-?d?gTl|L>atLI!R;pa1w|pRksI${0N$D7_BxNaI%-(4GcqBSAYBlgrk0& zkOaEU8o@LFLAAX9c%T0NLZHjV5!Pwhot9r;8R4J5L0P)|)D?clqM)JoUduB@O5HYyRu4AAje!+&ZvEQ05RT~dO5$G|%l|(W{`XJbkA-!lRdqn-|Ah)qSw*r5d%#?3xK7jJ zX>|d(Muct%&kiWzv2sUWzRK)8SVpY*-5khd`7ehHh{ zVRPF{h6lgnnwjSTsVM-zya~zEppt(TUDcBZ#@4q$C2V%M=@g?naR{xxuwJ=bEH^^8 zwQa?nhK#7b%W$ve$Xc`r{(Sz3CA{}d{CV*j{C}|89V4zG0Yc#aH3xVhJD>5#+(DI} zw$jlz61Ske0wSy7I$~#xAQ;;!<=cBe@<}UI_IE}G>DedRXKxUFsH*_HVVbZ2dY>;gfyTK5_9VSdp`Y(SGNW%Vw#JaH zh2ITH{y{Qa-wZpNt{-ZCdIF)^PUf;t@wLbceP_y$0Sa&K)@X_k5zpL}H#rE9fuzrT z1EJ}-EV5oEUG#f?eaSftp4NeXTmoc;5PbwI%8>qZ2^ zh?gOl)EXFW#w-NW)_2uR+4}$}W7-*gj^N~{iweSTC@%!#3Rs*sEz34Xy-B3pLyhwgH9qZj z(2{gqDhrPQ#l%G-rJ3Gz`ST25Ivr#ZwO&CFEbJ5I??dI4qXEp1jv7vfB+uDS0uYG} z@r9LSb#Ql}PJ$ad$S|ciWhoL<^}lL8gD1H`3BKES=0KrO70B@3nFp`XB;CgUAOAObA_cjOwrk3AhMj#qMZE3)Rn1J2<3vt#*?tJ>!9 zBv2w1{7qi4I8-+ODD;ca1nHqP!!bakwBfzoqFl#v8 z?@n@;6ZXj9(~=msY8#VO_63+g7$I@bnYjccrH4$4)JkTk4WeLuBT>h#iWAe33rJ#; zIS2y^KE1jVjhik~i*-MK_B#LrtX7RL-ke8SR6AXVG#qsji&j~THa5FG&fA>igOhD3 zEr>l>*3>H2;})K_Wyv5WrS(#n=n$gloK*e-04JYjJ+@XY_Kw`3q6%AHe>#~wo1z0Tt@Mtg?9OEe4}uH-ajVP?&`ZQSn1fPAa^6`D*R6LK~`!F8!R2zICq^hZnEbHO<4#vK<7H*RlQF3(EZWsr@(Ba5`!#@dbthG3H)}0m(IgCfs{CY6t=eYZk&IwFRV#A}Cn1`sFP)@CMU=|*FNr@&R2g9AV*3M=;jxIS5=J1>m zwQw*$S%sxzhR|MF9V(GHTkVItYoJnkl;DeY6dZhQezSK0%wr3H1KbZzw|dAp{b{|@ zK%Qj4#l>?-Ru*9Fk=t=r@6Uiu&6~H)3dI$jpPg5H5&s}tfHFRTed^c#yME}SfMjyq z9)Lt1K2YBxkxjGUg*#;3C5v>0;k}C2Ul6@f(-psW5dt@JoQ<0xRbmut18opBY&MOM24PqqM7(x`PI#v=L`O&!lf^%vxBDuePIY|FPh2tYU6X8%CL8# zMd4zR&UgN#cWbT*y#Wi;Fm5+~(aYCmDixQH?Nlf$Y!Ub-aJiJWW|0Tia#0RQ{SJyV z9myU}m!H-hp39dW+EKDySJ&JSn{XVOK1?-#fP$7z{tl8lENPImtsdMUwaDzqrv;ON z1y_^L(1F#h_WPOVTG{xszs>>A8Kn)KL}$m|&MF~XQtAd-#fMd$#Em}WfGxPs8$FrY z>;JxUxLc>o>CLdms%H3MG4txluW`e(7YF%c!qfph<4=1?%jT!U2_|6=7HzgSG-r># zQR8NCx!apVarjRB!##)Nh&_|TbEqeItzSg|_v@CC;2(wgua|!nnvg@uw}jY##B2%+ zAN~GFM>;fP1UX6M+XqC+!>6n+R5nl%Iw#-|?w?J`J6RChjl_~mju^$R^l3tlE zB5{)-Qb9N=MS(-2sreCxxEWtsq4@HJ{U6}WvVae^^*U%i5ECR7K(cr{7lMC2^DniJ zIyE{8dk|8@Of`mYsk>n1JV_a+bR?B02A+wCipXW$8LjrzSAQ1ki~J=UPUVZ&}avbrcHJOh`#jC90F{5Nnz$IT*># zwldmP}p z=qul0y>?@@9-Q(-A((dA)?~E4)SEl-^r>~3N>aD_^QkIob?s;rSFfnFV2%biekv4+ z8tIKazYCo@YsL4?a)0W(uqJk$BmF0AW}{4V@|Sj=<|<|DqgWqY*47m!Upqbkdtgke zKHh|zxbRhG<)i+YYZ3$(7j;MO$IC6QjSRT!SL9H4t_-JF+ek?-ae?^TyZgDN0QyjA5D!|u}$xdUl57&3F&b8 z_ynFt@n~L-3>g|CtQYHDw8d0nnZ@~G9uU8<^YN+;AtB+VVSaCBz;)UyW?HD^y(Q4Q z*`3@vfuDQ}7m{QH(>ejo=vNOlMsm)$FXomXH~9c4z6Vc|>>3bDD)2p*fteM1=t6fR z_VJC#a(B9TAY;#+2aU%xyNwO5FxlNNqO($=|EApFcMt_ft*7(48f!V=JHq@X#9D_H z1OhXDSAsL-H{?liR9KOA}e-} z;>6MJ*$TxmDQhUcHzIV7(pQ1LV5o{zs=1(3eAi&FD5Fs1x>tTJ)mt;l05YfuO#%~t zDpY^=k$~)8eEWlk__O^*hdd%+<+h!Ie$5W=0CQ)1{z){xM0SFQJqR6GQ6kvA_Kwpy zh2Wkb>vP@EG|K4UeVha<;DT5R-DF$OTj;kEW}{!x{G$!wmwFVb@1`Sm8oo`dSNfdL zfs~_RH}73V*#KSF2>KijJ_VIBuw9Heb(W6V&F7TY)JU!$f8eGF)qWH~h-w*#66xlT1*aRVt0^ zFo1M5cODsS<_bD!fU8W1Y_BUonF%`LrHCboP@m%A_E=u3cdN^jC60DO9>Yu1x*IuWJVf>FwJ);%; zdINA{;`b^PHEFB@beQ1|q&Kek5X94mHy#Zb&0bX$uyEYnv{rYXZbrD1wMgW-)#C9# zLYF1Q9!>m0R(@d@RRpU`8blw*tss_*<=qL2A0&24uqZM^yU|_l@YM4>t&H)H;yo#m zG2*|`(dYQ+MgCY(TPs2G?}xyKrE7%>npfn~&%4{St(s1i4KMIR@ms{t(7O!iO+45I_H{^TM;mPTIX0g2ipG<;Z56xD#%+&f+BDmju++e z@~v}VWzIDJ1X`}o6^nF>PsOF2f(4rw1CbW-RJ|{Co~O&_+y3nS&GfWK*Ww-`u)x_H zNyNIuWai4*>K)i;!P@ZLRC;>X=opRrHj}<5h%8Z6&wc>-eCk=rVLxoKq)KtH&tB|` zELLmP2q=aE+95vuh{V4pSGpR@h}o^xn_~SG$PuE>|6m>9Kl+bFPc(<@Whr z2!qBSVbF-*JK6QazQIjf=F!N1Z@y7^!YG5)M>^F9cByoUuBg1Wp1#4!gR+tW_n6M< z12fF>*Y<7~V~jD*OYcw)W+CM$iCa{`cTP}DjQLA;o`v;p>+PbDdtYPjiCm~dF13_t zt5*#f|NF0BbzM;}_WEefD!O5K83>~ZxVd{oC;9B{6FvKFL71iuG#iD9;-P4tXs3EN`cQ_=H#?{YCTSrszESL(_-;Xa#MdTH-p?6sW>I0#j5|0vhRSWvVY@7PH`Ga zMk-N82nk6PM@4p4iLAo0B{O?9p32J1ifmcgEBmRelb!69?2(bpd)-3xJpbo?-_P^; z^gsXO-1q&vfAhM&*Z2BffA1yL(mQ^ilxm^*+54qyr`kT~7P`N0*G+jUe7jIuEz*wf zy_KC3@0SyM2mG*}O_Wbm^?zKmx;r5WVV}LpDRYX?u4#b}%UO^;ILKvvZThv6%f|<# zFwpazBP;BmO#)e_CWMCRox{|u?(R)#S>u13)d?%zPSx=E>m|r9qP#QqK5*zf-E?VH z;tVlK;`s%;he?HQ;6sV3fNerL*U7;}L`W$5$D-bbzJfOShEDG%qG!ivoE#v^&v@5~ zNYsw5#Hn5{@PxN?2yY#Iugo#)1g}~V5_!LxGl+}fbNzLwb@gAWo`R&pB=cozl6L&o zB&65-DcM!x$^&&+ANaK9l*-5enZ}?#>KT_h4Tarci9SqFR>S+i^5Jk9PvEq9*OsC# z$Pfw%^PkP_>X1BSzS0jc)2H0%NYI4{+;Tw`DZC}oFZHqc(~A#RDU$PN>Lu82xsf>> zN$PuCIwHI1vX`Cc$t1xsnuL2gpXlSIAXll~LW-L1J5{-@_oWjS6P+FAm%RTzt?whB zB|xu5WP9#8wIh@<0bwX^Mb<))kNo!c3JD3-&nVw7E8et{OR5iYQtE-)cS~zZO(8>9 zHsG^l@rkN^Ng)Quo{ciap*`7U-960eZByRU!kK`h79=ht|?)0Sx(_6T8#3fMW^VwqNn_{PCTy+cyvnqF%yfJ zxOb(m0=+iVRnd4~?|tM&OKOQmT@AT&ugyN0{j^`9Nh$zAHYn*}Gj5;UHBls3lxf}$ zTd|>|FG=S{X~(EAh6PVTmVjVk;BD6Lt4rZs?yI(MrWbNWnit3pWH9Tl*$0mv z!h}C0B+6hup)>A+M?gdimMjsiOdjD8w$1;u{>?!mCNC^R!;t!Ext`_@yNPkb^>1&U z;Rk0McXm3mz@rUni8_cp4}X(b4ab@x%!(KWm$U;?La3l;4Da{7tZZP8PeC-{7iIu) z4#LXi0IX&NG}arr37oaUJtV$-2Ttb>-u~HoW?_UB_c?s}nYa2Cmb%>eG!xqEK;e)o z;p|Z|_~=1xpjJ;NSEsCg zg#`i5eZvFfL=+0F7{;P;<ht&cD)LZsAV%M5y>uPhQW6 z&q~L)fuPCDWee@AAD@oAypHEQbC9-{@$&0k1sFVh!h@LbBd8qm9V3AZ2U#}et{q1H zm@+9MQy4?L&s|93oSt3)P7pn8XcGlcQyUpxj}Mk$lI!EQ*ryJOz;2WG2v{On>G3RB z<->7!_dU)Hk>QXq7L!PObXHO31IV$Afn$&kl*8Sz85utQ=h2SgO=7bXzYP+>aatgHDE97_y2*G{>CMLGUM-H|FnvDsv<)Lpt>Z1h}OlM z>7_QSc|!Bn3tcXiK4QR?y(NR>`0k&I*LwKLKeqJdH;eOU-26wUFAPJvIU-BQ%@yPy zJl+2|wb?e&(sXGlak?Vr_Gnk28K2d-;UaFp7t|LgwSuK?pIy!u<0(EZ*!<}JiP!dT zAuiD)|LqWl7Kb9r5S!j}ZSEkG1;M@}NY}6T|K>jtXN!prF+C#X^}21pW70$Y{RxO4EPU zwLYt!NcGHvx0k4jnIULMm?rf6)jFiu5^yEZ*o3-7QmBG5C#BN{d3K#pRpWRz_g8X7 zl|vzj)awv65!$puSLukO^4w4Bu`>KikhH7m(O1VyP9JShihnAe{eG{`LGdptb7$i6 zTV>wW!CWv5gJ3wWI6t>@SqGEeHd|I4I2$XkmHwYQd!sS9`R- zdE4vQ71=pvMg=eSR>`+adys$T_kV6}Y*CiZ!u;1n>E5&4D_Lduvbm~ZmAT8yp}3@# z$*vP9gW(A|Y35}sx@;aZKFUIYmLju-Tt>S!6E8KpT8*3&)`SN|1@Q@tgh@QfXH8 zNRSb+=yGp%jD|Q~Kc677ToK}Of2uFJ>*+o}1g`A9Wii~C3W)P%-q(VT4qj(P8IR+6 zHH=a#pTc!rEx{L{>7@KHt+*tRGl-}jbX?UIs91sWi6#^I*bh_v35qE^xaG*cW%gsy z2G*a@1Jpj+cj*gu6^0@OUUgn*(K!69SjAN*(FvGbw*cvnDAkwIa5CU_Q#jJCWDBp^ z%h-SdLdVduN+0{O4xrFMj;7e2ESD>s!tBNS50LkSfd$Pl@ijRI{J}XGLCxChmtQAW4$#Q zXxfNnj0P1WR0lPb?=))9ImdhJJ1|b0J~N;|=JtySKBW@>-2L{P2gVZ@f^KR+&~97? zUm9&%R|0@Ve5k}T>=jv!QixK77+pMdxeuu6Z5f0$-zt1MG9CKbnjWzJoJ(&=Bwak1 zY(VxG`Pzd#h-tnZ_a4rZJaG)g>ofFa6AQ4?qhe8)O3#}|I2|2Jv6{HIk+x@Oq!IiW z!mg}LZy^_+1 z_DF|YHqb>+A$eKtjg`toVx?~>z8ar2!w(PbwdJ51D^~I;l@Vjm(};x^6pyEH{Se=21+PgK>s`iA!Yx;!AbMyx+H@e2D4jZWiSoX~_c3)bU} z{x?Gg1XrvsI9SI)S;sw&$7Z`+=kfU1Mh1@kbT(Yb{h0k`1r&uMLnT14D!naT2+z6t zVEJl*0N0}A*+W~~W4)Y{^vQJ_Ve6l7jN#!&QCM9iIuy;|u26xQg>aO;)(dq9(PpN} zEBM5#WjQVf$&N&L4g?)K9ikB9xthnGU8psc%Ls*?NU~({>LD*reeUJWk`u}-Wa+n*)6(_Fpvg{>>9Kn|%B zVF8E5Ra@8-tM?cTs=&USA;A&~=)KV8S=EWqvpJw6WdDV|aQ>bxsLx2Iw+*U#_dxkD z{l$k#nBzAaNpC9~i&%4+HOHw>AqDW_YgSd39pK<2d2XEBPk{tO-9Inlr3ifEzIwx< z{TR3I!S?Gl*ZOKdS>ephz#`f+aNy!MFWMA0$HK~y0-1MW%X=(CU)(^KPifnnw(Fdj zZF|kB{hYsX^c=fS8RMlkch;XpQ+78Q-#!o6!>Jk zq#iCX`$Y%M*sYv@uer8cCThyVy2xd`tb}DTm=lO&bI0EIJUJ$r9=q_fOo*nCwW+{g zw9T^3s6(4h#3Mrh0tl=5QAOuqk#ekcol`vd%$-2u21tY{%C99UcnyJ4xL(j9NoO}m zQ!p2DhE2Husi)FZWiSmVci`&hks{)r?xNeQSODv_O{_uNLTawQS`U%P(TM(mD7Yl6 zvHCBbA1`&}S(IA!IgjdEyae=WQAcOC`l1&z2iK2e=PL)piFfQm$U*W~AtuOEhAV|t zy|8_@zD6z5^GBg1&2kyn>$nJ)3uJh2F#D;`FweialWiPB;`T#~Mj8qT-Faae?!FI6 z#UR8nar7bq9AK3X4j!o5VdV5ob?vmLD$of3WdN)R(6QI~H zAl@=3&0Kz!lG%%X*?AQTQ=(lwxDVKW_3r{WA!YbtOoKE(8*gkXGlzIpjP-Q47LyOn z92io$7^W__k0%vT$@5)M0rKwQrY25~)-w=C#IY?z<55!&_>#Yj&ar212WqQ<$C%Y)g4b5=p zn_sPd9GnXa<4MWsecnA$&^icVu1rXuo0(e%gT+j$^0wo2yAW*9gK^ItC|7N$&p=?a zovkl!84A2e%^`~DlIcTnl44c+SY&QlM=z^Hj`+@4U0H&oD{yt3`NkDwvjR(+>-FIR zw;a4Os3p8}+H4vem@3mpuKF`VrV#5aStDPS<{#72uJmQ*P~anMdGzVfilbMF~~R)p~hl}W{#pQgyF3GG?LqXwmd{zcIw zTM!a(;H&m;lm;%Lq|iAq9{Utz${^ZD$(l`8C`w~wJ2QBQ@cUqhfMtR@LX19;&cMbM zToU=ZM-OEzRq@r=SJYQ$7M!cMKv&AsdUkSA zFGUsIM|;nFDzvA5x^&|6NQl2`gQ>~l{t?~~?%gX=V-2yMerMGMc>CK9@Xz}MSzNcC zoq+x3CXXoEvMx~&ozu9`eeIUWT)iXROxMfAvTk*U&Z?fG!Q;TiUmx=KqwTCtZ z6I@M2eEFY7=`z{`Saa(>F`28Az&!IqjKtL78i5)O3elzyI@u3pIXn)h^)Hl&q%b7M` zf*uH!P#}ek@3dZ%P}Ul?f03Q!_@xd7%9|%)`E5+GK`$BV{}%cfLd2@tAqi z>aD^1iK~Uo^Ec*X(QBcdP++y)@vK5Jl}V!rFEd8E=q?TuS;TJ>F#Gwf{fgB7qAJ8X zIWs6$v`01NM}h+{Gly7}O8nYless~^#mggVJ%QzD8~4^*$Iw^Y)a#}Dg9M*N3z{+Sjgf{9u}qRp1g~Vh+ps@;y38Ru>U|x7TfQBMff-`u|y_}ESDl-#mfd)J1*c3h^2v#^9LUxUQ*UAB(^UZFQLBwKX zy74SHndtY}_}U3&eEy2vt%H2g5jLynZ!Zf7j*`0H(3Eu~r;TwSvlJhvUYbje?xB{L zIlf9>{`$oS@1;=fBK>JPR3b8FcGKyP?~uOuAemk~cwacpQFD6O8T+=bi@KmHewCUy zJE_aH6&>(lKr{8#&_wnsy8?)5ubP+k-Db@-$Y>04ac(SMTj^ReqR>h(B_$w=$}XlD z>bPw4bQ95v%EjyWA4dQ%$rCYXxwojKn6^>6!!92n-}odD0+l!2K4)#xg~mR&4D`J#~*w7#C9`1LvUa zTy})jL}yG9^-u$s4PcG&LN$Cdl(Zt{Y<{N#mf}pWc%gx%0ZaUtkCUBzo3;Ra=zE z*A)MW=N}ElBdDX)c(j3_ZuvsKe}V7(q4G0s6Y1EpLueNX+JZh);;{nig zH7EX!(f-}1m>JX&C|-5Mndd#>_D(%$jlcV^-#^><^tcTR4ZHc>kPK ze~#6mL$tM5XL%Smu>i(XB;I$CCJEDF61G2meOwRPJ69j;L1@p`p)sGf|M?&>bj_(B zMVg$*Z~_{zTXQUaq8punxHn?K$ed5>%Pxp z8~utQpx-%B@Cm0*hie2wI!+xpAHw3cyIvofVBTucueM=kI-!TA=8CEw0IYpY$tm>@ z?10v3W8imAhy}!$r_p7wCZ5}Nes1)}Z|rb$%;CNMD#W9!mV}3KPUqGc>}YCu6k*QU z?OnV6tj*CO`bG=;_yG>G^)<2nC#?uP`~QAy_%|eoa?y6&4H+|;R>C9y@qmq2!$cwb z$xNTN2@(BSjMR=MB5#Jg!TM>jV>!AIYh4MKDiJAf+BP?S-O-DfVCK;8A>H`2zC)Bh zM0#TN5GUUD$1vI8kMEph$c=ulrEhG|6P+TBTMekc~`l$3#V6#GW! zJKsCpjr1z!8Zt)*UA1rj?w*Ci-7Guqr|t}-)11$sM_U4j(FG_2Nl zO83O+ZJPkbp$q!IeNFk}?)64FyB!So`F-zSpM3T41$}S__(wIsEPYGiws(8`>uq4BemWIedng1ski^nWxV2(l0X*!I0v2wX%pS1w*yHuLLn*gkW%Y^CjuMY@N>0^UmQ zLLYkDOTllPy~(@Bx7~f`h($%iv-B2j50Y)Q4D%gbYqs+q@ceE2xN|)VbcLS%l-n_+ zVd3Uz4*mc7{d()2PaUSMjVagFgRrC=dAPvV<2KjuzjOqxR|QN8`nee>5A)~me|NNR zTrq%p8b}cXJ;?TEXbo6yUk2jE1N-J9KvfS&dIow$r~xEIWjGLF^A0j5G^!!0_H3Ag zit^WO1DP;khnT#eD^R_CJJ(Nm4q*<-*26JED2LSr9eF&7G_l#eHZ=;#G{E0M2pQ2J z0LkGearg_UqQy&r0Kb}bKY6gAW8sHAMfC6E@E(KrkUx_DaT0<&S_XPhJ*6ZUg8DlA zlufR{7er~E;LyM*Jgvxq4y{G$uG`eK9k67@=1yN*+Z=0W$%EmZI|dW8o2cEiip{c; zIhH<@jMp2#tn$kTKu25XJTKjY|IGwk6^967Lrz+P>cgJLmXMX)=BKEphsbMX8Sp}O zH$Ka6EA6+b`jS$^X~(0GF+f(jZWa`$$p0Q>Fbaf&40VSEhLaUQO1KZ|T6qOPZzitM zxz_{vSM8)yh@2FJowRxn4s!kO#NEg_gcye+a!x}3>m-hPg8{Xbj>NM;3k&|73f{V4+Y%*`40{m0xUl4uM6o~ z!FzdFT<+A;Z?yoAz!}5t%p*k2`OgDLcW@upDS=bo05!TdTEz;k6Uo`msyhnQ8YVy)W@ zS3KuZ%5dTBtEOCD19(d785wFo6zL$9gJXk99t$CtY?H~_IN3-ANn}G4S93b?YYlq| zAzNl`S;VGs@1;gCv-#+a852H3#PmuVNf@#HX}APOZbva>3mHtjpZ3^)oVOOC8Bamk z;HUfnZCFH{6^aGgf;^HD)Eh&}(hS_XTw?~U;mRC31Ch#Hf&7+LUwLWbO6~+4D25+7 z{*()d>;daFgOEZ$K=1#C{S*jQbD>s{fJ##B^mb2^O!~G;zR?G zJLK|SSN#Oe5Zr{GSrZtt=IAvDcp{vszbHP44_wiMVJUcypepUs`ePo_rn65 z1Z`kmO+O7Dvx2lkLv3~Y*_&CK)Nut!o;@P@hOE22r}BU&)WNBMq^9kCBwJ7_jU@HO zuOzGH=g}TRwY7uE@g>i~0I9et=`6MS`fY;Fn{QPa6P*S5wjz1AKJ_SgJz&O*0~-fP z%fFp%+|ka}%z9-FX6G1$4tZv;3tj42>i1s*v>sUxmiA3Y8h?URcu*Td$ZuOz^e}Sr zeG~FcHs*lj%Po`m*Qd=rKH?0dz6rh}(C4O;TxJ^h9BKgZJaxNN{#&(`f4!tr6>x~e zxPufJZ6R-bALNP>&H~glM;pc@pJk{-+5G_O-n0lS=>b>0{FYSuNZh4Zs=JUns*QfM z0IaDrRmIv}xY0wohZV{6zWHgSj2_~h(WG79JR3Ph!)Gk~Fv0b6)l{1R$seaItmczMx<8NL?nTnR zKuQR+>Fd1#8U;J=Eo@zc@K5M5mJ#pdrfR0VEbwTPS&M>A!lgJ%jzWq|I#Oje8WIxe z+Kk92-)I~qXCWH!mS9hXyxPFz78tpkqxFcK;m^mZb))P-EuXS)LXE11YHnrk1lZaO zzamnV2+^(m2k2wn1#K&f3i9RjT-YjATVRo`-Kglwhd0OP?!1AH^MjxCqlLu0)?P$u2%TKZF&u4?DgYBpItWjUfp^ z+07!&0!Z=k{y_62|A>0S3w!}#QQAq%7NFAhqs4a)%}8AH7K!@?yI?>%z870UJoljU zy)|=oSOe;Z5mF)QGv5d+f49@FQ9#!&ST7jZuPImpJN}ioU~IwS+celoM{1*?AJSX) z0UIha(w)GCOxLX2c~4&VD@X__?sZL6I2)S*35D6m0|Xr*=GTIhQz2;y;KYBj`F4TK zup3|nAc61KCN4&7qWp4jSsQ>-hsk^3 zIMAj@K5Tgd7Q~%saX*FQQAleh-o=-XgSz+BYf5 z1oI4Q+yb=Stm%czx1kKFNxX|601_vTf4X-L(azAbq>c{p_eZmfdNG&hlnPlG*^#et+W1%D$<$~QZ!dbPfV#|I-?ylf)107KlR@w6?XUct z1W%SjHb)+PoS0_dLJ{yYQ2{JO+EApdB$X4XCj}&>+^AwQzi4kXCp&6r-j;cisq@-E zqazB(1Y5qEFmVH*nMUj84J0MhWP!S4_p5zdGY^9W$68*c=GoHLRNS1DTRs8iBN4Z8 z`&VGSg=khXA7RYK_dlb^&YRSI)Nv99VIi^Y3~iZq{liGwAjnW|g@Csf0JvPZZZkMk zD8)QsBfijJc&_jPo2&(_x}foiDzrh^a89W+4`91yrN&Hym3s(a*FJNXn$5bY$Z@S( z1w_@8AcRqJZWC55=fKaq^A>TLnmofwwmUEwJyMOt%|_!9tf84|zrUaUoE}mS?B%)p z{RH1ZaVj+Fu?a>x>+r%QqMEb_jJF-nVHF;;?~)Buw?KOF0*;o;@GFNc)ZQ6|ytxCz zWLS|EL^xHdN@T$j5yWg*X#>LoigBfybbF`x3=0VM0nP8GNif24S#ZI!K(bCPW6lY% zt;=Pd4zD*y_zX<_y2X0F-@R>0(74kHI(6pY0aD^UK4f2Lo_^Qg3^m)s4B|RY-B5ms!`A%KWnGRy2}R4g6g<$4C3tH|_92RL-ugR&MS~*VMxY zMRH(i?RH1RBZLayarS5jz>B`rNe7t%Znj;~874iY;e`Z(WR1Ohxf5!_gO z>U0HRQ&A-dxNOWw%oD^sy-VUYe(GHy9%}RJ%~ozADpYI-Uq2ApCF}M0=i~JS&OHm= zuxH^~AYiIZWV&3SGawHV45~7~-dV*6okglKoHzVhOG)0QmfofUcGFKVnQlXux-L~3 z6+7XVJV*<4aWjYwwL}{qE+V{ba;n0uJ>O!4qVWVMpWy9EYD;*-WyDbD> zUpQM%(~%MXVUC|ysXP#=6bUQqTRn)$(qtsl2EegE*JdiWKrFewZAo6lQABBHkzpdE zG=enn-bjLGXCerB7_;_tM}sc-R~pCVLvO`?Im^y7ZA%;iMi!wqh*=U(J>z`lZ^crc0|{Uh z?O539;V3FXeG)+Gp(929BziC>9R=Qdez=F2h=jsuHycP(bkPJq!RtOg`>)eA{3~+U z^5`2wxa?Oi{}ZW`Q6_}igT5MZNXXe9>W;zwi4^z(Lo-bOIouv>+&uw$Vi9oIv-19= z!X4+j_f6DM7skTaOA!mixQ5Ts7dju7l}a#x0IlMeH&^#qeZK!CS#=~G)j9#jWyvgJ zLay)Xx3EyZvNf0N0Fx<7DHxi}=D<=4A=nuGk4ZGaIr z3U;CCr&iseBuaHVS)~A^4r6vrVTD5mEEb(~N2K-|B$idFJ%gf|2quF=j#J3~^qb z)ez3R3#CTYO(3C0aJ;o(EUPW?#suis+1rkQ{((s$Sd3s2k96Or!ns8j+<+XU_mCa% znF`TshQIaS$VHfaeLqnhA)x8i62uF2iW0$FfO-V#{E)sr3QjKZ=L=A7qI{_u5)Jy( zEk99P-|7Oo0<+KGoD5TORlFT0XI+jKENjT_1C;>~H zAhHzy3K*Uh(??l;A6rpKjArP^@j>C|1PWWm=vIGi;Q8T9D6->kl(bDH!l1_F8w()` zZawQL6IY~)PXVY@KUjK!HJ@aNxye?$i`d_=W-HYQ9t#+fa68V;)5CSYA6Abk@Mj$E$j?T|y?o}(b+hBw*n=UU6pR(g1!kfV zFwedw#<*bE-%nmScJAJzrg(Xs^l6ry*)MmbEPP2~fo$7S?7V9X7_0}L1IhfvH$UP% zt{gw)C_Ml=GSahs((LDD0?K!D>3vo~OA6qXeKM}W!oLibg&yKAk&GF_hR_w)dl1Bt2Q~j&-E?zAwgek!4Xa+tnNFEgzdlOL5=!IUhC|n7#NvI+2QjiZb>(rr zZ{;tMjGqQlCA3B$!lnFjIpesTw3JagjwhKWNcKA%fM)iMnaa<_cMqq}<@Y{6lXgDx z!GhTj=S#|R6=4l#<(55ydz2T&)4xiF@-@K=e;-f6^QYp%eg#=5eKh@ItbSIg%Y9&_ z9%zu{L2K221qt5QNzy_eqo3SMeRb!fc#SyMAw=fEm?|DljQqeypx{dhS^eDkUNq_L zX`$78wdwWMyoDaiU>VFoj?#rU&d+lL;7#^^szTMe{w-6)6h z$M`s2ZdZ4#k}Tc}e-`n60rbZ@Z|Px8s9L#1rXm043JQRR*TI*skMB1{uxOSm$=58}|3|p$5AS*%!{%@Wld_`w>GkIAC_Em-Lc5Ls@$Or&x>qo4 zHMv732euA*(5xF|-g<-0b7%*K%D@WdAh95x@p|}NhL7+F!+&1@&j%YEA|Xg;;g5INLdSY0j)huG_f!pp&Rf+=Qv`h;{N9q|9mlV zKj`!5;Rjq_9Z}_5Pum=$EoWu3>(^fzEZB$FMZ=|j*qB}T^AW2Q8k;`q=1n%Elm{;Y zDsyU1l&TPC&xE3mhf7|uH9*gUbzG_$G0ZeCb04^p$74FR>x2U*RB6*+wVIeBUeg_K>vRa=Kl6ykzSKo zBs{Y78)Ug{HdvMd#<}uFz_!qO)G3VWe?JvX4^!TGKId2JlXEX=x4`ed-uTpwLP`nO zNxHolsN^sH<3F$Q2^jTNM=niRGz*m7;{W};ty%QKE_{E@|46t(mXLS=2I?!j?O-?H zO<;y>_dNW5Y1;hZ9@q#~*OpF4ZlC(jy_DS^|7ic#rXVAZY@ZAyL3g*%`)4So?Kk*y z?I5$iloZC|9lhQj&O25b^2gtg^%Z~xB;LiP^Y=fxYjX?V znphjZkRgQGPlnGTg>)Y3Q1|~vL$?MQT0GV(-2hH0r`4^&-h9mVtq5Yy&=IqJI+N>vjTUoC z{mt~Xoj5j30X z$E(4uxQ~hVMLG_^$O%6lTISZ1(lm9E92JcDx6WQN0(GXS0w>JqSA*v>-Dftk%Ij z^0*Sv(!*^C4w#C-BS^iQ){u*4qkvduyrjFHHxj_AbWi{69qj`lPWw*Zcx`z9{f{R` ztr-=555{m(+F>V&xqp^JXw z_IkD9&Lc=AP$Q&*WX)y_h*KU+lxjQU89q{ieFQuD9O;;i?cMor0*Gj2fYo;!P%tCN zkNye1)>n`!Hk_aANd~n^>zLxBj+q3UpmbsYkYEy0roj@R-a8PUQ0?IQ%v;7N9WvND zIoqI6{Kvfx7@kW@=H@9X9f<;dm_ zno#F-tcCup2_#YFRRW}DTJm7r2_eJD94Bbs1q|w&Fa}rpqt0zVNtjsiw+91hD+!bt zL6}L`4V}gWQXRo{BHDloXHZ*yEdeuII-enm?AkO;iF^bERDyua80grf!b`UM4V4vO z4HrNSqWxTO5eli)1sLbFq|jN2{jTJ{Bg$5;uc}e#)j3-+WEqqyn%*@CNs=@)m+n)? z8cYfC42L<+`JQGty{>8i=yXD2OTx^799Ox*yYs&$y;cw`v+dqqlq;V7A7&vY977PK zrwv-s$@_6?hk*iJ!WmR2LerNGDFn2Wy?_T;rZ>fIQy zWBpwa`>$FHA62SL{2HKvAOanz^L&rxPU^kK$8Lcykp!#(_7wMFa94FIl>x~yg!!M% zmNmb$W~(lA5z*Y_k0qIdFqo<`D@}AN0)}_aN^#A;2agp2ey6p^uYJJ+9>wFhYKK5g z_JCs@-Dn)z_8TC3%jf9Pb+$yscS#+m{>5=5t>2 z<33x6AdnW4yp8=y#ybswv+`GwF$QrPB-W2y#~g) zWAgxwNpW2m;_J9E_xuKn;u?gBuUm;XJ4{ua9(MrM3vqqc@zUcw=vQ)rpeZ-L3<{&R z&DqD_=HGKynt1ct$3=&XdjOKf2bD$wM;alEIE5NARo2fGPRZ_xHL*)&d{S0ix1Eyz z4M{?1v$RgdSc1iaDYTCv&8%_vz9SllKhMl`l`F{Y#O2l#wxj2!)88hPb3Y} z-$gFmg@i@M%Y98WCD<^t=~h-1dp^^MH^Dh?;vf^h7rK!G0K-(oG!{8Jj)3AqsA(m$ zu_J@0IV+IsCRk(8c;O~r zru8(fiTEc0=I(D94bth*JzZLnKPrEKpPCNEPnYzKX-?Dtso^dnD5nbPW?!HPh@rC- zfXkV|`^EZh*{bGSW}1Dz_zCAR1N&!AmTBvwPq9DyMuw=1Mw0UrAyQ)rf!JJuYyi!a z4gknSCP`5!B7_-!>g^xJ2eksFYGk>1hWH9j(}}ndsrODT?jJhJwl_v#L@Cp#?MuhR z+Umrbq!0#e`M^)Uo#{v-AQ#CrNYOtBgy~UHS%V=rmJ_UNAaX<%Vgw#st z&@M+VJ$$E^wXe$)DFp^Z5J|2VagzAFWlu@6p-H(Uv*?T;Tw1=MG%)ikNS0cdRUuKD@eC|8XcmR42*kP*sBxbN zy>By9*QzaHBdFCKW;-9%Nr@`|dug7}rpQjsR{aK7-@3j6LxREy=_y3)MT)EJQB|2W z&LOf7Fqa^Ie)-PRI8HN&RkcF0uf1$m!Rt9FewpU?IP9s5^70Z*a+HQ27!6Ner1dv} zzR&{0oj?!r(KL+`7sGyQYNl=}p}Tnkh2sdLfl}?^-K=nird)`ljJ~{nLe?@piuO&g zah_hfDfy#aelu1=+Q4~cvcp$KOwZ@ya6CnLM{jqm_1 z0e--+M$lxdxacPtz8?IdKJM7Wx@sPP6^p1rElDVayUg zuDCeK5>bK4Yv~Z+CyR!7l31*&oQZ2yR1TnFFE39P@A{IUcor$FWs>P~*2PtY(?&$# z_I0Cvxu(#1R=!Hz_YOm6sh4H|@>@()weI(eVR$nBep))a@s+eLBPGpzMBlsu1YG6c zRUmoHhruUI3dEz+Yr; z5m(sU5yh2e9UNgKXEekE^#U}3;o&!A&7$}Hgt}~rUM{ZQyu+e7kRWfyqX|m?sekW` z@22&1BY0f;9jzsY@gaD+ycBJ9!+u&y&pHumJ2X)b&&8fIpr9{^Eu^ve{9_`O9mE(e zXPAje_~-6J5?K)Qru+!l?VR6b>tug@A+GGS^v_+<0Y$dY4B`<;$n%@OJAzXh3XW<@tu3knTMiPql33g znBQgteIiJX_mw8_C*FF?$)85lG*CNv(yG?jw_d*n3<<{=e`v`IC?P`Zmu zwI{FZ_Zn4&Q%qH zFfM}6D<-@9m)8q~tcSdT((UB35%#7+2udF>vG6^|BgjRY{4-p)Zits_;G_5l>Fj_` zkO+xE#$rtSuj4Z=zDmJR*$*l@fWRX6Smv@WtmiM}^1hvL9{ zQEF11YR+>dJcbIAFxWvOvmbUOX^=(9J> zKT_$;_i8vIk%I*jRrSGLdSDV8O#SS4NYVD2G2~8g8=jwn6nQk}$0x{i@~OeL(SUAT zi^r_39!wP(M4KP3WW03MyAsNJ=nCkHeyS)WQFr+9_-(#97#H~kUBC-F$24EHCmk`8 zlApVn^y-|G^Lpuc`Y`Gmv(snQkW8gKbG0RN;d=}x z0XnG8jp2-9vUwFASP|Orc$0uLe+iWkjMGL0o6vp~SQ_;)^6kNU+2ycynK!oh1@PG# zfz5IcluaI_FYA7x#AR@TF}DOBooik^wpYiuZWa!kFYK@S{|1&$9oKAZf z$F_wJ3#{3k*FmI1b><_T+R<2bD=*#me`w6 zQ8F;yYG8RxT?az)0>L8=VoY%f;3xz)LF6Z?LPTuh#m6|%5j{U5!|HDz!|Z3^f2^sw zS^=c0P_+vKzVZiUa|G70UgsIo@C!iDDC7U#fyk##Q0`anMm=+K(Fcx$QBc!0u2@}S zDir5Dh5+aB2J^ziN;4HF*!#5R>2&JtDT}gZavcGRs$9?1+n)y-uj4q(AboFLqaC;; z=0Z%$eBxDmhwSb~ug8jF97s?oBzTdlHsX4Vd%6;oX+qy6e;nL(4vJD3DR&M5O^b)^ zY80*KBg%fcBL^(&_$k$If{u!}tek+|sw;^A5rIc3SJ$HvCQt{lxzOg-iqseEsK05$ z(^Gt^NrLC`Qefru&B>sm>(X3<^V1F!j*fY^gj5ULC&)vh9xxBtJ=`4`0^NKqX0dh2 zvecHXExJ$3)mb6n5r&iisujal&9ob~>gV`@cYfnj-x!N8?l5F%TM5un;843!o7W1( zkW4r{c>zQ)C2$W%q5OQ--LfYa3CAqjA=EhyP`j%DgmJzNFSrwc^ec&4yRiPUb+f=5(e{0Fs=F@>Y#2`Ly_fBL2#Jc1?oi7D=z^%i{kZ< z@4!$@hd@#gfibtHWW4nQR9r7E{G%Q}&?$8d`g+6Al3 zru?{{y}O=NtH{;|n;ev5DG}}&>2*ANv7^1YVd8WwUyrG}x^}$H@X_dHwOE4$9bflIh8zC%dTSa#dL=(oMRZ2#)r;9>_5C4*L-a(YP3@ z3v#*FV;aYRXH|O>hngC3C(+Y`bBGM`Q zsrecq`!^^2iGS6)H7mp~boT@mo7J}j#KRQ`9#F$)IO|C>F^njb8;9vmgZ3Gr^Ii0T zVMw?~+(r?P<9a$F4@4p)rdapZkop?pxgFiVhi_;uJng+ViH#C)H`H!+EWFdn2^-h) zJ|_6W16w6FMY+XRHGiuQ#k;G>RI0v7IFe+@%rs`3m4Pi$5JGm3w^Jxvz zAM}abfx1(-#wQ%XG0JAz-D(G+QAZLEgM460X&W_+sDlWB%K-%0D}Tzx(rn1hQf1T< z2M!QY^=qUaoX4nPc8DNqnLi&%<2Lf2m}^N zs)&wpzTL8jGrvHNuzfo=*r+$*+sH#Wze+4%&S`qpoS6pxB2s1hm0^h4Or1R9>cD-53yv5uQFv1UPs8P zrt5_r>;ZEud1{Y~IR~_FD{1G8%1=Z}E+*4n37*_{DoC5*QU(H97A{XoC}!L(+ns%O z-2HWEm<90NwTbW3sPPN~0rXzk&DQH4U2v0Nv#9d%z9y9EQDrKda1(D&`1y z)&>}3+032E5BgVy^j5#lRnRQ0R0nd|e;Fg61V_=zE3?k5q7}84!L1NM^^}bE+ZjYo z6NEfwKdq(P`8#MjFke7@jCUE2Up+J7L-1B1xv${LPrh4-$Z4h-bD?Llm(&&~Bm5!Y z=*(*O$A7W<;WS%jE8fiE*+96%8;O~`FzG?MyN}{7$>*ACuNMt@O5kyw@0!a!u8GEf`z(ci6MUmSzX1$1le2lV?o0Wf`qH5+)z zd13Fp5X^6toDdVJ`9A3kkr9+LW=Fts=HdasVKczp;O1R&T$^*GI3NiGl^|;SnYx&k zN9IN0_ilZMqynpw`$|fPwBPSWF|HI-vhRF(jpO`4`;($E+Oc* zaiZr)P=SauPobnUk3-fz#i1~F0;&U0p<3SQ$#b&u2MDZ#_z4IF>$zkJ(dm$f5zI`V z$gdejD%pciNaZ#RVTNoZ-(SS-$RXba$%tsj<=lw&Gol}|Q)tPpO+EkuLX*!r{eXzHz#=wA{wN~QS3#*n9LX?%>UbZZYWPj^Kx|AM zsn|HJ0Te)=aJf=>3DV6fD}jflc}q%5gjRiBO1MY71bCn;->?sVn%X0GQ-Ev-@{3RRNqxH;QFC!Ui8R=+_h5nJz2^t%}vat~} z{M!wT&@luLWPTV9_T(*Kt2ZR_1eNrGfDaGO@TEM)wUS&klEEkAZx1Y8F05jN&xVwd zdF6jdZfRjesYfkZ`z1uG`u(%fHKe^05k9VKKR2;}aI~Yq@vm>DgI<0LlMi>PwDS(Y zYSfVmq0v-ua3fN6QgQ9-%~4{99iLTPl+E=&IMtsgkkcLJMsVI-Ej@8r-giJ+69ID) zVjXg;1%sL8V{$@18(5yO^7RGqxr8LfybAo8ruBOP8;=T8Ir8h z;mob!mj682Qzpe#dugWjYKw~@0`@ESN;Wf~t7Wb2L}yeQld)cPX=-TSm(g-S zit0UU_GvhvQxg{vnX0dMn$3^g!9V$4J2uSz=Q%2=R~#j{aeAH0{P4YElLy~0lTR2} zjQzgyy*Kjvpqg8*6CF+^^2b-qG;#mlI%#e6;9>)=Z35NYRA1@dPk?cmFRLH2?!2FO*_t1Uff6aNH z@Pitywo6a|O0@}z4?;*$MeP{QB*N+NWiIMiZvY=`8T7vbNW1D0u9N& z`E{Gi&=-XeU|qzOsBk=BP}v4n`%pi1cslHgt*;m>P@t9j!qzTl5)?1KV8_6|K{t0M zJ^VG|@9}E)&9Gb}F^9%>`(`8Rg3&wi1}jyUc%JhJC}&!-cfj@#!{D27>E#*GX?K^R z#xBTT_(bOG^SuN2Y8=T7Gv0mDVjco`Up%&=J4~=+?H1t9gKT->Q<%ujQP>)fP09pW zJcgBmi_JYc_&wM)$l1&+aitj0pbOIy@yxUm60Rki+^_XC5|K+6_@Hg!M z65^d<0?+It?_^4{YL)KFrqY-aGFtAD%aH@{;;KQED zRgg-MM_|ABB4h)CB63kTy9W0Wv=H+Cf*6rt@TF&Q$VT$(K=m3Ym?2qrRet~DY)<+Y zu#>@jX@!WjF&LW?vB}X=>ab_hjDRM$1Q_a~Z`I$LL%wN_fw>Wq8smFN%vlHl#K6Qp zO}8jId5tYyLkJCQ3;~yD-6}M^BFZ`A8>7o~h;fm$?W@^0ZgLqrEnGmy>M!-Ki;2BDhmykaMff)k@J7gxry9|Amtl z2C>-ai9oKMIm+t~+IjoUXGffsA)uqLjUlYf{e%678KTfYrsURi_&pvl#}SrYP>rAL zHpYsVI)3th^}@mOSZLkCqdv}!zGEWB-=KDGf5x`ugFG<`k>wp)G8_axCWM+-{^Sb% zi*yg3vm7Gn!EC*}@9@qphPPhFQva>%-)SL!fRf|5$M)6`foR9a|GCC7-{6{O%XHXn ziO|-2Wgx8o$LMZYv*oL7 zjnA)clbI)gB3QAYl=Bs2HK~K49(WRz{DXuRt0h2|R9Zm4_a0d8<+C3lVImtCBVWB4 zBoMxTWu~#-W#+O9pVRAQP{AT(N!s@-fq#9jgdapj9M_fqOOpGax%PT2nCxFKTrTPi zu2?J7-9bDW9&Ggy#8WbaL~R~OcTwcI-}(NytB%41;G@|GsQJDk<~Kn2!X6e}q_GG2 zFK>`TklJ(XUtLK;Cz zkp^i5rMo*6knZkpOzeB^d%r*DC<1%$wdR_0jAuL%5=;AYt)P0JuM4@Zu=}`p|N7Wy z&s@YkO8j%rf+gdI`9bh_36*>LE`1wX>sQR(kZ}DT^gYx0?7^v8fRnJ>Eb1IlGDTY7 zo*YwicR!DhpeJxiFWO$$dwv1Y*ub9Q{q73)I}clxaC5WPFJTv-ywkNmUKG6#w|zQ6 zG?=>hJp>sjP~~4N4XjY&vjQC`JP*{uW+FFpNc87PIe;8Jh2&v`%=rzdchcUvbw^F| z_k-t(%oJXmH0{DDeE0S>9Q^xb;cWt~lntz5-!p(2EwRpWFw_c&X~NotHcJ>7=TS8X z@Lwe)XD~MJd~;qB`d5^=cUS8j%n=flMGgK~t%uPS#&SJ_J5Myg_FrD;ySLNL^O2g7 zpf%A0temY@OD0B`Or{ggwjORM9}EF^Fk73A1^KH5OeH#CWH|*ez`+RNy!^7L3;V;zgVRc6En6PG=12mJT_b>JUt9qH|K>qk!QC;}SSau2S zC0Q9;kmKc?G_ASBuG{n`lIPg>`zS2nln0J*oJaxcE#b=Z=N4Uwv-sCu!%l*7O~s1O zN?e)Z(cVHh$)kVL9$qa18D{5*3rZu0J#aTKIO;X-{btTCH=g) z?s9yrZ8};Z2)u;$eqi8R@E1WmFmX0^zA2~l(3Lj+mL|cgef50NESR%^ZVM|kPqHE| z2Mpf98#YNa1fEMB?F2(eG}8dPKquhyRA<}>EK*57u!iiJe;pUl`g)PxLeIJlegokj z|M2}=(1FYlg9H4uOxF5q%_=ry)F1R^2g|&|J_D^!ANlAm0iO*MGzsg#Vy0jPjq_0= z_8oX6<(Orz0I7?uR?!p$9@*5ZpK*;hM z_exLmlx3GL#1_4K_4)*+10mC+1!aBE1KYrmm8hPMBLZ{vP7^A6GWB&6fgcPPD(F) z4EuSPobmBD;dsfim{LSG{b+AxS{2xxWuCVoC<5eqH@FeI>01Ov2;C}{2nl=h z{doLwir+GYci6Ov-S}J703OYefj=+oZf$`kjc*ko*ch?3*i5ScmYi`Ba9I6i67B@5(L)cod}#j)&4HGAtoB2rI=>dfGn_g`A5&=Nfh-* zouAhL-h&n1?=|^v4)I~qhDmzZQBofrlZLP|C8KY^?}Eo84cUAntxr`(`$M2K z^?EWUUCa?1(rdo^-0LS6z^Ihn07jK&z-_vpmHI@xqSC_U2Tr&9y6$|iy3X*$2!Xlz zO{d(yKK}0A{O*nxT)EfPWuMtZ8>0?idgry}4)tYVw03}s+rV}*RnXY`w=x`hHzeIR z%>Bcz;>UyeN2%@3PeopBFZAaA=syDe_W=m=S2|(_97Il_u*d{_JnDXsC-^QA z7}Mht2*I2E$K}nB4fMxVjHJQU`CUI!Env`k*K3S&MLQw%Bbu;9nmrotOpgnB5d)^5 z)7fz1u|r^roDsx!+7W-5rsyXpW6sk zFYf4XC!y~Pg#bs9=K;K4mdUU%nu{jFWFU4I*uR4^3K56Jn!OVP%^WFdO$aD->7$3E z(YCE=08~Q5`dCSf&Tqyu6@u>YA2FbFozD;V=%40r-|x^3RjPD>_{d-Y9lD_~OoWFP z?M=Vn?meAg)()Cd6Q=s}d3;tD5lDgx-=xW0u;{xq)?ChMF?m#01?1GwKpXv5%cGA> za2Kv}33&`Rt}k)qe=B0X*A@?V*~W0ZqQE_1WlIhKpG^qv&%u^&geM zangs#J)r%&A^D9Jc$H!Gza2k7xzK=NC(NK-%R1>9e}x=*zH~rTe$4qQVEO{rApHMI?lcF`%#> zdeH_P4ZXhn9Dm@h(Sa8?I`6qRXFp{Dw?>fz>)eIMfFo8x)i~Z|4eC^VD7P{o5eUma zG>JZGUf7?m6G(YVz`y9$`Y;70A6FbFgzHvV6arhdI0w#LZLSN+OvMXQFl@;XzaX(R=A>8cWzD~PK8e}sh4QY}96I{gDwZO~`AY$ql5CuWR1&H2zSW7~f z8k&Y!Ak8F&eLBchgE%KG=4%t?>&ls6$SV&+toN|>31Q9;8{sPb(Tx0wvuVU)75oQM z3SIQSEi?g!+La!O^n3jmYnY#C_Fuaf9F4*YU@AvjD-n_UHwP<5#HsQBJW3_sAPx#G zv)3O#^M}~+XEF1)HjPCYo*7X`m&Na4YOVn!+d z^#J_0&-ENR2$N39M4JEHkAA(Qf8z|WroUfIO zSn1AToSxrD+Ru;o-!H^EP7v2Wa73+iHvWg(pYvDp0f+zmSigu=LucUrGI50d;VVM* z5_gpTe_RMBzDiiJGHKgA-A$j;Czs45++xmf8pxyd;IJT0-Cnv$NtCj;>YRCyR+H6TN8pq z8Y%=(7hJTnod*+7!K6tTX{I7SJJYp^*no1Yt*u2fNTbn;TZT_`;2NKLs0~v_CdG!4e*F~<6c48BP5PYYU91cRZ z)zCH4k1r!8qAk1}j@Z-#F<&m~`oc_lU$gN#$UvsRdX1*B@Zs)#bKXx9nfC%Y3m^7* z!TyRzD$|Q7 zDdjdX!=G=&7Sbz`C-#XWSBp2X81e{`ZdaJRE0{;IAjQ;ubch4vx)3Ni#noq1a2zA(BJMMjc$62FL!l4N4 zQSzXCKf?>V>Q-y7D>^2p&G;;{cmQsRE}p` zSfm^h&SAQcGc{YZR}~z1x?Gbfk4o=fYF`DX3xm(khz&bw$Xb$B`;lcK&m?^^OAN66 zgU9J4{-Gkk2~HhD5&XHh_bq@6#RDOrC)Y>e-Xf{ae z<3o%-QH8NHu$N#c(W~|T?g#OZ7sytm4aQ)49VxHD#qFU5IDp)R5uVGo?%Ia|r=Q)x z4QVRIJqBlJYa{=)NmGSj;eB7yes`P!$=iKE{{yC?5c;Lqp^hzF`*tF*{Tl?Tn5XyB zBm-o2Sr3TQX-r!%1beYRd3Qm zmT3M@0c@DNANIFHsU%BNO$ISXN!Yf&$aE|KLjm6%j->qT?AQTbUZ(OUCBw>Dink`v0)(WVS+7?#qEoA!3DcQ=&t0O~&U(O|1Vmj6 z2^nZRs5+OC#aTxW%3<3W-ySbVV7A~%bHA}(k;TGM?xy)$CU9CTgxR7k5O$vrh&}G) zvs$QXGZs@<0Ju-=icKmZeymeU|Q>5dW8#p~N<6q-|fJtyg`EQGdrPe?;2n)opvE0he_<#bCnsc~{R5D88QV+jQv=gEb^2pwg?UW?dIK82NA?+X> zWkH!@Tm5LTNpM)$EGB#gc*nk@vhfTL+5I0@N;^k~VTpRhQTXO>iFyq)m2;0l%vpK3a@oe9eVgooIHlH(#rLd*i;o9!aE% zzEOX*Xk}%q<)|HyT-Fj9A=V934dfd<{-AoD{Ba+xcXOIu50EHj=K8@#IAB+zcP&{s!I^&Z_O{8ld=IXqBEuWj2lJA-KSiZ2K<$ zcRvOOcIPzB>MlUBN3_fuYiJZ7(Ak;RlD{5Sl)VG=)^}3TPh9srlnqZ1N;l63i_)YG zmQe^6{3DsR7eDV_#MUmL0ZIU^uKHZIh5#cVQ@9oh-iYkfQH(oQfRYA=|%-_J$M zEODfu_0C<|316)^X(!KvY##NmE~$$an}cfVwYyT2>BAsLb^^P#3wps*+F-8}JHdAS zIWu#jy+hw^MyVC3+wz!3!z5>Y9Im5?K+P_i1_1-`NLo&s887N1414*)+yCvI_ixXL z#E4m9{}A^GBQyNNpGVqCnLnQVKdatbg4mdvP@u;kT0+owanD3-fTEN!zt1UdCCNuT zeDr+$>De?D*I8S#-S@F8hHC)<(2WKpJoK6=M*U4N99fApYqLw=cqg(g9J%u|Fx#40$KRAWO_Elqqfb?D-LJ7<@Bs9o;{ z6r@M=+;|>u;G|0NiNa~P3)46;i~5H+2C(wRVna4*n_2jZ`F(>l%3~D7NGAtETJ=xE z!OM!_p@3?+Eyq;bv5Jk*i&v66Lhj>>fLC2GpzCE({IZ-uDkYxozX+C~P@!>jJML^L zU-aq|>yO1@1uvgG3j-M<@2(zH?)k;6ajU*0ax?I!FjG=x%UASSW zsVuGL3FR4->nZ^8+$Pk4k$woTd8 zwrwL??VNJla9jyCXOcAbl{IU*k@^VAp4;`3B7CSsjP0}rgQ!!X%?qC3$W=(M>&6%+ zOXchBe?PTIdq*fnER+9x@56^f?Vm-HaKiLo2BX5Sv9AAsC!D3}A{DeqbzUFS25?J* zheHGA0_+%q(NF1GU6M%FW2Q+EEMY^qo1nXhQ7huN z>3P|0{hbpIV^ECRA}ir=Me^!?P{ODB*XaAygF+ab|_6cNb8?Qp55p1`ZLNvm(wkQv-VJhAEp>r zZgO_v-elkc%hgE2MX+Ti@Rs`c();owk4e8n7ceiNs=T12aql`tbJdCP_FI*L+_e#D zzf%M@bEgP!AYRtpkn$Xc5`&kc!FJsX$D3`!Q_JM)#$-B@*-sN}L9(sx;Cz>r-0;%= zj6)ZeK2b8mSW~kI%CrydvA`4$sg=wGtZG#DH7ZZK_0z?ScR;Fi6|m10nPOex;LEo( zE8j%vum){N<2j!pjnoC$H3gbGVu$Sg2YxpO5QG%}-30arL~)Zb66+X-m4=TWdmq6? z$=!kGd$MOTz^w_aH;A6NOjr%V*73JtHsc8hfiql|>I-A|;^m@|p)VEX*ZtJWOR$(K zSXm%FodHTiM86F#Ew>$J&)6Lpbm29k3-UZ>SvdIWjSZLcloz9paX~dbqD9|mD%Vu7 zG--Z_Qt7o_8g1u8-Of|}-yr?wTY9lddJD}nA)#VsPU2}F90OVM2sU~j=4Q`-cp|_k zvTSwXODBM&hiu#qb) z&wab*g+yFRKb%;e?8=~8PS-%3D6*8zPBu^BRKi|vdA zWvl8k9Y>HxEKQf_e4FfdJ`9y66voo$2XWvmRx`yG{;TBK?G6#fj8GF_w<)|mZC6H^J%(wDNYB~!&k-e(Fjw#|_>jYFJ}56tdfePsQHAWcX8 z#DFU=lWJi;DDs|GlW_!0X&k3~93cXn|ApRW;A(bc=r$|mg0H`eh03WbOcfiV9nFEm z87uXAGNbnUnN$6n%`voxLWWw!H}ksktxavgnz@I?a$B)>7F^l&CV-2caxI)Uu%-|$ z&bPvr@0cIeZFF(Ss`J+u|A#?RlTzeGoWm_;fPm{N<_c6F(yiDXenY_oS{T=)O20)U z-zgS29?jE7UvUo(XA4jwl6GAz5jnI4n22jz((xvfe}Dv>S$OrFm(Y^?8P{@u{f~mH z#~H2t<5j;nc_2=%lz#?8_k9mXUN=O{LMB_P@ve+JH$DKHLw$c5{e^$V-9G*pCssBdLo|SHI4TP&6V0`$7>Lt8-?)f^N z4Sg=qQ0RvkWIZgG>Y|AsMdF|9O(xe+YXU>$8u$CwiL=tT9M(=*4%!)(uolt~4FeN8 zCDb>-plZZmKA$0fQ6_B=HfNg#L-A@wS8$nZKg1;3EDFv1qwrF^&$t()YjkwuAV+nt zobJAu0V;ZuLT$j_P3;aXI;@V6IZ&b?A{nzgeg;DY~( zXK{k#fe`jy9*#FqiQhafI<$vEV-<8cx^e?U+A9tFZ&cQuml+5tyG(RSE=seaaC=?v zLugO{n=L3IdRz0RbKiCAEr4C{gAWRdDQf(ZcfiD!Dq=barf?YLO*mX1+3~YNFJRd4 z*hQ=)efY6Gw2!1M)r{#2bzFFHsQaUekc$O8i=PZLjKSN{Fd-gP2Pi= zXc@6wxIW*%#0Aq&G~|C+-o>DlEt&U58Wv28SHgE1D<2OcfZ-hv{N77TD&h3(T6F!< zJOR1wY@~uB>*q%Kr(Sku%@r^eWTX8z=zhC*#Uw&_UlY$?tz^Pw~%P$7^Dx_Iv&<7}|B z&Cb{2kop*S@LPR^5vz8cEc-36-@U}!{9H??(Uu}qbV0P^I_vvUZURdMe&a8L8VhNF zh<#Er=bnM+!_wi*wR*>G$ZSWXQrAbuvhn>EAm~iH`i?tHMp~^GhSz=vd~xPn9!Z|3 z&_PTi&5c@`3PA(cw|JeXb>dovhdX3Cx?i+G{*D$j&UGLaU?#8LUP%DW;q+q%^|=`b zhi zo9Lt(3x?SCs&H_5U0}_h1b+!cQ9x*G2(e)L*VQ-Bhy?^C5gxDn=*d&j{`PkDl2S1t z02$`#YdYWjJ(zN7QY2kho%VsZdRE7M!aVT1dL)8?3YnD03^1qH3)VdgC(pOdh5ADe z9(;=ev>_Nrjt9~+kn(116C5KZfly8`PG$j`|4wkfJ;v4z5>s2y+!_Eji2AozT4GH? zn9E3FSe4rXp28p6zoF3Z#%RHAR3sC`OF9Ks`6JNQlW>uMcf=#D?`+Z6>f=ALfSpjX zN!SH_bmZ5B0n$5|bb`}NhiE7&GFwLcYH3*WjFN-R-r%vD;m{v}vg}DGP&JGI2{B)S z#{r6(+nkaG=-}fEg{`cAeR0|V(XPa)MHO9yFD!;gQ3c|-FBa-9AM?K;Y;(lkI&J2` zV42qzb!`7Lhd{+9ar@@gtx6cqg9-e^OgL2kiy;k0HT4-U``Ocjzy5&sOPNw`ruL`G z8&-(@_oH~XNQB_6hW!V@UfMEjIlY~xp)8QL;rz7|kLezi5i(Ln`*d*LX)0eZ?9C10 zX)2FHf-9tk^E{N%$N@;b$&?ae^C7+u_|T;4^RsiVfmTXKF47G4O*|2ETB@(GFf&nj z1R(rlc9|OyJDcUToI}iaB%NKZWhB-C6K&FikwS@xl>9zKo`3tM9p5-F6~<+WOlxY` z^4yDR5pqhfK3}dV40M1y+YO|4uOmqdOnEvc01;-TY$2AdajHR~5(ExXa+k@`-HA%u zj0M>`o0TK!t+@VpqX~EVBz!G$=>gAhXB^X^HBgP_JYeaE+EYm-WHv9EI-hj*O=JS` zS;28L?*u3^imzgbX>SS6g!GLK+)z5tJ2QT%oI)K|N4}mAKli#a-SY|f9S5`?bB@PH zPde>6Xl%Y23p+E9-Xpw27Dbn8XJbk>vl5U>Sn@dT(X%*XXd-CCedurJKq+E1ia*N8 z&---ty)u^c(n?0U+lwzte@yA!^5~X6nZ2q#e+?9N8}paG5bLrZbIb>Kll8>z2oP2x zu6nMW6>=1l2c@0M8D5fS1SWbCBU{`hTQWHTy^V?db6_LmAWif{%U-I$cw?@7ZiH>n zV?BXg_DU$*qnc;LXBjB0A{W4C&EFy<#<<&I{}pzK)Q4rstIwQt(q{BwHDY~${2eyFKmRaM=pGEShJy9sSGUj;k`B;I=`*hAFy1= zV5jP@r_0V=4>w%tDSuNoTeXBFQQ*E0gWU(^r20$vnZ68{fw|SapFaC`Zq*aVXl8|G z+ybUdTopo)?y%NuP}{tU&SWP;DG5(1?)RSq7aM(V zrEAr)#6YBmz;&TlY+9{SO_SH={E-byKn3v3{0>0A2cv(C4Gh>!4JLADr3DfFKr)Fh zY;_r$#-x3C|EzL?sF#KDQFM&GSu)BfmWEdlWgQ>QUHwRj35{10s&D!*yfPlw1^Db0 zrJc--I$)dj)?8D>scB!ZZM}UL0>S2Q8bSQDlUxvIJNCJr zBWj&z?Bs1;zs<{45is8>6wca$Y1G7It6>(20v~D^1mw}Qm-IlrK?16e{LlyWh#qjV)@I;RVg($x-dX-3^$KQ_nq}$dvoj&!YZ2g zvjZFJAuBb~opbNO#Ee=_PplX8aTTm6-WT2;kM<9H#@Xtf#wHEJ8ATejq!oTmMC&IfPy-DUk2 zUkkG!`*gLpn^{5Q=73o&8iI0%hy0*n#k-Rj%{Mk;Dh2^V){Nz`8yh2u{bAlm7!}`y ziR1xnx9nQbD9VCLwAS}`+eth8MK=hVUKE92XIZ)}xY7x z5vBtp);qmsG;OmOqHa0oHEn$GV}|Km?TWkRR| zlOjdLS;T8*ua#VY%@6mwQl7+3u`9`K=@!fh-UVG)ob6W zxHIrhzJd{4-1Gk>HJgh2QT=zTTX5fM1BXkliNy3t zWJm}_r#yP3^Lb8+%f7o)i`)nUA^Rr$pmNlq?-$vR6S_g+-m}^t!8PGugIsj=ez6sr z_|dA$$};FygneBfICrrM`gI(G`{^MTh0~0=oo9EN2*KikXu_^EVe*r_;Vu9hThv3Z zJMTPyT4DaaF~5HQ?=OAl!wKOgHaQVk2_O8+rO{Erv-^$h(Y)iCtpc%t~5zpvbXzq`RWU-&|Fyr2ImXZrC1 z|B`w9T<=bN#PFG9ZltjNW!t?*JaGI!U-S>97L_TY$n|Io*8f;Ck=dB+|G_x<{)wM^ zz`m3-V2o%D73Z+m|B#aY_~5_jRb!`TVPm=r?NC!R>mr!CHc6|&n5->Mf)csSDlYqo zgQ3JWdKX0}<<9@_NM@=*41$Slp+izq%(r@2=JOPr)C;L(CSk0Yit6|A)^{G?&Sxl& zV_?cZyiGo4)CA}XC1>C!KVV2pYeXrIA2SCO=-`Dr$!eFVE)TWpllM4pXW zJ4a?w*5KHu2@t*N1CGWHlS7oSITr0`<5f2a9LH1;JPie*h(^^9+a6!5MAF7f&Df;~Giw zVKe>ZjVyg3a;JLvhgq+3Lk-02+|z4IOhsvwEErRol(J7W_=5a22rWcygw5jUJxG%Y zL2dvjM5Y<9)0aSe&VK*Q(%hm8AyZ0z6ZpFwRsxC1ci&#H!(uOXW2?NjI`9bDnt`Wr z7@1|m!ASw#@QG8~C9tcqV`lcK7xxKG0-g8-teA-uFdlz5`6N*HKc3_&D z)Ptp=3Tt($)_Q0|Klzs7Qem7#GFX2H(WbzA>kzxrJH)vIGz`>xPR{GYwzq&5?xuDH z{`cpaMjHG0pCA8w<5qH{0ne&7JSyNaeHrvv2FNFPEe)jtg2P;Nv!O*Gl9EH+H9e5e zHCGSXsCAm8n5!klS9e0i9|RusFJWESgu6S|5TkG3FuA{Q07MT9of)0=;oQh^`P!9c zsV+0RTF$5y;bJA>;4qrjY27<#G3}$An4H#RRn<<4ms;=UFZh6%JVLCype!!vN=q@6 zBzL%^-NElhbSAI~6lXH|!Q)b-9NVjd@1ct{)In%QH`p0F*C6lgg^1JO3&%!y(c-^v zCse*T!LJ2GGIWgp54qVuFjA*uzQzwgW6xGJDF9bob|`?giQyu_Ib)1&hBd57gV}-N zea-OJ$QKtslSr63pCM4w0d9a~I8zXPQg#WOZ4D|xpw7~BGZ&e8xr`-h>I^o*{#mu+xC|NKyAc!&p=0}~2W6jFSwJfhcx~JE1R>Ox? zhufQn1YgskTJ`cE8mW$JjsQR0YW=BWJ7nuq!iLjnUF{ZmU)6EC-p37wA9UVw5f=)wm+_)C}^}_Ix#oAZT+q7h^m}zfgXT}Qf=N>za9Nh zZ?FJU&AsW8!)(`It|M(;?#S!yryEBMyH`}zpFh<~3I^n@0ASi!tVm`vZajafk z;hzZ&&)XJ=_i}lo(NDcrr65#)vmS_s z7eV;id{`JfaWF3X!6r?`>IPShh(QVe=?K78$`W1P{Vqmx?AI(?G_3OliMF zoC7k<>A{p50Jt9jd%<`ns!w9+HZ283)Bu4$Z2=fkB^~t^PQO!#G)sI#tt1-| z&&){~Q8F_Gdl;poO}hG4-|hI}-pxcA&SfEf{_znw8E5)LxOWf+%7}@@I-n}CF>5pc z;86<1a5tgsfr*aPXxa)sbHBwN&De(t+}!ENyBW1J8$gVer7kBu714D_u4O?oWWAvB zZnf6f+G>$Pp&@DiC5$1;Jp)5WO=P|-Gzj6>?wcJ;ACv{a^>y~<^oN)?qjE7c-G}qcmBf6O;cw2`z4cZ*8>@Upvw->5w#6M9(c^UH+jG(poeEV5bgR${*eB z68YxvjgS1bCQ%#ntdK9&TauqJn3$ik67SHdNiBidlafTmyVlJTKdhUtFk)gNk6}(J zJuD?-YKVnWGqzJiRzk@6oP)qY#wBU+w)rsRSEp&xlufdvO1W}5Pk0k4T0*p_@B`_w zzJT}9W&4x^fg78j6ex?zy-tiA@-R=1d;&On1>+HN$3cWIV?Mp%Jo~s0(|>36q*PEq zfb_=~^K(KoT|oOftUBp}yO>lK@w}+ZgV~3-ZtPfDdvmG-B>_dF=pjyT3B@!KXYDU0 zm~SWv4J9=`_E1)#Oj{~et)r`W&m4UDy7{~?oY3ZMgsr>u8*iaODJma2npeUb#!ZRG z2neKkKMhw+%s2zB(2OGDYlK^JT+l-_+#|$uT-76Mu!K{v3slKpJ=nW9KAzk1YBaG3 zxm`im&>x>-*>QX3MoZtNEioylK>!TW1tPX0sz|XCf-2J@IyXn_i?+M+FP8eET-?QO zkD^4H?Pav}r1xcjcQ?knY=yCtFK~5Yet~I?owQmRJvw0_`1){yiv>iKRuA>> zGJdc@&6v+zH*g#c_wCKvCNDU2G8_=3|AHQNa=}zYKCE^|Zt@|)a3XN<7 zqw&K-mj^wyM5T*CGl|+C)>v!gwXtMw(~;SX0-=FZ7t!Bc_*?6CHiJT`_@WE+Gmw`S4X$1-zU}SW}V@_K1@avXV1Y6WpnXst&2^z zpro_hTYo*he)VHuiCw&|n)66D-5v8S)E?R;JI?0<%9D|j`kCavTuh^86 zo*O1eV@Go6nO8W}=?4inC1z9}ZcT|Ss}MLX2n6Q{@vL{h4!SqbII97f8p8;WYK^S`cC_r!c8F zO&+nB$ma2Ed~9$5Zb)3B2!Z!JKck|9fJl?hUgD)GnEqOrXSf}rkX8^EnyM^~FzU)k zs1N3`*?0t?QZHk4%nF)uq#%>Mh%|uFu2wvKWXBf$39*4eY?lHZl^eD(fM-4k)RP`~PB+Re6XCZaRPCLh%Gs9px^SXXuQPr} zdq!MsII*hSC*rkYW-93(F)ArqUH(LQkqq~!G#y?3x0ePE)4HEwij-!Hx=G5we%n|` z_QuVWXHhpZ;vH`&-RM+}x8ZOmOK`S*I z;g(k;R%&e3`{L^FJviScQ&!D$y`QOIv57+G(;~Ykzk`UVPpJd0Gf=YGFKLpsR~2|f zVyC4H+{#P4!FPP3D)rM!**^mZ>uJguvBmY1$B%jpFt6WQKId|5?R{WTh(YwAal5i* z?Vy`&xWG<%$Ne6#V=yukTk#mPTh6p)!s%b#AS?K4M8bm-Cq$bCsO0taEIVuE>3mRZ z&C;(?_~&C99Rsb;M2@yn^= zX_)ZODy`MAF*8IHMe;9`voPG?!|HyJsd#4e3Fojg-YK=l^pb*Jz;Cv!Kt7{IH*>c5 zVCo#qSv?=99Ht@TmlwtO$+6p^T5Ihl3-ilL+3RZin4cXx!4_kbuOBP!Cd!aa>{*ga z^N^{~R4Kp@mTuThCU|(Os#hbKJ-b(VI;m9}+d*|3R~Gr0Wi~p$T=XUR$oc9UE!wrg z{&m0t`|M#t(0-yjSNU)v$wrx#$BdUqtPElU%|A$sYvI5tx3lx3BG&c=bRg{aU%=^BmPu=lXFt5sLq;qLn4V(3JU-A+u zBf{SAHSyHIlQ`vO3h|1YT8@BE!YWT#eW68tX@-L5y>*euqs4kH(SG%><=Y?Z-en>3 z*NO&{MoB#?Z99&{lbx#!-z=-r{g!cAd|T<-^E#exMcs%LTg&${U?P)LOTpcraV&9T zxRoxFPY{Rw&VSrkKId`5j_a7cB2Iy`8W{r^>K(=Kz~w|VC7;G;&Vg+)WFpM&VlU>{ z#j3#Nut{DT1IoE)f|F(mb0$|*Rs|kGCrG7jbovtx6EKfe@7o|B&eN`z8B@c)o;P1$ z4}+nj7&IxzOjlXtAKTVi(GYeT+{bGZP+{{zT?!v&c`Q^|B7qR=w z`3=*Q@x9X`Xd{_{$>;-#6TY5U{9oGLT-O9CglJK=3~ zIEMI~XS)eq_1RM;K8PeyFZY5+M0A&#H4y1yDzwZ%D?HuuWWtTMUPth}7qW!>5S@(f zmMYvW{*-E+%t9LFD&0>}*w}Y)L#2=A(>Yzd9FuN$&~yANm3g=(XpSOC+u_sycpI?|;|hP-1U!)w7?JXKSg zTj91d?;SN2nN}O2zYshE;o1!AVT!IA4<$_msnh1%mcAd7xvqPoF-o-#%IDILSAFIp&0)brt%j z1v4(F#7uI5r4TJ75h(h_6tYu>)#v~5Hyvg!6+EVMo!k}1x7Yk*LQC9Ir6(1W=UJ`_ z+YjGzrG50(b+)4Yvxkz(sPqLrQS0#d@(%hvD)&#?zp4lv6wmVGmrz}A3M`X1_7Z(T zKC)V^x_!9y2Ky--kNc(NJj3YAitqP}4Mo#|}^q^vYL|-wHp0$6r zAWVArl0f85-1BoG99xUcBr;l;GAV;zb^0;9F7h9D=^BHY z*stAF%?20$O(*aJZOT}~Us&B+S^iMO9kJS8v~BL7E7In{Z1;uG`lLu<1lV$q0Rg;X zqUsP!;$DuFS(Uqw2wiBdHcywZ-kuMV+%~LcZ-b5QBHHLYH->K0 z{d`_NomX=t`|~7o7Tzb?N_csjdi!gsM>-k*-c7=_1Wq}gN-Xn~PT(}fac9{Y7i(B^CS`Uzo zDzq1N@Ed|gl~zB86DQ6A2>BV%xY+qp))mbty>km9)~A(506%O75`GxI{?`?v?)GHW zh@*Sv>{+VuhrS#o33{&J&bPmd_+q(9{yz<fLV24)9a?u04fiw6vRAh&^yk;xi+Hq82YYtPPF838 zJmm1NFEr`d8l>DA)s^Es25bD)2;K%u%&BS%;VT<{<%|)Onie5xUgj9mqx-S<80;P7 zvG(6x*7no`rT@7TMe;3SY`Q-wzHe*At_ zQ*UorC*GppDIV|)99w8!cs*8U;c-~2R+X;R1nQP`C7!~G;IOl8FAUr){P1T_TY0GM zZ!=fy>h;+mDG%p$+|DLfx)Agt${^=W1heB>b@PY9rT2@mR|*meQI?pSt&D1;=5VTy zy}o@tLJ3ujP!u+G@|lZIb^GQ6$tfkQt7Mw+cvp)*XDHzIH&CoFJIr~=cGHPoJ#wJ> z$XcplKD9z7$C2(spbQ~Dd1O*Oj?O0)ss>hV3REMED|{Zk;(U)`BSv&2-KSq~kt;Ud zW2Tn@Z7iW4_7w-qef#faeIf1!}N&&lVIPMkr~twb03QElH*9aj03>UXyzGo2X! zU5c&aEK6cz_6j=%)-&6WiIB)}*-z=Iib&XYHP1ua*HG`UoNfjNzu#u^jW2W)Oflt- zMp0ZV7Lj2gv70uH5Q$i;(QbnCEevkbxZ}=7|H8H%(JTJh155Xqa8G>p=)b@{CZzi| zj_*vxlfcYZto~B@p2N24)?Y~?> zdqc9rN0TdNzlQsfs$qxP*e7n0r@FSLEsN9}(=JX2xlFalNQeQiHU5KROY|xK3YLEa zUdwk@E|v3mRkJMINO!oofj`X&<9g|!sk2$>=Zw84VmHU-itgWL@@xj01XugoYORsO zr>OTOA{#nZ&`t_u7H*bZDSQ!^bT-9fL`47DN2+B?=4Z5B;u(owkE-_=`_QQFthZ0} zYBS{TY|TjE%B1>Q6uc^XroI#fHzs-i@qFmFZ62;Agrv4ixmAx5u61`=g#t|eZadG- zwg)!+hl6WU+b3y0+?C^VE+&4}#urk2Z%+8HjRo!Wk$16IWWHBd&fjowYcFOt1HEnJ z2003DKbvX@d`0W0XnptxvC3Cgug`0K166Wxh2kf6f^v@|q4^APL{`OF_n77mQ|xg$ zR;7=DPRVG!&a&`RtWq$>ap-`70|H)_2B$zWJm#NlH~iR^Nhv#}ut1^hu*&Cfzz$D} zoirPIA=sw6xifTuS15ne=Oxic{xCkO*rL}e2dM9&7JaAID?{y?su#=v{nr*feenPt{>_xzvv_aSt3JS?C%c#EQkm`w)NO3U z`E5s2*ld?4*S9mgm^Z_t`YKyQH`&!iVP)Are0HfC1}OAf;B;L-Q4#J(KWJy%ONuj5 zbzYNC-nv&aL~F@J)ZkQ(D()HoDIknjt+%5=C8vS$a5W55W!|?bw=pg!e?2NAq+FOJR9BccDbN?}Yb)=u)~* z9b;6&z5 ztBKFPIv-dRil2SYohq&8qW`{)YfA|dVw-v!itjg$e4~gXaOERZ@oqYTBMNp>i#M=v znvKF>HbR@$n-cc%L_ja;v}%x)W~DE+TjF^+ReSRX4EdA86sSfZSqbJ`F$7Bb*pZ^u zo9k0Xjv-c;fCM&9k$t_4T%{(KeOu6Jugry;GO?%KImPl{V0h9egNWZAYhtq>3&2$Ab_A?@sJFDfURN`zJbP4eh56g~? z0m<^#qT8ed?|P%peHk=MFHqT=M$A`ijV};?}NT)g2#X+C{#^WZ`5Maetn%15uKno@eDX1~dwH1nK0;iZi)K4VqR)pW>V z_R$TsUdW9lsV6&FLwb++aj~U~guL`BH!C?{au$W+B0)*olwqfjPF_y7KG3SPI(0bT zm00G1{kTj-)dbhts1}2m*(UGSn1uD)3Xv>Ht4d^p)*>0R@QzS$=fuZo4!2xeKHQ};8{7R-4W zC9>-G=3Xw+puXr9_-*OHS${2=DbGa13Eo)U)5dhiUn&p74KsRh=e~P#XS#MAs^d~c z4%U281P_f>Gf)w-D4yi z=3g!?)kD-+#8jI&YUlgI9`iuY;3Xb1tE3K`Y{^o3 z2)-fhak6Kf?txSD*zIJS+cw?ZeF1xPbVM5V*uNIP3b8$=YRAl3Dv475iKyTy;Us7m zAv(N7L;SqNvhGtsRNq^oH-`=IrQK{8_W8Z8BeZup8GnU-b9rBqy8$kK;}I8EU`PeX zEihPhR;vU|OgR`keqE6;##`}GV|2;k*t_DFU>q-#rQca{2JiSq1Lf_eVZ43?3V2aSAS69ynphLLGx1a!nwLkbN6uj zhnw&$mRbj2FC<|TmZT7<#goh<=zzUtgI8v)nWO*as4$iQbq2;Y6yIdUH)W{9U5Y zhxd2%l8q)Q+l9gc6E)7CAtdgvF4@{_c*^64e>|b}6sN=c?X5~RHvC}*pb#rF0J8;BT3Ga zlxJJRwxcC*`3u%+jglms$-Fpti|IAWPn(M5gzuNobdu6P+u%$UtkuphNf;CnWiXiS z1{ewpaVaMY(akVw?7bTMq8vKzJxzU;Lc}3h<}=TEA8-0J^QI+$0P_A-sn2fPUza*f ziLaHk3kdq zoc-V(xPM6K2EVK~O={AdlIT{MQF_hAQl4vitM>C7!?vAA3I$IaQ;(-knlY4SraCH& zaMjC)MHSpTQQ6ZycMrX7Rhm+6X6yU zisO*tr|H@qlb`18HIF68MUAH`-)oCHpM6ubix-wprxQ-l8|*Cc;dbg z-=5}I1IVSEI`+&N5rSf($?LSN($}`ahKa~GkYeTT&Wxg;{pZr04>xL$P zoSK0)UrL!)d=j4FKd0(&<-{gtwkjqZpNgL~;qc~`vN#%h%H2X!>zFrxL~`!<+Z$OV z3>9xm{BC+ifT2;7M%+J6M}j0?-FHi57rps;k>0aB?6^svPwowTMU` zzi57>y?pDafr{$v1~MNeImYqIVgf|vVxnJ4EOCw;-|Bb>k=|~er0B#WDfhI0HmMTjMoQuBdqw!9B`NwoB6iHIdrEV)L~uxsri)&F!nm>nb@9Wm zr+k-Ud*WJ+sJaeI&c5)mJNLzlYX!VzeUuzC&hC-axc`9s70J|nH?kG42`}^70BF}V z;=cq{b8F?RRhj8*9z5|#zho%#(ZQJ@@Gs*%A<%<6i+?XJ#HO7 z%QdJVW$3}#URf|4L{@))`;KwXT=@TM?AoKD%HufKV?9PHBeUC9IvvI%X3$EC5UbYE z7LoT<5|tv4WMXG#b@Y%&dt@X`b;2s;F~WLH+lj5UR!Lqx&;vDwj#npPzjwxrJ0qR_ zZ|;xXg!Bf5T{2G_q+vUn5s_5>&(Z&PTW*_!m)MA!(HZf$ws7xc+-IZ(~rGRWzVs`u2 zk6bY8ta#=rbD$(P#g^?k9-lSAdhtWzIar^f!}QJHKGyNThH;;%pjxlSGq`=l{e}*6 z9ijA9O@wimV^*TGyhhkc=Fz>e8=VkV_UG5cy!!OFuLhk`zMZfb? z_r6eC^@8IQD}N`B86=tT4PPm=L}gcU@{C+pn^@D3t{z)L-)G~Bq=D#hlei699fvKe zpM+%|x4d|1#p#!Fb)|t_44eWXSO%Bmv0hIP4!VS{YO8{pu>E2? z8m;4?DI(vOqM3jr75;Ri(e}5>MH5+Z3^+J6=L}`T8GwYAor~6V;To~0=H@-hm;<|r%*d^zNhk5Xv>l!=_p{t z&U|xS3>XR6pVH}W#R44=6YzN>n9UOR+95+f{#LyoaDM~KZ z|Azljp5J_)3o9aWV2@gF1e^yNSz0v-qOSr;S{l|jIL+pVAT%qUUL{Evhy$DwSd;*$ zZ8t9axvL@DrcRYt^0#p?pYEQIc z$&g)<>;)PKx+XY+7ll!M3PlXyuF~6XiY~;)Xw@o8nCsSz2*7J&2Q3izqqfWQZqJJ+ zH-GL*NgbyxBRA(hE^lipBT=2^$(3JAw{nvd75w_0DkVf+jg#T!pL|P-B^w%YXXh6h zKtTmhh(00OjY$5W5&rji2pBOoIG>X@r3SXpcihxxLyVr%{EEK<&OOkD%@8g8yDJOna9~i^DN#W@7af08)W}Qy})f7 zxQD@W=SiX0qhd8X$tGXN$``9=Q}hq43Tc5=10j!42Kw(4h6zb)#OzooT7D;|*g4uW zvt#svP_`f=s;VSoU@U1bV8m&FOV z(X+K7M4ALHiSAJ#>RcQZ!XPK#L(5;oYQv+LR=5Ou&6na64L6i3=#cF^HdHJMVum|% zMaXcVIjjno%g#e-eRX~;@%ks8HvNROw`NO23A#aC>fib?ZJ|6dM)j_tfXnIIKM zdB2&YIT>;I;Y$lztbY|6)_s1_I&-SnrBSqb?rQcI)?!jsDegVw>4F5rg2otvDvnxN zT|!hwf8<^hn?ytjJ5Y)Llp_xRA|oR+GZUX&SO`B9(R@cvrlZn2>2Sng1>BL@=HOy~ I%Z|$Y4~h0>(*OVf literal 0 HcmV?d00001 diff --git a/docs/images/inline-callstacks-flamegraph.png b/docs/images/inline-callstacks-flamegraph.png new file mode 100644 index 0000000000000000000000000000000000000000..cd80c4e9e69d11880e4e68fe0f19151e588a4dc5 GIT binary patch literal 118753 zcmb4rcU)6j);6FK1qH8ys7SFQML-ddj$M%^RR{qT0qIDG5Sk(a0ty1sQ92%UV)gA_hqYMx4+|==4oF_7SbKK>wUlRCC`|@Dn+08%xm}mLI z@nQH*Z3sTLFW?BSAG&Y^lzzDr8hh?7=+2#^ABN@j-x{X3nMX8DYCYs1*xC}u6#@Sw zMv~MHd)mKM8&%qWRGEQs|Ir3lCZ+9F?OPs=uKQBI9pv|8U<%T$qVqaEk*jWDM>EiF z181=r`YrG=t3B8Ue6F0#F-pIm>^*<@H1I)+p97_t#y%piav*?#>EIbH#tPpvTK4vD zfHxCf{!hl0_B$aMc<%50)X(4h^=Fq={MNr5+JAJhlHvTFf1Enn&Qik*U6#4`)la7C zj49ihA2L;a#uc_Ry*v7^Biz3wR(0?XWd{Fp z5oHEfW1r1;Jikt905iQi@$1d68Tobo@5g^$+W*xFe!tDsLstKoo4r>J_Kbu7<;>pD zVG0uS+tdtuPv2YOpX>bVPu1A*(bivY{{C##m+{`)zu)bBXW|+oQ?~QKzBHW7Z9n6G zyNus1=;YbouMB)?-Nf&YbASKhgqpt*w=%5rP(49X-^dzm)6)hwyl@))Z*(EJY?-P&kv-pBE@E{ivPC!o@HPo4!xA>kfa9 zOfTuS2>wx9REoJC^xF;dzrVl#~OI0@yPP}E93jnbWT4hNUgB{B2yp%TbiB7lK z_>^Gp_l97C{rn%L3q7aGE_As%U@1a4awe~pv9Al+ zu(!~l>u|>LIo?YnM*jTVnnsrp?6`U7}dY z`Nro&=DXc7gY&%^w`HLp^mDJO|6g0 zhELh=t=0vW;wh~){g@i?0fzQ66{*SW~w$l`%Ua{j-(%R^5p4GUs_rBy0{;In# zV_HnsEej{me~^bh=17!xRSYm^C?PmisxXx;2^ZvvH4jbkh}+(&PoZp`XCE>Lv7T_*5b2+YzqGl^{X&}PV^YYGl0Oo5 zcCgG{X{$SFWo63$ezJ>2?klTiauXJ;IV)r>yk& z_rbT5br$yHCg1S7Jq~46C8xWN45F?3Ym*2BJ88%?Qc$1LP%QercSRSjQxY$ki-XqG z)fui>sFB0L$fENR@?WC^9j^0N8bi4Ysa)r5wmCpi~AHx$JhYH-txC8w|*qt~pW#7+$+ld#B>|qys;kf)z>S+x> zlpa0oX4S_=9fi4L-6)mQC5zUd%b6@I*JrNK=eMQjsR>B5eG;L}<^Xl0pBK75tcky! zv~jIHt4+z{TfCHFeO<(v=Xl;y0@lselBH^GGjgD!>G=c=MxL$rk|oGFlnrlsFNfo4 zQ=yruFHqavR3N5{D@?piQ_AV__-^`Acdo_eQ2hd)k{rtQfOkL>7ix&5SFX)DKUBA3 z12$oM*z{ZzZs16tkv(6tmzAbrK1bu$RJm=f)ElIv!Ul-CS~0xZUTrYWVv z>z$x@XkRzVJphh+IURba!lzMKp>u^76;F^p++53d0A?p9-_?Yi^C@`L$j-gx8Yu-a zmjben4am#LGmdV&rZq}Bc(YrEcC}ODUl-_Kam4Q{RCWB|Jx8zmvqLtn78x#j8hUEN zHhB*B27DTUvjV>cF&gT`JP@>CC@lb?n zP9$|8$N{_Y89SEaGTTX=KhAD2762m0j!Y4XPZbgSmnWMn@w^q%E@8>vwgP?QBi-@K zDiW5hOCdulV=N+K2IZe>>+5lwQJLE>^yt43rfkF08-QhBQZ6NY~jKLbDUb#MRmg(YzKYpzz z>9j7ql;lPpoTM6*&2|}2(D~3Lhq8KJ=p2aTR=Y->l-@Ul5ViHG;CWn< z*L2_h*>bHRjTiGIw#lm>&#q{nB!;iM7oIeli?$(tCF8^NibM^{OIfY$`qor%yPpN- zE0nSM5NT4Em2Jtw%T+!cch4PiOfJ@Rf zS4KmE!p@AJzOk~ZO;mJpp1*n@_hn~aP$^!DHtbo%>Z8x^O|O!GEp}uP|E2(SVtAbqXD2AngjTJDal?>VLvFROD!;DNv z22gZoc-Xgmve_VW!-yzWZ137MW^Q6mY1zZUhPZSMjCq{!Mf;kjBjiErst9!URQO*d*^HA3AOsJKlC&2w$CKyC%b z4i_t(5OvykXDjRe!iI=*4UdnPwmEHWJ@M&~=mRk0T5ZUQBhkXnw}|6ILR~B&)MU(* zd+qZ5GRtjKl%>vPhtD_O*ls@AN!flwJ>c03czl$Fm{uHwx56yk53ub#_wd33&xe zN_n=c;6Ex;Lm-pOso&;%k81quI`HeWrpx&mR%aNx8v1u}OW8?XoRr|clLWEOcodWW z`t^S3ZkpJa;U7(k+YryBLG+NKcN$4?dpTk8i>A*`K%l6}^vu3K!Bi@lri5My3UitM zD$U{*M!>X{n=UOn2VFz)PrjfvsgA&PS&?UUzO_H@h%e5Ou)rg_!j6=FIKTTK&I*{TFFoAC>uLb}dG{}mo;E_K_*g@YosR{YK_4sLqm8E{( zlSv^@|85HZO9{I=5$GC%MxN{&ekdYyU5)}!*xBRRxEG{1f*v22 zPg1;Z{U?^(gJt}FRbzjQBL9zkWg3HIm}?lFm0N)Ie=I!z7E6m_C(NAPj?CanhKaOH z>*hQI>08n$#1d#5Z*0WS*6NBFG8;(4_9??Hxji;UJ&nNlMTaqP^rB6!2xc(SYa2vYNXJ53!jl*MP&`>=9(PDGR(E8}(S~c2I;{MzqjJOq-&| zxAHQ?*V57(+^gH-35pUY^O4t%F&#`7a(tj+Pb_IES?C|5c+Lq52psxy$z!k}|K?v6 z`d1<6m)rm1_+CAdMR!ex5UY{@f6+UH)m}9|Dxy0>c<~Q`pIUD zS~(nzJMtwwlt7BVtaaJ*=n7hT#C%%HflEcKf*KA_NLKsIRLwxdLtl}zT*3kj&8}R^ z=z84b4iw!+Gcz;dFrj>9bA`HUrhvGI&J|VmXo^8lM{;{aJzbsV6w_c4!H43l0vFze z3z{@DVy06l(H%_^5a0T6o)Q4>G{uUgBzYR1?^CBsA%=En8@{D@%=cKOlqSj$o*)HE zHdA>hj9LIvOHWIyT8hs;#Qjm&I&@a)1OUInPIqH=OnhFT@ax6VmyPA+9MlL0`5oUg zbp&Li%Jbkh(W6%NRRXnce0hkD;D26G|Tuq?&6%h4?ruqBG^=ga;BlsiA}RhQGRoL#yM z!+p6MiVYd79>5S?l6v6KazTE23r(>k6CrCrN9qrn>l0_RhRz-=bWLikxg-J8cyKVD zQ_NW8oBPLF2uKt2Q2jG(gDH#Geh>ed-{jBEbL8UOK z7~n)>vp&fhd1sJEQp%z;ZqrmOr%<(z=I6L6`6PRM{Ry#+dPvXWMAUqO*f8cema>z}>Z&L(%eMf1cDYvD+V}U%kFjUrs*3M8d$Fwy}wYV!5%B=XH zBb4Za5Vs9;NS;!k7JU82#sv&Y7az|$!K?H#M2;$D(}!{&nCrQwsObJw z%6`YFxF1=z#0FjcJ}siCIII$V`DuiblZn*uhs-~e`Gxm?eU*JExs~Pd;I9zbfAqm^ zzpnoy>F+^V{`b}lYZM|5(Wl*(z?9yFjh)LzA|Jw$tq#NGcja*7F{B|yVJTsKgcKsu zC|&cc@MC$eqice}H;cKY?ONNf2W2g=L_DFUV`Kn~QsnY%EU_a@HCAk4E3cRobOKpvj#ZYzcURh+ViDT77y@5w3tHb*I-@~RHSrqpP57DdkO(Ep zNepfG%^&C9<3Q#7b97#>uT#xQu{h@23xKfsj|A;+dpz~&ujKvr@!!;3r*P$5#_oZE z78IS$rA6A#DLfjG5GK>?SWbu>Mck+@Jdz*{1~?VbYh3a%$;iiwOTS_?A`sw{!2l;h z@(=>K%Di^~l)Y{i?zT}@xiv){tPz;+YyAQ$G=^rTZt>@DbrDLH3{|pm;Vg*0G{U`VR@6yh?`e;5#a}Rpk^%oC-hI|OqW^!YtW>I6t zzAcv-xirAp9~^0#n?oo6US?9Hb%c=8?4zCHpapKIzR9E1^zQkL09|?iJtj=T_w&m zdtt5Y_j_W7lQ!pf0;{dp59>DMGnRx1r3EwLzPy)hv>vWxmCt&s zKg5*0gvIqM9$w8c`Jlgp_6Q~qqMJBThDB2EN65<`5-gLUwV?i3G57Q%6nYMfI+j4) zNe~;Ljrcr`P;f!9ri($aE)(W)vc_99Eq9^W*Xp6UWTFO1I#Z04elnF0*+SEee*L$m`(DTI{D0o)e=Cl=tj|dY*#YgBkCn?HC=^vZ z!X@Hz6Miw23u8v=E(w{8C}i4Lj??qrnTPwhb&+XheiM$t>+2rwC;3uFfdRlBO25^; zOPOHO>Ti#qhk;k76+_T+_1rI(4Hj|a!C1thp1*!-Ipbo=Waa_4%P|;U!I>Y4^Cchyp zxY`+e*RHwUgsV%r)SPrzbn3e9s6NfLgYGwUFYg|7EBngpJ9U@zas}cx9LN&|(t!5C zTLZ~r1#~{2PG0XV1DoMYxNF7gX)xL=4AL=vqOV?~QWfij-bBzn?Vh`!cCy2|k=pdr zzSgeSy4=w;-4VvtbV9WB4KPT}q#YZou+;o$3d8|V?&Rzno;!R=Jr4Qpf>mv!Zl?d7j+|Y6(q#UjxIj5&pH~Ee_Mguxn)l;sMvfjm{+Z*R2idVQ(qW;Nv`IC48 zJ8|L#qwK#JUBG91s@Okall2Fq`OKO@U?E4>`Pbj2e5-E}Qc4FM*EgCc(2=M?9cAZx z$dPjM(6EFXwL6C87h0O!=7+3UJ|@Z9y&(@53AAj=WvreU zbjAX-j%FmFmSi8#ZqWJS&iQz;F5g6R7IBkGpW8J9qhoKvxQQEwqO#(LKbQ&UbN=U)yzc^)IE*~ygHfZwR~6AcOA=1VZ?*bZDU97n^1zrg&wsw!uQ~f0)+$RK zI;xzcmVZ6;A6f4dBl2H4Dg)#HLK%RP#Ba$8T%st29skcBjQ`L%Wu@P6(;kBQpS@%6 zvjB!fi`{GB|2v=VrCr{Tu9{z3z}}bnbr}Kk>+k#g^VQ!Y`N#1pM!>pdfAW4MmLcu` zXCQxLIc5GP(81JJC#}=1nR&0gn#as0l`;m;qn>r|CIcK>W9pnTdpRI}2^ z(-t~iXwFKOaWPWSuWjDmq+fze-_Itkq9`H9n`hKXm?0)!HG5-q=7XiSP()rVIDB`9?vNnsnoAxklfbyd`J8*7 zTLsXVd7}FWI_3)4FzsGg;f0(l=rUJQug(G@N=!Zeg$j*r#=%qms?QXI^Ils>L)G58 zT&!?k+>ZL$B_hsz?Hcnc{a z$P?4sZw?pWp|q)-msyhi%~<)(nKZYiE12{i@61-49Z`eAnm6ox_9njDXx1G_g|}zs zpbGg5!5-I=?C~S`xvrLwhThd!j#Vzvb1@bqa1_s0Z-&F%~WH<`1>N*4;K>&tD>fmY@265x7A3D{?gS zGR!gVJJ8=EJz^{8HlN?6p+p3!E3LNQ?j`>SMc57$+TR_4Be6n{^vUx5mLGNdG*T3a zh8TOhZ*Pu-4op zbPA34o+_#(S;JmrW-( z?KPWZ_LVGO_CSX@+9eb-bTT>l_0*n{Xha4V+&=!^80FK~Q z$kWbJcN^KJ5u``F&DKbL7{HqDpHA^bT34tLFb)_=o8JCj1UN066la-Suryu|Zi$yn zOKyV)3YN_SVwfk=q;ltd`%IZtpbIh2vMrf9XoE5UbY;Zd&=Z-db35B~96M;{lrONJ zxiQDJ;$ct9oHC%(op}#H|90aIIZUgpzee%*#{Z`*4h*HxfSX$h3yu!*Ong=Ygofqz7hOu-iKCqu2a~?B)+9M_tSH0?Fc5maE#MXu z^;dW33k2ZyAjwCV4n7Bp%5TMP?=Jr5>iCb_Y2aZRIHsHgc(W`aC#o}IjdLO0I=MQ6 zxcS1SAsIy7{I%c&fIOF`T8oLh0s$}Ox%@mq0a{`=PmpYNXf$n;^{4 z0H(WGqIX6w5CAy|k~T3o_4=`ga6ZzGS$#Nq#CMli+~~6IIf?gySIX+)tbKu?lRcba zM<^*<3S>EVZ7x=iHTk+#BuT^COfSVXf{1g+>A8>r;ctkg&v1+&;UbV`+g)$svr&65 zg4b@4bVCK5eb*XHQ=dJ(Cg(J7d|S?);&K28*R>Fl&RXsS%4d~fN!jp-2>r+1>2B9e zrkdlTeh7^|7E={DBW~)~%g~!rSWrulx(Ls7KAkey=dtD^0Kdb?RHidZU#OJE-!3bryKw(o z)ch|#yvf0>LesRCO>+cdShK!+Gs! z`RPRGp$$%9JwOchB%}NGGE(L;*a6=YFKJ^z8*+{ydaty&RfD+tL&Yjy2!h&$)>nRn zij_#&4VKzaO2^r7GhagITjdt6qa21|9Itce^1E9rR3M4<8(1cpV}_hUaq9l*xmly5 z)5*|Q(elMx?z_nf&_N&#+abUhDY16FwU5SLvlsgoxQsn+22sa?_^{(Zfx?N3;4d(vj-7h5e$o(wfXOu5+pA<tNPK`^aoa*Xifb8)eUx%E)?_c_FpZR+pV|1($xn&sN} z{g(Im#SU(jIHrZAlyt^y;Us&;jA>OIxXtA6QdU#BnhKM;na-bYrC3buR1C{}xBiy7 z@8(3u8=Tp6g(lHT>0*TQJGUd|K^lH?mPY*Gy}W1&O3m!KC{|^7Gr40~;BDSn*X|JAAD(LpwqX;HX^yxJq!jpb9R%mCcUR^^! zDR`FYBjoX9d}FDek4(mlsJoGFzB(`DC}i|4-9Et)<3K(pMQ^R z)wGb+(=rw;A2EEoy-7kzE5yDz!W}=TIU-40JtN7*DUKq2i)xg-)FO$_u}qc8>v4gu z&6&?0G4|bF>r-=HD;*Cn3gYv*;lc__RbI$XZaO58XzI1gp^Ts(;g)LVg{?kbQJg=D zeS4Ux?2dAEm&zP+XOf}CeXmz?kB?2b`F{mE5{kydF|6mbRFf5- zK+Dr@^O`Vs2vH?E%JchTq_zeonalV&JI3BDS|xUgSlT6#8USMXq~$fI#r%7QtNS5K#nUB2x$8wr?2OmH^mIRK6L!n8vb2? zI_KqF&J0e5+#aN>{g0a9%u#EQy)}9m2&+y|nvilY*xXR~2pk!y*Vv0El-R*_J^c zM3}U%uuk@SJzcmVIyVVQDLcX2jJGGsLV+3#F)gCxjG7Es_pF}1{ialkQyIY-OT2kW ziscfor1eLf)8c5g=-W~Nab$Al{KP>!!_b8?y!T{AIy+;wre}t>y3E}mQP}2p0nv3s zcr1K(u4ofk=KTF)Y$;8Ju?gw)<6hg7DD!RkUs?d4V>>fPaeUceH}lbMX0gjU3*P}? zb`15lA}SQAuUX907Rn)bEH|5G#OxI-X~~&ROuNrc`+T5<5d>*Vkk-(BaBxD15r1A~ z&gJv1z@eb4>aw#Jcq0D{t;J|%@2@@tp31fi1v>kd@6)8TMuI|%;ktF6f#gY<@2d3I zHTNEI30h-Pd~YVR$|{L2(pcJx7hb4HHbp<`ZXnD3XCCT!8FWHq&^AG8;Uy+f78+(Z zP|`QKT`ZIKja{#DQkh%U%`@hRP0j0FEjyd;3C^74=?hF{ke{j6^dabV21uvW@u~jB z3}px+06Je#kCh$1=ihGZx4gbIj(>)+UTOGnUd_K<-{|GtY@<`4=feP8XdGM|`vx>r zrSV&W65hnNB}vrt2>D4n$q$Eo4doJZb7gZ|0ZMOKk1yv$ZtCo(PoFfS49%bT6NNMv z-BgTOjIKP%Pt7e$=N}Cf#WqZGzN1|8Z=sS2NwI@HDn$P;?R7t zT2m?yVQRyhfux|GWPm!RCP`WYGgD;kJQm0m&(%&wd%ncj1I>LVzGW~&Zn6AD$SsuKG}6oP#+A=C?GMkjafXvNVL#HhLwmG4^};3}NJ(j9B8rmEw86!11k=l?Ex!8;Eo#m_vsO zH7m(2p6#zhx2|qFIO0o4d&OL~+K_sa+MUm5OQJyR6Yrl8v$yOL*6x7I&Re5-vHb~?%3*yBT!``pmLu;(<7ws^Mi zK|)PUO{ppQ)uGo%Y+85L$JyPpb+gjeOyE4i{hmKN7kY&BrM=UlVr;h9N+ zG;PKb6>H)6dLH+or-rj&nhRG};gX(elAODJb}vAA?6gK>cMPu@-mG{OBT}$NdR4iq ze^IPoHXhz;DU~zwp-}gQvbuCLt2}f+ zrg1GI%r3U@AQTatHD=E``JScr5INfozT7z^8Fj(4y5oaz1$4n^ye=%No5oh|PD%0I zSqh1qM=x(Bxew1a?p05@rJCaqMep%2UBDWm1A*J~?Wxvl+4~DNmJP^hjo@k~P-IfX zp{;U#IDis#i(eEvcd)Qbv@Hw@LGqpycRg&>!KiPr=!q?+nKkords3-B%1Q zkbRz~+ppVEYwHQPs7r$tRc%j%PtHuSR-N; zNu=A(F58trHN4|{bOrFPUDmeaQwl(5iaH_XJ&^0&eYPSxUZrR46xStbv{_6eVI}gW zMGhvL6hUr~{e9}=dTUEUc(MM`h!F?Tbtr)fo1OgvUm2O>DS=rI+Tj{)mtQN}+Vf;! zRO~!7kz6`?eotYY=dKCn>%irNKS?_c0X*V*QiKQ!f-AAoZT~X6RqH*mc1lK1JZG*i z`|)jD_QUOt;6>9HJi@vt;O+Aqog6Ksi2PeI!2KD#fE4lu)TjPEJk8^fR%L})O-k1N zq^l3-2l!4~W|bBCGs7*AWeSWs@R{@Tw|#l&x%@eR0c+qy9^L10)hR4t;kaySoL|Zl zunW+I>8W?p_oIl{OjGhiUV-Az8(KkDl-tCd%x3_GGR)DC^ua-jKdw7MhSS z1Y2yC+-OvPVZT#=pWc0%;#+a&DOFbXFM6ZJk(&<}i#Z-J3sy}6U`iRu`Ki(=uvTFI zj^26kfb*fuui~44I1qCy>(Ahhzg{pc>sFF*TDpL3O@pnQWk=8;{jGxI*j?(aEKxV- zs7z|ZUAy_RR!H7m;_(2^b0v}yB9J;NL-cv;_-J8+PA|0G z^xUwcy&1GzO-`To(fa$oavNqJibpvF3jJaS#qA8$QD2axs4jqfvwX7`&9U>SzjB1b z1KD-)JQI$jkC>t$b{ZdKvm;INreLQ3_tyf#&mQ{=4nOyxV5UgR)fg{b%D5Ff< zY_A3NB*@0atR!9`?M&xy_mD;uSvHMRq?RS z7qP>N#;&(qQ8?ca)^e(ldzn>U58l*|{NV5wY;j|N;!!t*Hs-|aKApcNw;TD?O?{eg zKA`ChA-LthVCcfOHMHxXHLrrq=9l#G%zI+)(vOC=3Ou56e8UF4EwAj85Bao>|>S;Jt3rjTK?MX z*Hl@(vd&(+m(_3jH}&}Y4rl@`m30aq0pYm}FJ)W-sA_I=Ia&AAhC_Njz^QYa-I02O zWFig&fs)agx(*5ZeLkbo89KX>O$}vxqS9PPfFCiqs*bf$chq)N9OC=z*%#C;?`dE! z=&|X60ZN-d^cWA5vTRLsL7y_1eJ9cC=%4>6R@61i2f(G6K9(OUvYPy#sfGH+aC2ze z<4GCOj1}!0f@@G9ms0^0ItVZ{dqYmh%H14*Q3^sLDNdm4mD^N8Cj0)GI9JNhK(g1I zAe}bi+eN&m!kMKS_bftw`7Oj}V={9`=q{`MaGAuq8va>rh@hl7%LN4h%U>B}KDwIh z#b+@C=#3$EFF-3``?A_302fTFneixkmj*Ix;i7DhHk@VJJiP;mcL|C{Uqoj~NdejD zYYNp}$Ik8vy~p^^nx5FGBy4>1vCq*)me;<1A0Pv2QS8q}^B9zS%)Gm{@$4DGlXyH2 zI%;{02l}wOOFE^mJLJUW8O}1;9whKqxeeFP2$Ac(C#*d}C=ZOjtn(!3b2>IQ*$tbd znWL4h>dLtY&NKb28Fwx4*$SAZOk9jklF-t(OOIKuJ>csd5vsH(xY=dhTim3f^vz{q z(I%9+?xlvQ{1{voZjaj(NGLDI7BEg0+4L>3A(SinH5D&inla{=GRanrW7-I)zk0QL zMMztVK1*&A?8!~oj8uB5iZ#wr?Re%!0C9cN>j)2iI9LG`$iF30pcG;bwVV8gTKMT8 z4iN+{(dow@y{pY3Q;1s%u5O$9n!RfsohiN!CF;^)MFy1@j_4)R=?83_TQ1YL+teP4 za?7~}LRKmtQrmpNQ6Dwp3mQf7uv?Km*_;fpS@JmKsH?~1taEQaB4X>L;jGs*a`elc zG1rd~Bfh5SX~kE&h0I=UB|W6b1800U$>*S}8K!4akcTv;6Ag!XtVKTfHyWBlXG%wN zht*o&@^WX6F0@LA7lC~3+{hl>VQ5mzxQP9NzmM>Y!Su+wOGV4phF?a&SI&0tNyu?> zS_P|GeQs8|S48>8>oJdoA?|q3@*})!5xK7;nE+$PBYur%*&UcgvRpu=KHawJi{^WL zV^gfKwXX01F3-)El+&Dnk?!8M2ra$BJDnpEZ-hPsA8o(~G5g5H2bx`eB7Wm#iM`rp zAphVMz}BUN0L0}7b(ZKsThx>9bv0I=+~ePd8#gl2Q^!7iTHU>-che!(*emDAnH%lJ zKU|4eS29rS+#k|fa?`7xp(n%CHX3wpyhL9`*-vb|J3~?wtK2G7019HJsRihV(A&*; z8)U)8%Cu#=AciGhbbXsPf|dXs7E05757)_g#8iM%dXiU52d8WheMKLwwZ2%dHsA zsGpQh08NFug@i<%5xDggQnG0-oTogHkYp=Eki+oe?@)jQz6kXo7(8bn2tE?5+c~olL=zwHZszkk#AC9|mc4ADO zx8~Aqn9S9FE`@}MO!bm_pY`DrC@_g)d|9eeQeo-|80}d^luoUL$=c-#_e~KW9yb~Y zuWA#Oz4Wgx)O$Oo>+k+H1>f83e-max+4QQGiN0b|@xDVa__Q6AymN~okhTy*yk;04!R@+H*yoF1(9BA%MBtdn*6;cMJ; zfv(Rd_swFry}FpDe)%oVKB=>phFGzi$-06tj}oGEe>8yGP0sO%qSR9SQfxo^BB!mW zgioSU=E~eQPZl0<4n(1L0Y7lzAeT?LMS8PH*L_ys#D;_izdhNK65s%j!uNa`f zx*K~&`huPnnZ00{*TKQ{E}EQxOpbkLUDbJS=izC%p#Tjyu3)&B$)wErK2FPPGFo3m z>RAT-BSqS6{)u)w7!aC?)?Zn)V1NyvdNWt02QIKXov3Xsj9BWO0$Mz2QkkM#*Q z=+=W+INB+x+JIszcmv2I71Xb+Vx`J+fOOS@#LfvNTs6CgC7?`{)MYtU&;jw7ih09RXNS2qGw_VOtEKPN9 zV@>Z}pAg=iKnvakRBV8Y!S8!nn!wg{n{xR0AM^c1#Ghl7J8lKe|9F%2#$H0Hu`TS8 zbRLFXK%>y$QS4w$lH3)kOLag4el?`Xf}qEJV_IMjw)WZ*tryf1XByFEGc{g=2DTO6 zddNG6Voma$GPYOSv;YQVs+w;);=YsnFJ$bo|XM`SHP5YB7h}kN!f_-7-)r4dE2V-rJ>%&4y00oCg~759r6`a!@tS-PZ~B$~HAhy0P3an#KH4 zX)ZghSOTTy?g%^{uL=(a%qT)mR&uUw$wjfnAy%OXxAUN|+#zoGvcZRE`zllWatD7J z(ER##!)^q-DNruy23jZW-VyCZN}fScGdR$Yv3poDD}{IKLYQ9J4$$9VRG^pT7I&sZ zP#>8{`oQ$L%aHiQzY;L$D!_3=5RQJ;PvU3uCA+ML0T;P=YhwjBK0oxL#}=e!Q_*O+ zP!AX?NffZq%r+nvy0&ThuNq#JLxhH&IN~GmeV$GQbrbAc>n(Me{$4xNDtE2D;wZ9Tey zSR5Ka7$J%*+SvFkXzVi!RR1}O#=SW#>oI9*X)9~I+yMkuQnrOyl37MyhVLQSh)$DhK z#UYG8ghC0pJ}7|9nV{|L7&<|MkB{@juM^E`|4SCqfhXmIrda^kD0$to>#O zd-@}s`(DK6tS*F*KaL{R4D^-StAzw=(VT=xL*N z(X-0Jw`};5sWr9WP-i&yOHNT=e~cXzVq8re&KOFCpcw+mgwURD z9H(VXI|<-Hxuj%2HT|nE#}RDvAY5*#)8yV`d>N03z#}J0JL_pSnSiNhpOVDg#xGe^ zxw}Jft!6E8V~*>;TngJ-U&@57PqI+)YrWu>A|Oylv!uR~?ljfc)eWAqOnl0+sHa&l zcip=Cfn2P-62dW0H=)PJV-W}ccv}ikQHx|<=RO6z2iS6wHR^=O!2{6j3jN2z9>QYm z@9nF4Ho&_{CH0EZ%iX3|^LHQ*S4)sI?Ff+vOHwO?(XQeokMqN<8h5Eq*mEy2~|* zO){%k;OzV3drzzYKKS`(le3Ba;LSgKo|Su9FSnNhkNJrnyy0tG(SBryQ2yQc49}LQ zxX!0rnJQ26^O2!>C3ZA>eVshVrx?^p>TWTq1hm`Pm~_y#c&;!YDcWs663(&iJEL4c z@7kF-Kz$w*{<(W4Gx-WBs3VAY~Br4ql_w3KD(=5z7N z0zNU)_}N28jQuxJD1~S;{{vh%kYiVg!EzlIcc`5-4J*b7_w66A_t`K@gS_mkx$w~3 zx|)=*Y&^)r<*-JIL0`*YE&K9a;+3AW@5o6O9eZy>PePGpr5s;{0oqM}W^ry;P2H)@ zp<6UjXeORHQDG*JqEzi`e4*5O|1&XW~Fu2hTM^y}>f11Rw;;;bs`{8G1 z_3(DX<(|btf(J|^PG0@mgW{n+>P?GK9E=ux0bsisF;j2vWsN(fp<4Zyj~Zp^p^Oob z$n?~9Kybe(xWe|#>{W4sv;#GybI8UVqB}>xpze~Ufm&w7pS!73@a(Q`i_7L3@PGaQ z$_Pf^1SV;~y}?wuP76rkJd==jiv@9oyUAH3D`}=wK{{7SAINj&I zU-xTVuj_SP&+GX-aqZ^v!n9s%rcs2^!vwLoNv-hLuRF+#U8ZQ`*rmAaK9b31*4Qje zC3#{(UWGWeO>@87GLQB0@fM0TdApTtj?biDLS1ilrMq3R^{I(&-r^|N?9$^M2VcfQ zK3yixdcI?oV7Tq@(j9kMVf={_p*(8&gR(u4-g4tq#!7KgH}$ExZC^3oZW+%>?X#7H zq8}BCUAYoC>jpyz2&_V_FQ7-IpVt*c)Jr*m&<^7);}W;&+ZLD&{4fXV^Jh zLP)CqJaov5UFw>6y_3xZ!3p7gk2U1GgwFZZ}n<6>lgip5CfEhP$==Mu23A zq)6uK?a5L{*ZS_Sw`V@u=eM2*Jid;ygc*_d6((E~>wOia1TRlODwy0zl?h9$PPJXG zOP6DlNjmeiu(vBB!LW#knOX9D{>U>@w+gb8`evie-mh7S^MfXo6VvKn0S_g%|4LkedRh!k+euO1hw+h+ z7EjY}1B#%y(JaVxS6)yzsQ_4%4<@zF$nqt5aGd?fIDa$5U0RgP+sL$!GOLEG7?`S~ zn;z4LzqkOXtyrV3Px@qi0Ju6LylWcbks}b=Fkxyne8007{Vv;4L^t==h_J`WCThE- z7h!00`g2OIdM`?d$mjsT&G5k6Ah8L?+E=JPnRx3t?n3|MvQ89h8up#YQ~AQNiyW|XU@ zvgqDzE*6h_UCW}BU@pJBjkKeFkq3^2=4DT51N+y@xLG;j}`MRw&Q>`(2BwpG;a_&n3J&bvH{CyHGzommOkR zawjZ)kRh%msjZ&CcB^8NmIsq^hM)i@*>E>kgf-fmwEZ{%iR9p9aF#JjlWCk>fpFzb zc@_XCHcMc) zDha6GS!whhI~6i2MgQuN8QSBGZQ?8aVhnc|;%F<9eJ(e*j8`b!OeKp|`nZq%Ord_W z+|JS#&4hDqzWUg+17ivA{Ir`gow+C=K&#iD)nI$zunWG9sj`eLmEPXNG3`V?WDN2J zlG%NP6#;uksztneNEJdX8%DR}b4?wZ3KXh(ht7R-ZdNmJk7Ag#L+>%#IKxQ+@_;Iu zoAKOqn#2^kV|!GB9_XE%pMFG4o(?kyx33_oKnNX1e}4+W{sQv3ggJldUdCCy(pOAn z#P39K&RIh&*eS`J`Ch+~xC~q};F?+XWm-dk#CLSBZJR3x?f_9MCTH;dVT0Vx_$nSU znrxfJnepqAWka~=aY!S`1EO8zV&F(ihPhg#)LS=;!sMa)IH@#=XqlK-r4@lZE%Es) zmR1mp(Ut1(ZjV3h<%((cYASHpB05`7R0Z&Nv-u0gy_qupfZg%CMm)eJ0|zdSt#$R< zrQ|BsNkgF`TqgY;j@E4DsTh*_X=Nf6qlKv&@mc4~i#1|gOrCrLVIG&}r|#@KJ&L{y zOagV&Y{v=*2C{_iQ?`x43C+w{crpVppEC&3a#5Sg95NfP80EgAaHh;l@@0D|8Rp~} zVrGY%YUEVzcRotL*K=(W_4!zzOT4f_HBWcQyfvgRa%Q^#9DH{A`mz*PM!Ri}nXn{; zUs{te*0$dskq-mF%Mb|}8IFaK>$F9PwkYlRT-#Q_BSg%Co*_)FFX~S&GMcoWZ-4f4Q?cG?g+Epqp9B^Q@2xVn5PUDwm@|2{_x2dzsrjlVm2lIE#Wvu2O zsI)0hMz!vKq!j47icW?qV-uo!1bWQ|C`6|SFQYWoSd2luVpeh+1o@dW&z{}ZEF;!> z>VVY6NTlYXf_L%DNs-qbj?t^L`KwJ35%jq^R3OGsKQq?ej=+~0FtLdS`OEcrb6<&T zqU(rKtpS1}5+h+H+g(b&L~ylR`!mi0ZA$MhT||VTyl^i}M|K3xY>V}Yw=V}IhhO*3 z#%5GGXOr?wxpPUo_rWnR;7)jl=V%OXbOjMV#$G>&*G8nUHrqTyzfHuU^${vR(R?SZ zer~!Xk>qr_)#8UzMf;eANPE4u>o!ZU*jlyF`IcQ~=z+$_W#jS-MRik(trx!v7N%!= zJ0=6-?Uu$<+IME!mz}Bti=awpBoG@Iv#?OXw;CCJ{ZLM`86lmnH0>j)8_&{?W-g`q z&H(ILuQBm<1gu*fnLFt140kV_6g)yq=vzr&;d|J(Oa6jfjD=1)L&rS8u~QK&m5efi zOxDy0O*)mSOiffdZOOMVGcts+el?a-!8?S*4>Z03Sn zph!h6Zi+|0^?Z#Y;P)_mvH-QiIGK@cIgA!Mwg@ ztjW^K%R+c8Eig288W*_)XUntL3`-6ZJ1pq}XRz_YX@@*P0M9K^@A7)F>wGOrh+_8= zH7}N9q2LMzXeN#B>oJJ`fSs@q$KsNk_Uyqgk2WgxR95eJ6QOOXq+6c8jlEc>t<0X9AQA0J#%S2V5=*7iQck7U_DNsI z(l*i!Q>UE6bl{27sZ|HNvy8_~FS`od!5B2D4rLe^hm&16=?4=S>zcyvR8lAd& zX5nbxxz$tjio3^alm|Sug^OPEeN`cmqzupeAQOUJj1n0reqwLp1;H4A=o#Cdtxc(% zzSdqo|M}})#~}xAvCh@8$)c@xwz4*o`g?=(zav>U)lU7y85D%M=UdxeK(ChqEsr|8z-pjB@nI?r~ zMRCs(_Qk|C18dIq_-xHL;6NL2rj{v~0b8BGJB$c!FS$XB`3V&zx#`?gmSGiD8M(9% z_MKVz28nuHGtsAn<*{a(FT08#SSM+W_{o@m4BC0Kdq$5rQd@wi&wT!_-?&V&9Z4%k zvY7m=OKebJ*Rj(5X{rJb@>3397|1{FeRq0*F2!**TBj`fqlf?Xq2Q(qUW#Na!Po)0 zLN(dqPqQe8fgr3JBl%oUKNJ}Bqk{6`pe4mW_~GeZ(U=A8x~|u+!wTQNz|zU5MrwUT z{L!j?2S(81+NQn5**K$t>hKXL9ZKgjH zg9@+FW=Z!!1iiDU?4BAwi*kCOFj5=k;Y!8Rj5Z`ac=kgy&>C?v?Ny=;lDMrZXd@{R zi8)=ryze0|c#jziW`&NQWml^QaoX2suj?ND91m415tBp%5;PZc)_t+-G!?U=Bt-D$5^A)Yw%&Y$N{=n-yI5 z#MJd=uSYY6SHAi}-BUAWNcU66J!Z7yAuJ1rilm&rX#S{RMz7cIfMY6)P1ER7~oN(E7{L^?RTHLXE%k5u2B2rVx)4pmJglGa9^RK zScbFq@Te328-6DeN<}ehlPbcK$w#A@*ap+$xWAwKfW0}`?vw7o!n9kkWJezsLtAfb zfo5+v!_Dj0sgmtjWt#guzWnW5I`5g+3t=TP!w}mxZFY;3C_GdjIXaQkHQN-Qd0wjJ zusH$W3)`t1JtM80MVXWGbaL}nz8R@p<@p6(S}AH3R3ovfQPpPhWxf%X0Q^2<5I&@2 zM7W|#f6P=VlulQ0X~n8v#A)l>%%!my%wv>WOI?Bikx2d1cW9zU^|wK{&Cg*Anu92o z$nSog8BL4Jc@Xr0FHiLZSJbs}&6;}(m;GZyQa#8S<{ayRl2eVUQBw z+JmoM|{beo_>9#2dl)p^yZ z=*B2o>VX-rQgUM}y#><67IwX-DUk1IS`7@;^4lY8k4x<-81t7Nd&pVn^|DTR&bhI( z%X)A+E1mTWp4CwLd4NP*sGn&*6R(%{LQ)%de!%exlOKVdx2NPXC;nlBSaCu|KufKZ zMiJqS&A#8mwOZZDZvAe;let3LLPW$-sV>VcXQtG_t|?QCLCJP3kHBg)K;;tt$cQhY z9eKZ4gj(0Ug-nIkK7S6}87n(t0y{2?ZJ#1(O5sS@m{dfi^YNJ`V~I)|!>+j#iJ0KH zc$L=?yHcYqJB9Ic5CkAvoBsT{B}KtWqLUZ}Awt{2m^!-}D=daSULhl1OI`P1*eqvV z&0v1Eit8aZ#?Xerg{hNiarTIxX5*FKOWR<225V_GLwQ_;nGD?^Rv3Fw>zmvuXY(ojU7i2 ze_T0c<1FE=PZLE27v6Nt1ieD9vW2{xpJ)+vtuV&59SRtf7ulvO#PpiFaqH@EYYOeT zna6d}gr6GgARkG={dqmFAxYM8{FkFGl7O63p-FHvtnFTHtt9JEOgA|Kq%-~|iawRj zAJrn_pKu5CCZWuzGqdty-qt;BQDiMCA6^OZipFOQe>bX|}<`Q_WNU{7c*r-XDOe{7pomvDRsoXulR#q7#uZLiP#Y z3teS3s2x-grwie~bm?^eg}8W~6L%BDE;+utiw*6tos18dc^CO2UA=)>Hn>1p9ndbK z^NTEtcbfN6KCW)pX=rqkI;qf_*THApTi2dpm%nq#!fiQusa>M2=P-Mtl?Ux(l&OrY zF!pAeX$lYP6rq$mfQZ0Hk6ra|O4qcjHmf5=i$53JAzgk~iTLp3%5rv!{CW2X#)VSK zNEIgWZ7V%~m{zKVmV^+mNHWIwYl~ZYCs!65a1?wPC+0Hc?ApgGGtZ)e=%1K|)M}J+ z2&fp{E>BjUF@F6b{zeX69pnfW$^zB-nCH1_$z6pkg1eIoio)L2ACDRRvHSw7{w zW4Qg32cUx$|M40!Xd~$jz*=Wi&g_R4Pq{*}$O^s~N#|)ujHMC#NgMSEi7!+D3E9ol z7_MhK7i}JR&z5HqIf!DrN}A27*)pfSF;PyF2u?V( zUFA`BAJgJ!;`9Oq!4Y(kKMXa&)VP8@wHIpoH!>wf*pPycM^O%w1l<#bwN zeaVhAM%Sg6aQthgYZo%=8b+itZZ#Ao!E^OBv@U@CHJR}w|5;w-*3*d`>^8|*$0w*e%zn~W@nxOzn#>fg;JJ*Lraf=d)7vY)mV63 z>gx;g=<=HPwuw&p)Ve{UK^h5elxn0q=IS3WQ7mazA01+mPidxF(Rb&Wc|SYz(Pbch z<-vokjV}4CZn4^S2}(NHyv1_Mo%7{r<$PXS|2FCa?-@dcT1K(Lt546NkMW(o>(0Y< zFVlw2_%W7UKbGgbp}hrzm=i}JF56@O^1(x^&ZjPxsqOzl8bHl$4)9@*6~((eTV`!F zJ|xme?>ZtCr zxx?f33n<^=JqthSF96CM^uE@dTZ-gTgH%B~KPailP zyEj0-&Jf5KyT(mK$|Tu4uo~<`PBZLt4>Z_~uijd{ZOpaOf3~yk()>wH>2qxc3mxep z3uCjqMf4Oh=cI*v=*gU$yb}U6rM4{JkQlEx#@X!J_B=(C`h4BAx?u-ZbYD2Vmvhs@ zg7f<-c|yhn%rK4gRY_;g)MM2s{V4mp!dBu&oW$iDTRSO5_5AOt$|Y>iSRI^>h+h`c z=WC+0@>|r8>?;Yf8$Xv&Jd&{UKq;qhna^7a_0T+Rb=Eu`&C9&{oim3PPmE~i=wMx! zYCoBJAGc8+@s%~6mCnazHHnkl*Nb?R2a4Ci~>gLO@LtC8Vaxr2U=4OmW` za+mDk7qiIWT}H<|I~LWZ^jI`-cd<2|Y2Xpn;NOmF7lip^E>@^yy~F6^JmdB0f)_JZ zSFX!0D;XI@6b!Ah>t9V75pBuH@rorI&*jra58Nf!2-8m;s-bVmRdXs+$*ML9N*&bJ zwToBQTkPtpi5|q@R%`?o;_7Z$E*?!G1NOLrjfz8EnG>VA@NwrJ~In;3n7}KtrF(_m4!%M4TEgFBF^H_T5Rm9 zg8iYN@Bib|&tvrF{@S2uaT4z6A+<{xH5W;|kRNBxliA~(tzU7{V0(8X-eB(Zfdfq6 zy@*XTUcltqh&506NIPs!r>|lyHbk}jgYU;dk&gfEFY6D9*nO9mX=QR}QE@rUpY#Sj z94;i5F#!)!W4E|&k31&#;E%^Zqxm%mGLe$g@u-3~Y%y_t1^CQyt+}7yhTgfk>E*(t z?6o)jxy~`;P_T_UbKs62XJT9#MRhr|wmh4}yP(`th&qlnoO?GSh%gcpE_ho6)<esDi?fXAkzA>cmp_m?;kaF#%+4ozV-+`KCyHMe&Ja{kZ z#pzolbN5Kb^(Uv96ngFR%ujtYeUNY%$dC|D9rqU(g2yPY9n5;1{Us^)EFsBzmFG{sEbUVh4XG9R^{0dM3J z{3>|+uU{b(>R08bwRfg5NBE*%^a(2c)#ZP(5*62=2qgLjiYhuLU*f6#&2;*sCFk!u zh!9G!D5QV6dSH!g3ct7D2q;VCKb_#=n6SeK;!2(4JJv{}@Qi7&#s!PKFL4XCYWi#P zQTV;~y?E_>uL*q#n_kaly$Txf*}@wDqEj7k%!R zpuf>@V9UDS$DctQ?OXk^Ec(#)EieyguJ_@o$XYL(%CvKNzGk&Ni3T&iIQTr zT6MSew}csVhWuW?Vn?5y%IZ>uRgsmqUmr5BdV0@Pn&U36%`3zHwXbg5^^dTs=8a>C z_6I)Ux{zx`JJ+|{?yF7cC$1D!TKlE12T6Zfw*X;3@OOekhNoe?sa-Trtbp56`{Z5s~KeG+i4o`fl^X6{w+1o+?*K4V}e>X7e zgi@0RY$mZo3=0ox>MyJ)NDa{NbD{g$*8kX; zX}_=(u0Q1aD6N2iTXTDbch%;3$#02{{8u8!^%gpqxVYmDn$X-p|JG>^{*3(Xzjfn3 z5ho=E@R+a10)Vp^p^4+XE?**#FaO*4!ifC2(f(l>`Duy}p2RMy?Ua{5*#(eif6)eH zus02HK?2P4#p%yynZM72v&Rb9*86Q^-u}zrL?N35Jt^(a3HERLOq<%dw(WFCK+|nb zd1ev*GNSIuc$%9o{jm@Kqtf3!cYb!XL|^dkYO>!a^seHQ_`ZL!^%U44T`}f!_RRyb z4$D98@=yEYAHyVx*e>(|r1aUL^%Q^5&o24#9{(V!v(MGcsDtDkME^hI;XuI*w;-|OHz7rgCM9ZW&u=UDm$k6w@~r*y zbCeu%kH9T(_sd<@e=4~rnBu?PrPv-1zxH6k8~RO?`+~52-k&}52bUz$7l=)xvVa3pV%J5{tXJ&{dcdHZv~2PK07Bl*@t5m#(eLO~!U(f`N(w-rza=d+)Ut zHXMwN+3@piH@^A@wo)fSxW(nJFG^7LnvEC!pL-JgqWC>vtYmqZIoD`*-Hi$Q*Zido zv%fz1zGoEHmnA%D!|mZ$hULx4!fX0zy@=03!M^H0`NRAXh`l>UNxu0h1tI%8Z2$U| z&bJ;rZogp2hd=r=$hy{AcXEOQziK@GAFtHC2d0(r=LaP|ZDF#1{oG&Jp1Yag7L)ap z8mTZ?+Y|q8RsMSDI(uXnmu5M|W?tP^R>J!jZiXL3t3Ukz?`K4We0R={WZcE#(~nc* z1|9GE1>>s}9S4Du22tlN==9qX%OCJG(wO<@;w|>XBj4-}tquLg=>9no+=tMrI#fzU z6PKcIEZ&uhmWxT3Aq~@J(~+w?#HJK2iG6GlbuVoYA^&wxGcK^oPo2eaVINqMPm2w< zNtY0-JUgIXfR(n{-+PQ8sAxj*PFfZn)a)GconZTzpT>?|9-)0g+m8x z`CbMI+T+JFubPi^ZJA$Qob~fYpq^Uoc{UMYxi2Teg13{Lzhg$yuOvAUFRT37YBjZi zE6QAoB`QO9gNA)=%;k>rv;NKCyC1=CCzPJc>-EW@hgr? zgWBZt1(GS+4DM%J#$L__T38`H;5DUBKM>>n`!k_FI0Jp)=Xr9y&wq1d4bKx;Q}U0X zRkahs_(e~k^(`;@6Mb-f_AF&Q)m*%~Yuvay={8B29my3d@2PT&u^^lP*5jI`kk{0s z$`*#P_aEH<(vR9?t!T)J=Q!=WWu}`E=f~ds%Jnb^W%P8?o8Nr}|3?YP`b#4A?SEUl zjuwy@R2}>_N~-HAD`_9$$d-m01s);2SvSgvE`G8Vq)KZ~CD&VX1BDLC)*Q{}R)o{~ zgOoDWTru&d5_ow4E)-Os%z;)@1)_eC=M?(sLouR8A$^wQF)-# zi-QUt1Oc{Z>lX*zz%7;yQ{@9~HC&l$i)Q5fakG+RkvN$X*c?lz9~Gg&2LjIn8{~Ii&mqjJ1?cx5FZfIF`)LGr~aBZvtCkCp2oIQ|al*ZLxAXw^-@oo3Vf^ouFzs|Afi9s(|E1qc7IfsoK zeebh>n=^0~AydZ?p0>Eq#n;LcC8?-*Z%x=4oRn#nD5r4ZBcwLsnXoN%Z^i$wyKnbC z2kzbcOuA?ddOARyIryIlHkYE)oOZ^2A6fSksB^z_T>p>e_Os%*Z%;s3OGYPeil|DMP8fT_^61>RZR>SHzA3}= zi-p+DK28BGYR8s;cUOR1x_B>st$Y1Q(g?=p7*Q2f^?MRcRQy=eA~#kX(y3q0@g8GHZx&q3u<0VuH%0_26M0ktluGy)Fpo7UFWV#E6J zgEb4&LwfbGatNizVPL^AE+53_2C7~&0I|t|Fh)xD0Hc-xd|(Hf0>9I@QO5MwuV{T} zK8sH zP4S$uyhRa^P!3m_T3d-UI_SGQ|3iZvhW7!!4;|qdFgvc((sYPlDfy1@;-Fui+44?~ z?6BODCFiJH_1BrRK44;R?lyfwOwMfLP&?UI@!S$O_Q)Xj+he-%*^lHZUn(Wi-pnF2 zo2bZ8rA&>oLp9M=KyviVjI+TDkvRg=-OAvLpBM6>azVmp@G(j8#)7|a*WS2b4Xqw2j1oI@>IIAo6t_erDk8^hNaI>b z%$Mg{Pzs?haLYg!=uVSZ^5)*16c5yea-b9_a=QPvb@21z>=-F!pVt?dpnAiNN$f^n zKkV3P@!`qt@*Ct{ObYb~YjnoM1W>$;I24p7+&j^OkU#3ii^=OLh+TtXC86Y`R7go? zn~#lR&XESmex{dPpT29ab8ufU=dT71UgbCc41SQM((#;ce`diz0GHWoNqwR>%K5g~ zHse0ZnPDmM2!mdae^YfRt+uGQ={2Dzf-j9FiUxQ&NRA*t0!{u384)hJa_C+~` zB-KY+HWyOj-> z+zoX##thsEidoflE#OphB@ERSDdm_o0W4P+Y{Py%^e|9;WKYVoSwX$?jiJcfX>Yry zg(_r5v>oG>vGOu6kJrgmmy~es#<5Vo^#UgL3<)nm*F%pclm%mKtmcDk7e1GsY=SdG zBdlLd`DOXSp+WJNLX&cl!VVz0WAC?b7{4C>a7RL*6%^94@DYhZ#kki_?tebUJE8 z`d|Fd@0Psyki*@=8s*Zg6HgWbtycQ>SIXp*nMdOd+)Z+)uenfnLy0LHL^Ug%Jz>!h zy~|yyzCQe(6lX4M;iWE6WGs2O6F&hcRnm^Roj&Cm#FERi1BWNVaDqDO6oMMk; z*z@L@a_n-wLWqv%08&xd`{}SjsxsD6uCF{G4r<8R4LkS)(&?lkGAFZ@@o`8MO&icU zm;tHgYw}Yu&hphu!04O-Y%H0R2oJpJaAQ?-x}Fa4entr|iDqz+Bg+tcv9fh1nhO}8 z+Dy&cOugw|&qGzzHuMmEroybOB!cY&fFm)2EYExl zM`_V)ySi+y)07-;3VHoe?5uK5&nt!21NwRM8a4M{D!E^CaP)`DJ`0`J%%smMIE0KU zz_ebDUAHkYQkMSaGHhU`rp!6RXJ=jXGds8T#d&?k^6E_M`b4@lRK7l=rl^vDosmx{ z7K94r5@}h7A&~t#h*pYG@qLzE0d!ObpxkCuAzWDdwC)nu!APd?DejueM|U9f!iHb| zUk=b|$Z^@0t&66j`0!F20<^4FIquItW?cZPhu z+h9HMnKopy77>vgrL>;wbgECVvl}~|x(Wzx z-KqYn(ev^utxtF8ie2dOlo+A5ojU@s;asp%^?a4y@H6h*#<)luAT6g=7?JbRs0h>} zvaQdpHIf(BAmU$zx~x!)4Nz?97TDu|E=Tz6X5c$o2HA`Gw#&m%ql&4QOsOW{B1@;b z*TNN5pM%)kPi~Rg@&k&6wZMug*Bw=9WErRxdG_GidI=&r&G;V{4&U}GTgA->Yn!rF zYz6K<7u0X-*hdExaUH9=Bxw*_f!&tHq(_pe#LQ*Oyam*Wxj*;$u ziF%`SvLphOHuR^55N38?4g;#_Dv;aoW|4|;i4r~0rt%1?*LQkp37dL_zY^nHo~ndW zSKH=&cogL14+g z$xp3(*ejlSR*!eCV@nNvT?vEM^w5n^K{}m7vpNab-uM?<0i33a^I^gsiovr`uQ;Ii z?m=6cbL#NE#$o!mNmY|mm<8U>hkHeeE<2I1p~bAc^8nJ16zq+iZsLv8^c_ZlNBrGq zbnpkUto1)OoRZ(X$hGesxS50b2mJK0Y(9=9Cd^GwDddCe!pIJce0%}b%XRzC$DLzy zm(5sHqb-v2fkDVtkHKIv4Lc?5ykzAf3uvJ-+U${_vQ7-(XW9rdW8)BxfCrn5&T8fjW6UI)lUM9U|K;i;#Y z16^b@YX!F&j;IxU9&-lzBH$5buhT~ewx^-iaGTdh_#(NM9ej`s*nS>IpTfIY*i1w( z#pZxCVO@;!qw7Ai zp@byOJh%^PxB4=52J7Q=pad<}yrfnZOMMT@N8}@OO$MsV>C+0V6DB|nXc$-$?m1cF zW9;RYR4u7fcBc=fEkfOB(<5@_1KJwE);xo-Ryt-tk&cl9C^Gf?d*9fV;cZYC z4dS3yaV{fqm#|RaF8iuk0|az>>!ilbq9ns#N*h#%3HP7pjJIsky@u@$)FO_K7BgsM6qH z`mq=vMf4=Ew|S^~_~~GzzAu^aRW$l4gM>VOjk33=tWUXxx*WEm9#7j8b1_FL$CMR1 zOb`;f=#pNL(ykN47Br1ti;+zrq0|mni#tmh`0l~Ov}~iud#ZvA!n7KfbH;V{nNV;V zx%)VxiL+%w)7~Xxj7SXh`zu50lhlMJc}+V4h)M6%mvnThNh!zNurf6r?gkqEi>Ge&)<)*_Qg~S|E{dYlD>(k1N!DSEK+o_>QR7 zqahD5&d**kDiF;wo*yp@v5x4REwiw&{5_cSKLQu)NsFwD{0`MbuMwW$3Hs9VJWVUe z*qQOtrh^=i``#R~G;ye=-|htk_RD5a0!%Ah!96L`zXTbjP5HlNC>%!J2WV7(TaOTNyU$YDy`#U+OsdOGk^0< z20D+-CD1EtRrUif=MoGxESn4{YA#C^H#_?P4aJ??ly*~5P|@$WLoXe<3#tMh5DH}HF?%YFrNW3C+=GK%>OZNF!9=0VSGu ztmTTRBfs^DLPeGQ6*j%i3c-p1RK?+@GQiU7YS6>{x;YZ9OuJh%_;o$G+X9wMV z!CL<^mw%Y`?*Wms48a9j;a`-4UJN07B7Tjxise(Axxz(ex`bpGlhYivJ5}l$6l~7R z=d;bc4YVxr%!B&&yD}tNaw1w5}y;MfpS&`3kZ_% zz)1xc0&X%3I1pjym=kh=<+iiVqeo4RG?yOit$5uasF|5G^i>44kEDIRikCj9d9sH% z2T?bB!@gVpX5y{FNYhh4$E7$CkNhvsnV`JMFMaprMfI}6$lb?u!Hk4_@?6_z4x+zV zUY1L}`@&l^T_xKj$_98rnVIC0k2hJ64HGK}+$?JHapRsSmY6ghtW5$FPW#cM_J+`- zL8=m$T-e$5ufe|QYB_{R`G9_NYZmP6J{c3n_k$1~(65c>M&CUm&KZ(w_GD6EH;Gov zx)+sh`sGYfW;R4KOsw=IiDMh)W3S3YOK)dO0pfcJUhWj_y6DQ=bCaZGFMlRx06xHd zvcPb2xNgm6{lo4{BT1vMCGwa-Z-W}T))GG*A((nZ81?wM1!#4LTxKc8prJ^)zC0WT zBL|!D&Cvnd727Hc3SG6WYo`H!&+Vj+hyi_L#&qP!5n&6FuO-beO^Ll2?(>+qKNXoH zs*6H@7GhUIPNY+_pfG?4hT&TJo6>=&eqXCimn(aLI8ImCx<~qo>~) zqfHwlg8%#B`GS)D%D+0zO~>8gRKui@mOSod15N_FYfmCu41eu7ULzdO+V;gB!i4~p ze=~5Y@2BTnBQO{zi-lv$VS3qKsAR5XR*(c=?()dYKn?9@?M}`RymsKCdJpn=;qM=a zp^5jK=m8WAfoOaO-s8;IfU<$_Jrafr;4K2|m<8q8;(T2G3B_3p;f+ zvv4y6Ef8I-bZ|zF_f(Mpmie}_`%?F34^jN87t?EcgVx^!UVhyxcD|6(pf$5f|ZLd7? zUsm*wGh-9#AHqQQ*oAv78^BIV*pDrAQxNH-~wI-ZRPRkK`Nlf4LKYD zWv3xaptU#Z6iM%nbk54kR0g zqN{+8_wd;}Pqf&yr+bj%UT~3pP~~K|Mr3j!(2yIOlRt_yuNi)?B@TtD{jKxlin~h4 zS(LdwgV^=~@h@4Ng)k8R z{_T|;9Pb<9p+BQQaOryN%bk`0F|Ce7uSc8X{OG{P;yW1^k4O$Wq0E4Ed;q1Lfbe>N zz?3d1Ch9i=X?X^a7`F9bMIkhTWSB-J91@5=$Uu>@mC|i?ef{i#2#Jmi)LXLH*jr<; zJ@|eKR^R{?lWSh|;lmfhQ_49ROqOYbtW^G4WMrJ!8MYGXUp(XKH|xs&C@aq@9po|3>!5{u|_qz2X? z%9P$pW`-75P2I+JGfSZ&NbSsOT3*H zO0jkEhdK0Pbx%FYAg6bEInbOIL$@sx*pEKzrj<+~rwq`HyPwPeEJcc%%D_%?r*A4Z z5MmNJAS}vw^5n@T3-m1~a&2ye*bq+J*tuvGGz6C?s-ZR!G-{ zE@doxDE@d4XC?$XL{>@|9`UJ7Usk`?X+b%3fi6;!!8FDOC=&`>iFgelGbr0V(^)~2 z%p^JIClH|Qc<}A7U>Y*2Y*FIi0rO#*= zx|j^rrRh)i(l)~pR}%=)&cs=BYgHeYI(_esL_7x$;*NfpL@F+`SmJk75T8d1=J%am zg1C!MHAKsYWX!G5yfI6_uxnoQ!f&#it3v55CzE{Y6K+b*dMrfbv@*UaMjAl|`6XI0N0B ze1rJw(}k&DCt-6KS-1dfzYs1`ucf)m7R#@NW)}x$Vc@XPfxt0q57`%6kSdJ4_A<;i zY843^y}U~Q6>#+SSLA;er;mq6CY z3sEuh)_7as@dx&g>+)I(%Th!tbu9rqbV0tO1M`t2=)qu6@3Ra?vtarDibC!hiDP$u zIY~S0Ad;ZmI8(15O#aABIQY{8Sc#p-2MBFqB*UF4!9Yjg)lK093%`Klm`iC|dt(55 zymU~@^mbgJb*oX4+%<;+LaP+GJ|j7KH00Lgm(;iRqlehE8_yI`c!b!}+b@D;OK(oo z@tg3;GM{7XDe+2qqDf}UshtO<`VmPw`gbXAFr3&=e^VhwkO5DT;X3X9w^rnP_wMz5 z@FM2M+nn9>eoc~GsFL-+?T{V2Ai80*Eh&p^lTXr#>i!!)3kC@pALAeZv1N_`{ZHI#Kj2HnqQ*3-C{z7GlZ6HCpany11% zO19A$MiNZvpR`Nx$bbKNXnZH(Ubwy^vE1R#YC_>;hsBSgkDqt_(TW0dWBZ`hz4s$> z8~zyp)vTvT?z)XD)5|cKLMk^Urb}S-s8)8gvZr=BMe~*56jk6&=R? zbamj)Iu427tOCDTbG^3W&nK@M+iQMd{hzR<^Pv?t&(vHC!5ds&>|)}@+0h-*6*;6< zzWrc0ErJm1Z=1?nd6=J~e9&suMz7arLSzl5_5E4JQxw}44?bsqE%eWCRzNX6K!H?x ztc(WEdd>dB@SJZo=1+1a3dA_eXwHnaXfDp6sYOmFsM&>K9jN1H(VxgEG;_%ld_reT zwmRf8C-Qw8dXAGB3y=xyexC52TPX0@?_)}Hp3tzsVPoWfYuNuW5or3#9G0INeOR3N z=;!^sjr^1gaTx3*zA7G{BEt&4x50&h>Bgmoqvz@mW5(gr10mDcEHpA z9h-(9c&6g@kN%Pj+~WKcqnqlIdtTt9Sdo5fA}(FG^_BvMUaFoS2fA9LC0jj3Z&tWD zDdNKmt@T)d=`*^K*7Q0vz4lk(7lY0L&O+`O08ZAhMPoza_i+qrV?hZO+}8t77 z-TH@oy~7w)RaHiI_WBcDd;qF8Lg5w-_CG~8lP|5eHE)IfOpm9M4MyA;&HdfxECLXBq-gy zRk#@=*pXOAH<{#{7KHKlMZRiwo|wnBbYq!CEse4w(P2 zJ#4;|<``Id%`4BcVaNOb0M{Zrso??G^LTgkx2~bjX$*)@|JT9A~xLM#9fk7y|P4Sn%#@4PKh>|rPLRYvRi`#UEwcW^_ z2lZ=#)Y`WH51>FNqyp%2Nm&^;{>;Dl8tdEKZ+GbyL_oe>QlS;lujkR39GiTAKb(yX zH)i8FhupRMHUjb;f3MlU_5%wji2ASlF9ia`CuAs|{`nG3ECrOm4aWZsJ}=m|8?>LG zIK!RrBFE-m6$GJNi2iO=Y0S6ZIcd*n?&^;FqxtLg#s4xn9JuL_Ibl6)VNvPw7oP0K zWct}chcCnczOvwoM`C;=ad_sNlN{eK`=8h?czK8SP?a!!+m68GhYS60Klu6dbzE2h z3xXo+5k5<@u^=3VcLj@X{I&j*|KXjzL@NCrKG^chZ{Wr*e*v#UZcoFC%3`qRWIfh> zXwxl{`EShzo?kSmlUJCVClUAKD|P9?S$|Xk%O0{uWhfQDGRr#JYME;^wHLx*93M8cgafMl_mZbj{5@mSn+{OyG4cAYWfg*?rCLewsMJOUa#{B8Sa@CjlUiz&= z(U)i{2x>!xo~HwLfM5U)k&N!>{plVnfO43bC}mLq=H%gS4-m(W&nf3LAJqlT-bVo@ z)xu_ouB9iP6j4hm@wD~6i;Ezamqe`z}?#Iv`=flTr+vv!R z5$2!Rd+X7r%LRP+1Gh&Oxg6a4QT^S+?KgTTlM;2C&gM*k1UdKw$)Fm<#O#PbN#N+J z327vkXE@4?Dw1x`4#lc)FQoaI49{J0u6R7mC;fLd+M--GO_cSIzdv=o0h=3X-}BVo z5->uo{r$L z!a;xN=;#FKmhI_*JczZl59-$`@=I52e(t96+i2#!XZ(TNBD)0e0?(*D1{TjF8NEu~ zpI*>#G6n+DDI3vHJBb0TB!|Fo9;DAg>+1j?DOEdos*eOCL7<)AePwqfq`>YXA=SNd zAj~pt2FQ>_=I-?u=MRqDduwImub(sbf3@t93(_jcWjLhmr-qQQ{1m1cH6QAs9nV( zuHWo#m;h8t=Fl6f1&Ew7O$^aR6W>hJ4lncnmUg|Iqd_cAjut6M5VE{^~?@{2>eR=bAXjO!Gkp6oo(hL|`wor{n5&8g@G-^0xuzWj+SL$B!69kVk(&k2I zbu%`F^ApIu@0kKLTzhhJ+|~3N-cr}Ti??ylAmve9okz@9nr${RIKvMqoM+vpqV>Ws zxhh7p`vYwuz2n?{Hbb{b^?JV2%eYk4kLHiGch269#f@=J zBj{3h#&<#9P2V{_F56I{Y0nH`>84BH9={Pjt0P|g_BaVHft&H6l#Q>Q6uOG6{ujiW!WETQhRTXrl59H_Z&U@y=<|{iO)A$; zDpq8;%y=hQLC(f`6s_JX@Yw#%0?vFk;8noXtqd#YFAK?BRggN>@cHlc3U{UWrXSHR^Q`-w&$%^&+Rcf-_2Iux z5Qh<3m>q+LQv+Lf9%|Hj8?c|P6zulVXbJ`QTj@g2sd_z*#-@Wx!tuv}+!o0|=2!wy z!`VpvJzuWfZ49|gXf@NMsq|1OK0 z0NbboS|w@I12shmu*;+P<_l_o#_6kzO4P2$0{Z-o-S%EAnj!W+aXhd8&9higOF8L) zq(3#X-JI>0;J)WCj==`~PRai!PG!~b(WePp*Ull;S(oPd>_)}DhQQi9_kOu9>!~WC zQQzwn@jPMQR2S!y{~u>>9T4T#MU5-sMGTMuM3GPgNkK)ryQHN{Ktw=7x&}l+1f;u> zmhK)vTDpfuI)`Qk7~*%vd%f5DzW2W0_x=7GVrI^Bo^#H#_u6Z%?b+&vH)aUY$5iLi zwS%>3fmt^8;EsuZt)9>#BoEN1)9!CO)Hu-zXXkB$hI?}=8N23_RcwwvcN5O>>)?=a z-A{t$!1e%qF6K|*CbfWipq0G3ll{>B)HRe&Pl`oje%t95f8?ck4MKO4Q|haIf&77p_;DakSrs9Jx3OI(4K4_*5`yRwUiY zXsG-d0@0CTN74Mlll7bYTjDTzN&NoyqQAV zyGPIK-`eI9orm+#%!Ud&Z_hSQg){3Fzx2oS=Vb>rwYGNFbVb`nfIDTHVO>KV93@(Q zE1p(Y;Lvn1Qy-k()lVa-FGqgtBAz9qzDfDyRS-Q4ge$5=FTQ1}Ru(R1o}VLnQfHP| z+0p=Km17OPq$xb_Xy?1bv~4V|O`~c7>NfP&PBo9L2T*|3U43cfmOs5vDfYBRWjAD> zRoub8$2Y+hK=>DE;69ejVk zvG5Vo!ti~>Go$dgo@nQpMp~aeP*A#My9xT__%&^k0|f$`Sew9FPVv(o=FOfS?cfQT zcD4R1>4$T7PCM2%{=bc6Zud5tfxQld z8pV&F;*IxS!y3OdnD749Ztc|SS=B;WiJs|~YIj&BcPYYo^TIec?O~zD?!AFroi!Au zy)rWd`=wms%h0-*7s?rO-AGpf(*1<41h#?war5%Y9B8W?a=y4{oV5qP#Gb?M;o-9{ zg~nZ<&ZeJavAi~!Yq%epO{x!V66Z9I}T17CIE)`#L2+Hyb^5c9t+|0(y? zurDte#T>X1B^HxaTz#e8w=+Tp+EE>whrw5` zibbowFqlpSoWJ|QOPJ$6S=^;=$KwJ{dUZNzwv_=Eq+u3bNS^mFbQ+3^zKKIj-vWY2 z1OEOp>}~EyC25r{AROW2z&RvNPwdRbaO_Ig`iG!5~3*Msa$HRvKC^U`0+jItI23F zQ#GD6!vL-pBCi_Ifs-MmEL0GPJrJODkJm3n8~*}R^8?}$>YImvymx6`l6uy2!1sE- z3u`7_(}#rjGi=UUE`9Rj=msYr2#qV-p*^I{Z%K$+=?T&RFreO{8Efil{1x1JI7lXo zMU&(N$}itWAa2)dAAJ@J2WyIFU!@j`g#!~apLl*%qOV>Y=~(R9bld+l*gD#Ml@OBes-E}X0sS=9CMR# z$5uKVjfr&V8Hz4L0#~)A$0T;>$*tS&THx(~n)7Kyyt^+yxdjUWN(7(p#gBd%JIg_L zMREYoK#1^B!b5#w1-TcJy#m0!zg2{wx>TUi;5F=FQro)E(NgIdI9c%J?h?31W#sqr z@0IDk+p-rwOqY#)%5v^SiNo2^8VhI<7fdf)NcG7ZC6ZjYFZ@2)K07e^t=T70bC@1M zH|Tyon>@aDdJ2MFs7i28DaQ#_Q}eiQ1Iwwj!Qu&M$7%&%0KDj(yi9GlAk_9GnL+7F z70NER<~#qd40@luI6VAP`pP{s5gFmG ze~)&T=q#L3EoK9X;LGKsott+^tZ}6H=rx=l*0&Fz>ZiEjezGbeZq7$ix(&7MvPD33 zgqDsdFbOBh6(j;N^i(d%Tt5CG!zt{hXrPaZLI$9|iRlQ(&HRnNBG`>j@6 zAjWLX2H13qUKD2Q6*&f@!+mW14aioDXR8wPQ|-Uc{9i& zHu(C6PP`gi32r;wd5gX$qI5CwE-5RcR1bp=BMo1x0eYD%I+vpi-{?PJ3`_vA<9*K9 zZhR2{jQR(!HOF4#z@RQ2jt7ec0ru-PO2f;i6Aj5_d=uHfb1iN zL$=S3=DELUS-di_ucPyjirTlUA)@R;cbkLGG0fDP& z=Bo}!a>wQX2p!gB2iR%=cJKfqRn4A7WH$6oHAGO($%590iN+N*mta3;a-X1_g^@+4 zs$_q;Pvm8guCI?e`7_U}xL;+$8HgRFfo58C*5h7tP{jip#-KV$YJVrH&;A?oVvkfq z3g{RK!>{Y2#MH4j(JLBv?0w~OFSR>NIb}!*vgp?&Gsq~+jUQ>h0~YhpL84JjRL&6{ zq_PFmy3+DSxL>yC)|g+6cXG;_*hScJP`vTe!6dJof>sKbDAA*s2+!Gsc+rsAe4>Dy zd=jkrfh*LjgmRFGHPTF77H`ir>Q6+wfQejXmUihBGQ2iQ)Ug9bjqB;_aHGOVcOJPto?8C&#niS1?mx_-}pO*SZQp*jY?oYNJsa)RX1%z5z7E_v|96t^@ z#T`DY>B-^KmbLYn4b-TOJgS_z+^&EYy(vx{;4SwbNrOZCV`-4e5!`x#6J zag@zc9(-@g-=%Ja6%Cu&tl-z#Tz*ZuJA<=P3?4G(APVn0ZJ(8qf_$@=iw<4Pd}7qD z_O-^kL%n!WqE&FN?s)dCZ6mX84P7SX=|(~35zw%_z@K!_pR_$0LcR*b$+g^+$W?BQ z%{4^dHeV^1F&H}~`n3BMeb0PL<^s9MzRP-Ff_+C9#|Vh~XLacmBqmWYq5WfQX7fc| z0%v5O?keWlytF#dUuaK4f|eE6)(Z%HM04yB+#Vf?9X#w76VE5BCk^3g+M5y-8x|)= zd*HCiwQ1SQhZZBcBU$ubj;T4=t}b&T5howV19x)Ow{;$#j$6WJZeDdgt*qyGu_e>Z zvF8uRO8gYJuCpJSbaE87Z|VbfymvFa@Le3H6^|}}*CKzzryz6qbor6M zZRSFKt9P$&LS&_)ZsvEyig;ILjzSoF;<#9K370zj*{VGrbGibAM=1Az+_qOpX!JHD zgOa$ar7(F1D45Xcayfw7$Ae>J8AhkrfXB1`Q16LY)78tBubM6o(46z*a7~jAf7;-# zNBbs9l(?2GR>oE}MciM#y!mK2)z_q-trJHAkToYeE^>!c)p_Upxk_W`L!ar<@=~*G zhea{7xEQ2Q*Dv58o;}9X+xae4mmza2Hyxw^NU;Ai zZ-(!Y^+VG?<|q=2l_a5?0zB${PKUc`?4fvRL z$m?!EP#y|(O6Q~5&OB%-8iRVx{kdEOgJBF?@f)|ebATYW0sl_TJ4=7EGWgA zb7fbC#rvboNdD$y$gMRvq`__Us54lS56P-ByW-g6SW05E-$l1#6tP(=Lnv{?^(|wK zY?I{b6C{8^Vzw?878{ccmnz?0mWY7Mk+(T zW@Ufvfva#qdhVBq1U`VuHMaQ6`n`zLTqydSUuR0#5@=(8umyC;Be9PRRQ1lbB`8M* zDE=!|r4uAOSVu&VQY_=+4>`JDl|O ztH%TVLeHivz`@*gYNSH{{UiW&?g!_fymlQvz>HD^P9LsYBQt{=5!q6N@#bYGiBN&l z3T`{5Vi40`U00t=RhBFEV}^ACENPrAQx$vJWus~m(*p9K<}({|WoV$pp@t>nu*%L% z77MN3SJ@J}`PBjy)wIeW@wgsRYtJ=Vod`Yh;X}TX_d~@+aX182=lM|Sn7Q#oAFlGn z@|lghy8w3m=$LLWa>v|$c&+u`KU7Bkz`1`f0R6;vB`L5f? zKkzjkNhH>q)e$qsyJFXPf>EsdramAD8orsQ%*8QGM!}kJ0x0U(8z;zdmI6b629@mJ zn7d?lL+`Qs7K*y;w95EKxqyWi6O#O@#jF@s8_qb8d}Na2_|EDuoG4nkQr>rK1u^0Z zh!VbbmDV8F(%!&_5IFPH*&rrUL<}?#xuC3+Mo7LeTtgJE#v=KOSBzv6fK*bQ=_l*= z=+`vv-pv}LGvUXyYJY0ho8$pITFuVuxq#36-IbdcQ&s3Ic}*ksB)ne79!O4~Vu|i6 zmna{GQCmOL4GT>c2bGP92SU6KKj_~l zyMW1AsJSELrCd*Jgj^(h3ao&G078}@H)M#vJQVryth1M*uQuenZm`8kC8hyxS4E{~ z&zQHfe!9s(x=<`!xbDSu&PMU9+$AmbWqQTz{AeIaK zUYi84!F0XLy&VL;?3?2+BFyA`YbHz0)OM$%Z7Bpu#5{(hq@4@90y83wYsh2Oa@6}y zusn5VgEMuP6mI+93i$9qkMm2So7Z;`&iFeYN(t{fZmo#5!Tt-rJ*JU_MH|FJ%&$aBwkNL zvw6ex^cKqX{%J0 zxWkT^;rfGZ1RfRW3PSlJ{*#0v+61@mZqD7;yJzD5WE)+!m7?SDsow65DwG=!Rd_im z^mvBOsH~MDZ8D0qT)5pWLYY@Zl|lI>OXcII`seM$6Zdi0I7j3J=9nUpW7)4CE@q-W z;F$5IHy7HUiSX%|y3O}3oZtDG3pff~XW}q(OC4u)n1brH?|v8L@NDY5 zHw|qaHI8?wo$E)oXX|KqUtuwsb6wK0`s~ZR@M2Ti_M|2Iy^cFMm^e}gSv1mp>^P=W zV(RvGUKU|`noM1(Rnv-=#oFuY54C1S#xPuY;fp^X)MDP}SiSx$fB3a(DtHx>O9bMH z9b>fTh@uW=#f*@LJ$?qy9=+_mX~ZQ5lGcx_jGrT#o^FST#@D{di5fny}%5fhcg7#_Zy6$*s0>K3P=A4daGZTAABbmMwYBYNc; zIQ2N*BnOVYVm_)y$=s|4T@7Q8N=%2^Yi=qCbHlX1k9XmTT^l~-n*Dh1>B$CYNex#+ z5D~ML!!zFOvifA?MR(JGXlIqy7g_|sb8?Kcn=>A|5Qt%o^J{i|&1e^W$?}Z%`O)ih zRI}b|BSYAXJkh=ok@>$TNXQazG$k;Cam0q0@HhOf*H2k%{~*w zNYo(W#)nVMN%`=(pr9a?>-IEIMz4c&flZ7C89vk245@Ib%M0Bw)5-pnfKv+K%G1jEWYPzxCV$P%R1{O{xjUrLm z+50-iFhP(}KTyU9gK-c*WkfMj_(60T5_=Xmz}?tqZiuE4Ih>UlQ%48H zuQ!Ftm65WURnkDoofq}q46zMw^@^*eNvrUzt=q_AJ!jLbe(8S#%6E@-j$RGAFvCBK zv^%aUSM4RJn$?Zj4?HMuNAv?(vo^(M0e~6U57J6V)Vb}eCTCBmp4QarPtQx~je-0l zF!sJ%!i_i8`i&)e%+Y6E9AB?%Mv?@{Xm7Y5zSvz%lnpK!Qdp~6U0usDXg3DBxCL1Q z-5$&SCYA?%ES(d>3vy;}*5BBF_rMvICAVPnX<|#DVg?ljDguu5mi?t68G8ms@B>@V zL#g%b-%d5Zb({7>IS;d?@+zC)YPvSCp*)?|v@60`N8z70QF(9h@UAE&-di18+{vEM z<;wi})qcp1qivx-S?r3AF3`TUisi)LTTm!_&9%f>+Dbv6X70{4TCL~y=mQ|k7`(IvM~J$ zQOpaR@BVkzgW%NlHsbU9Kz;X~E;J_HQ>eZ1i{tjJJ>c(OWX8>GBrtmK%R~yf?iDM| z^kvy^TdBgFS18R>*Z05?P$Hu}J4g+`zPosTCRyo#w}>V}p%(T9BOJ$c98QKwcT&Gm zaqQ&q#w!KAy>arkxaTJl*s|S|sqZG|4;(e$(}modma7abA!8IAy+<9QP<NSLw8)*OQ<(CfqyaaOq?1-^g zTpORq&;`IAS(S~HAzDvS@Q$u(7q;)^i=gbe0NYCG!GEBabHcBrK~HvZ($B0^p0945 z7ypUwOQ}RN-vkO4BkKNZf#X1!h9VboQ8c>@KU`x;bdQ#_=ak|kuWiNn@OhJ2OZJLV zZ6^g8NLnR?RMriB*88wk^NfH8|FFTpqOKeOuP!Q;sr;w6?nqEW9*Lz!#4Gk!IG?{e zaUbHtdAA~Jxi}Rx&JwZ%iPU>zxAlDY1M#CAOc!XDD(yt_(_*UNn>vX)5O_5nJr1mb zy3gKs3&>D zvkV&ahR0=|jor2=V(sCl-7;=&`!=OR?3~Ufa1@m}u*^EOd8opuCVuixs$wQ65+?>3 z@7hY?{*K(vcFaNUFl@&FMjDCzH&zYE(9fU0`s;T5BWDju6#T5Kp9i=rfs~Y`Z5W#m z>Run&O<3fO6}bim+>0sPHxz^v9}|C5u(>QR)IfpjNI_{pyH%Q`I&pXg3F zOqbAwf+}{;>q}RP`(^IVKpC|9GEeR>xKuw}Jly8JG(E0AoZ#)aqLDOzab<>o)QRHY z(JptsYHo}PCBw=n_1DulE}IE{AZ|RsQtp`7JMel7mWM=XMEw}g=_O1IfjWI`)EHYNp+Vit4j+de4#gnl!h}Sw|44DIs@NK_|T39OQb<- zo65R!nDiYH+;$JZGonzbR|kIj@nx5e6Xcspr6J=+)X8W;kYB)|``c3*m&#q3!3cYt_2e>gC=fU-X{d~og^p#>w7M;#m z4!F+QL=ELCT;PuSWaDJ@=pcQlY+{Es!;XWWp_XQ7de^f~>-LSQp?bjQQCSS3lIOW+ z`^xSp+G2CcPM*Ur0&V>5Cl-L3bnDDW9P!+q(+-59axKgW*SF*H;n%v(|BXlagN^5r zdcS`5XS(|bKTq(^txNO1Z#Dar4E5>83}5@2v)ZqZsH;VEK-@fUCjtmnXi!7ULN;t~ zV0Xq1@pB;Y5;CNs;_Po&9^=pl9_sbOtRDzBG>-sOOQ8GnK!FbH@| zFq6vC#pm@*H!qp;_m4k^?mS8VMG~FHIU~DD5;2 z3vAYJ!_fF&N(fui^1vLh4}SU50YH*CvxAzZBr%4zkzzC?VqfGW6YnwBc~ zzz*Z0(Veu(IOaZ+sze0n^}Ctul{ z@NM;k$fs#3eA0$w0qG9dTbs3fgUrkwtrC+p@<;W*Tgzm=!mGS zI<#4;s2O%E&3zgTi_2|Hzh=VHw&#BQsQPrZBc;E7DN&g<(hbzSB8~0oUV7Q&1B;&F z1g9O`>f|o5;e|51VE__O?oY=x+ZmNv43%@wF@=6tN48wMz3x*BLj=f?n@^1Ntmh-H zhZ-Aiu1+`$2|BItp-Q$;u7_a^suQh<$qV?V&x0k8)`+L7Wn(DxY3xVECi~NBG%c$L zXWk0xQ`Kw#=duS7&`)mhUpe5VOGH<4$Vef&fJyd50!AZz1n>)+K@PG)jfGXGu z39?}U0{lly)dJ{sRy%y9v(uAYz^h1?bo8*{@kb)YK^JtrbtOQfV$gHT;0i&Y_EMzrvvMMTv%UAN4u$7%%Rwp^juP zV|j8AqkKA%kLc6jp;8i>quqDVNwB1k-vmUG)<({WwSMBTvZvzs&>AR8l}^`1&SQU7 zm$Mg2<$=JU$$+Gq=Q49=it9>>Jc|h(7EB&2`%;XA7j&Oq2kuwx!(nzk3|JN1vI)Ez z(TCczE5Jp1T0wM0w5O)P9b>y#bIdQv3mr9zjLx$>n9$6auG4o{UDpvdpch-~%;^E> zQMg8EQf(6FMZ&fZ1U^J3OG2sV5jr}&&+*9X8tfs_jYn&&_XPwPi;783 zY*=er_p?cEWyGbH=xG^jTFY^dD+;+Qom&^t$ zd^%2Mdg{)QFVmfbHcBrOGgci+g{^;jO`)1|&~0Hp-F@Hf(CJwZDcgXX9d#C!w^vB@ zriIQXY?|oJ1pa5b`3tA09J|`w_Ybc6tU{qLo$OJ0Eog_evNN|&P!nalQCZ8n{dDt7 zxQND+T?5$6_U{C3pssjG`V(Zp6e|B%dcRPU?ttzf_Z42d;E(~daqv27$|Zk)4bGxp zH6J4L4hiAKpwx86tsjXQn=k7Xa}NVQuXpL-_$(3;PX3f+z;g{Zm-?a75io6gO#Xmr zUD@!BQi7J*u==eu45FBMy4^~7fhSws>oRe2%uDK|1P;ptKr(Y-mW_T)lci@tOyo2e zNF(GdPEcqF*8=Nqx>RxzlEC1cp~R~ngmmF#K-VZV?XEL(G8uf!dRV1iSRxTbC5`I% zKH3L}ftmEgEV>gI4k0jz`|L+bc|(W+YYk|<$%kqml7NHmB`{CH4e|Use$Sd0n2k+X z@4G6C%8HFe&Ve*s#TRY&fjtnd(r5oY_@VRkJ$sZD9 zHrx*>i;CMk6%THnUABWI`!!|$>8pt8t=z3^GII&$D|zPt0hZ&9Ymz^iLDT& zwOunnUrfJry0awVE83s@Wy*Oi7q`yRgoVOsKG;IqS(p3XLQtRab7{M>Gk|DxCj}L9I|pXzy$%u7ss+d4SX2*xaP-m_+ZDdtjnn-Jr^W7gLtw|*G|ElZ zzolR#B#n;HxBq4oskOwjAsuCa{_Xwz`_CW0ojw68HI`#wflwgvIfRihS10y{|LM0@ zG`2a7MJ>7(XFct1{?eEAmx z+$&5_T`eeu-tC6(cc$|x$q+^Z(_~v9p%;xe2HJSVg`6AI!_NjKrgepdERAXPfLfuq z2DsXIkh9O?$~W#ukLsV#ZyE%g`i_DQK;KVU1$2(h_R7+i9O}P$Z@Fg3#hU{EhVCT0 zBL*L)QWDoL04D>ui;~x|fDfR^%rIa*^aJkF4Q#p1=Uh@$v9jAUK!rj89zKR{SAp>L zEe19h_P|P`ssvc^RSaOz=L=^$o3&Tg*GT~p9j^*_LEbH3ecXV40h~wd`yvSWcz`+E zZ3jA?dt&~PLEC^hb!n^ym`_CvIbp|#G`#|L!v!I5U6%(1ft<4+>mvx<7QGU^vUW}O zSBIvaoH1P{JA8f&o)1V+mlkyzV*$W+DJXnvI@T?`Aa(vyj{?mn<2VQxXGlcwfVSi+ zDl4!h(W(F|tF32AC@NA{`&)a69TZv(f&$mGnzmN|+ay=Bp_!XJ7w<;kPkTFWQ}wYb zySbA$4aoDSM8>$r<}5lF3P~aC^rr0KI_Z&pfPs8hEnr}*H($sTB^H45bSJ=BPA+CI zP0I-LcpR^qF!AQFAUzg-pZ$?*nJ2*EriBg(9AE#qbUQ=a!6$Z&(kf|TzXNAM=@dPmEW=Wqk#PID zY)m?|&JhtV^k#{oCpr|C{RSxq)vy7JgUi>|ZB{B{3U`5;%;RK~w~d(QwJVy$ zeC!!m3(osxVu=F>z6IPii%+9hLXscYuMKxi0dHMfJ721mc$tV)v4Y)NJ-5SVOe0Y} z+e6@DhSP`RPM2lJjPdsBe3AW3V7vpM~({3O<_!1fr3XJgeC76eJ9+y*x*rt6kLX{hZz}$Z2=? zD*}Y`9n$>?KIR$dNpula(iC9TKy5nKX`+(!@3QXfI$h_FBpLbeX4wmm?@E}iqH(#t+xx@Z7QSSCsD+8_c4F3_^Cs9Pv8vgW^!o<>1@{V%& zN!F$?!x~q5WYLRI2w|_o5FiVzlLC6(z@F3cdAdItysVAa*E07 zX7VpDb2U}pBtk)GpoO!akLSi!u-pIYrtcFz(|Ie0toyP71(MW9bs`Nc_&G2Y0jel;Uc_rE!CfJBlb2jD{ONHM(H#X z#*elg_md?p2l;@#NHy~7Qt=p&kLhK#KUuKd{BUu}44x`Bi==hkSfQPq8anmoh&)l^ zTxlL;%&Q%CC?vt*wVc^(()1qA3e#GyZ zH`jcYh=~;FWUey5$vq7OxASbWq!!4z)YYG)wP2KRMNAo>dZDhK`JfO5yf-au7CRr| z60rqYi|uZV6sGtJac@-2VQGn5&j2*bFVW@dUpg6aSRS~1yDtUto)$cHwefB?A3 zgVOj-ws~STZ330rmGszkbdZ%;p9MIDbunU;clQ3bE&cA_IoIr!fSqW3!#E)Zlk5jo7EWdcYC_H_aKaMrgXJ&1(=;b6k|Z~`#28C z8KCqVKco>Be`vNhT|*-zD~HM5x=j%nhn1qtXCPxt;F4J`nV_AODdHay@e?D504Wx)+>}myqFcZ)gi^axnP>&^dY zv}Zfqlro_XWlV!F@eb|~W0eRJfU2I?ht$WA6KC*GSKf(Seqxx+RR;`=G9fRrkqqv5W1{NG&%4iRIH?xU$FE zT~zcX__!|SNgtq06O2>CJ7PiwGAL_i^u3)}+ZffP(00+lr*=%w{q)x0x874wcUF77 z5jV>k3w^!w^{O5iIQq=#DF8&CZf?TkD&3hCea4$6F4T*~Dc_^f!1o?t&BtRMk`eU*? zzuzf*$yrr=if<#9j^Tahf^`7mdcta;DUoe>CD2*%X0B#s2g973paj^NF{l@nV+u_c zfI35KjkM!G1B#-W=ro|801J~hD_3+BIBBJkziA?1X2{>+*{HZDJ(x|`O`>BP>~*%# z64N->Tnx&@E6L~&YYD(%$!x6T%iI^bhFr~3U&tLGjB1@(On3T_Uo6^z5tn?K)-aAY z%80Y}1^FP?a*AEcr8I3F^^(lBalpn1?L7h+gw4JNpSJy|kz%ry&q!$i#>Z(p^85G| zF}8H1?lIAaW9lAFg%qti{i3LzjpIs zeM^8WVSm%OvfHN@JtuakwLzP%asJ3V&sd@|bI>x!`@9j?cfh`3h0P~%(@YY!LoZ91 z56ckE*18^A>&2T@ddmB{<(_A2#dxhvK~XxPblk|=@FY!y!2n=6TY|@EoeBPmSom#= zio1?ZB0X;l4w%aFS!9BA3k}5726yGq7-Knmf~rzC=%Qq2ZqFUu9qmS8drVwM4Jo{B zS@Y;l5{c4YXEeZBS9W_P#3Kc3!Ri;P2D|!Qx6|vvJRKfR5s>J}&Msi2VtIi1mDy7a zqN$6Bora+AXC(u2HX>`4Zbt16xP{@@HR=wMNWjS|1#}5d>xhy+_$F;6#vbtw%ZMKF zr=pPnZt6o$*QoqvN~1cxY903F8+N{z1ti} zR;`*>pZ%SIiOg1AiJqRx#NNlS8$M@5+ebwm1G>*{9~|4Pc((hvSY~U~JgYnt{OsDNPM>-E6zdYkA0GY+>_qt@y=UV+s@3Pb_CySw_ac2!L&et+CR#NGr zq3MNy>TINZU*6hmkPSXHzzJe|4yb*H>R9p9TSmYpIQb0{@IlNv#F=}&Vtl7nL zfhRcET|vr!tVx_>{8h&$`1zg!QwFONw!V)7)Ll#ivs<8#8js&z!21X(mi`o>?|qel z#yTR2eL|Fq2RE#de-vURHF1BO*5_3$+xQKqPPD=9NLw}tsQt`COe%p~MQ&o{qT>u6 zqnHFGs0rR>6=F0gH+fvA@=594tgL?|uDW19B6waBQ zccj*d8JU%1fgL2*D?)Z^i>r~a+)G7M-O_n&=@4yc#~T(bk6hQCOEwC&SSD&SM}sAs zocC83JlA5XhqHZ)RVQv7~rLmdi(lcQ>hZx zjLr{z3H0$ya2I+8gnGI0sfWrg~3uJ!3R4^shmU5*dUVu9!lb5 z_8hkc;1>Gm>9bRk{RW>^)tr(0&LQM-F&UzR&Zlc)#AkJ5g6VL)&B(x^QwctuGr z0VmIppKMP!Lckvx!{fWqthzfuvCl#)^{@^|GO~PR z3^qT7y>B|hkenyWA^aH?)_WOC!Ur}-fEW0fuW=eU2inf%YF9pvm&b!Ln@}!Srqu4x z1MA41y-6i@dK;`IT`T?G}U`)6T5Yyt%(+t7V+{N{45uAOMBG13`5g|6sZp zSr2s>U(3JB?&GiWX4ND^>*NAnShT+BMCunz#R4u4ou=fP7}eloQhzwDduvarVeeZj zW%}*aUXcOaTF$)!@%wijs>JC7b~W{gKAO|SZ46{**uh|-e53h+glFkb3NPUC0&B`K zkwyEo_xQ5tDIS9Z9t=?!v6Sf6-XHZKkmsvrypw$|62YNYo`BEy9HS=|_a1gXBvu1L z1CwMEK9NA4?bM`c+7y8zk_4AA{?q06^-I^zG!{BWyDX~~hLij}mrp1+=Y~1&5?wrM zkQu`^fAK6=^TGH06L`M73UYH*d)sqxHJ?q=@fa8 z3c;oy^YdaogM6A$z|h{-AZL(SDE;tIcqD>l%6UHWqmH5-@p-MK2$r}KIovm;8zYaP z)myxTr9S({W!@(vKyWQ@wNz+M10RA>jyA+f#+L23Lw+g>L-H{ACk z8^Xq>lWs~?;^2Ita0~E4Sm}v{z&oz(U_5CfUQuSnQ#q8IkF&2f-`F4E`z-m@`LpnX zRlnmb8IqVK;v|r$&R%C=OI=@!rHXFWW`tJD22UUnNa!Av%eZM1@4fR*P%DD=%P@?I zK$ct*cOLc>&yNRSnOsM?Ou&8Fi%ayyaz{tI>ml zcp%0S2&;8IKMU$!R*C;L7XO;z3VKFQ`2flsQA_ef>)6MwD2<3?ieEVpZbcJZyl zq3M~+QzSPooAFIimdza+tlbMPIcyzXL4O6x{>gl;-g;QB z_9j?8L4aRg1~_;I zr#!ljx-d%G?8Vc%JSp)KcK>^K5*DouwDPwQTJxT|=eZ}QTICz~7}24nS)B7=0_>4dVA>6x8~l25D2vc^2~LV_b)ROw$*S0H zgj|&M_35zA6R%AkE;$ps593#gNFHcE=bv?w8_s?t`4bftOlrISJo(R`{vZ;A#QZO~ z^cG|!y``-{>R8$*0SM$?@;4KXG;daR0j?VAHz?Z&(I;7>;C0He{^!!wIhvEiEl>|D z1AfM_RP@qUk1!S*1^SJz+r#M7+ZrL?o7WflelL#uREM1#D zsafXz4k;z-7x8N#JZHttqrM(;PUD?Pyu2AF=*RQm*nOv!rw5s%@$^J9%+IODrVS2q zj#kmv)Ta?inl>sLmBS%@+A10BnsA^bU(6E&)hzS*w%`rTl`4}5+-k|TV8d3H8Kl)> zY$mLlWN=GM@e)gFMGd6}(_lcV$T`5)>j+Vk1Lmu_tSPmm$}a7R62Y$*{A7WxN5EJk zWUIC8+h);C8HF5Jwizu!Ch`bl$P8(t0Ohom^g&Q9cuo#doxm*kK9M)rgkpzKA^1~s z+pbc1+pdzj(sDME>Fy;+1)VSu?9L$oZMp;yEJgtB`ZOnw zH?HU~ie0+lf*|l=B(&qjkR4G036Z|M}j_9`HunlQ}z(F6pFjftty$703pc^RH`8n0YcC@?2{^o zy{FGobw;Z)0)ScYHO1x7jjt2V6d!Zd>6^#>#tLYm zdGC0^Bt9lGM7QB1{COR!ppZ~2Fe&29mi z`62vfgSscS@+)rrtTJ<1QyHC$vzt!w9qt)>&?`21YX|MOEo1w;$|oYMvLNTOWv6Kq zApc92Yfh8QReO(lYThVw)E>2p;|xFV3gmA|IGh%A+3<>7 z|C|8J=^>OK-DSZmn+p)=qY7T`QS#4t6V@I%tu^`nS(^0Fciyb&?AN17%n6Da8>fnh zAzH<%lRTIHYoC|=EZvWBY16aud29tr&D{Ow1~R6VE#l8^bG9|@0+>+iz^xCu)(V?l zHEV3-)S@!h)63I#TH3`q;b_c_-z=y-Nwi;b1YB#?^iJJcZkftFi9lWGYtU70L?m#} z9=^MvHdO#>A?Gh z+XMOj$kzRUfH)grDxtG-tZikk4-Inp+_#{ zyNZEA-IuzNm=`aaG`3c~ zUL=#iECbg@i@}+);acxb0WcElxvdc$C(2R!XwDC>4VC`$TA1rBi=z2E}t1|ET}A> zuF26pvaUD*O&{X*aQH5S8FSE&}KU6MSyhHe0r4) za=Ig!Y!f+Vh@Y)k9HEj^A1;p$*uAQipiTeT7Uq&OPf_ z$%imH@KRvp9Fv#9f0oQZNMw6PM^$_zO4T=u!q%}~A3nCtgDN96Ye)hNaO@GvW74lE zE%~b0W6E1PHc&ng`f1~AM0LJOZkc5n3cAiq7(RK7%H7z=&B@{D<2?9jtnss6{oI@O z+_`@Uc`p-q@In+wl8GM^|M}N~_k`-@7V#K;EOV9n&1N9+GJB7MkEhK=tblXj`49NI z9#8Tu&A--bey!k~^O(Q)_AU2e9zEljF4o>3@*V119>6$Z4785HRQ-xE&=Vl!Ft7Ee z`C&NjU!})O%_0|;cZF#GV*V+F;XZWubCiFf=OKyzk#l2VUCJbU`}GOQ#w*gNg zkR7)SIL#kCp}q09Jq@mIoeo=__CJ3KCjTe#fDVFvU4g`>qlx;@n_Z72_$W$c-$WoW za*bo+Ik2%Rk-_v1V6&WZMgP|QauWl*V~=w?uvg!hU3_}&-wutx=Jw~E#E@&OB&goL zb(W|a%OU>z8wI1zvHy>O{#=7UWm*A({kWL}xz}<2;XP6kZ!iA4`Nyy0@~8o$;m&V+ z%#2+m|CZwCogz}j3U1(jw0IF%8Jb}6YWeOh817sj!Naos-{KGqufs!F?%a91yLEz3 z@xcWO_T8yx!b~kShldi4%zYG=208W}g*(`eWki?k<$kvl92a~0V|o3Yr$4Usuki8u z$fHYllBOQzv1b3oh3*iXKfd0E<*{Sb5k){he1LQQ(ma(%n6a-*+5BwKRWR}&TMSbc zI)6UvKRy}rr=LtGL3Z%b-M=x#{Nho#9))c`ndUi^sW~c*(Cxn*8Z?Ia0wO*v0-GKP zpYq;odgm+8TYgU0k8cumBmD0Ax8MBEa=~0h)EQW1O9D2(^4}G(aV3}4OO-BWm+M{2 zR*S{HfULLQ@E}L=OFMm7)<`y%CU7Ns{NEyfLHkR+H~zkKz!xdJ!X;uXVP&)?G;H{n zLHs-S{`Z0YeicQ8U^A|(MePgSVZ?rQ;jd}@xorLs>c`yRzndC@w%?aBi#>hBe~d;! z9rq#2pLgWvN1em|&r|1*k^Ew5Cg_Ga9TH2pNd8>tlK0;Ja(jP%*#BW%L_%OZe&59m z+kc%NI(4kLpU2KGm+JB3ssHnn|C%1KW_UI(6DVv}z!Sp%&_qTuh&b9%*dUu!II)Oj0;y(s< z=MZ%c9%a_~>xKUO7vDCDJ6Lu?G9!L_hta&h4)u>a@we&!Yvg~I--0Ux*0Gl|9dg#X zOu;EC{}vd={m=N_J7wZq3*xy&s{9CY4$OKca{63bXJGfRB|21F#w8DOj z_pc2}#|g%BC4kTP!=EdYhxGjL|7}eW4D-i9;Xx&jS#WipOn<*+Z7x`G|HRV%_iG$i z{rJ}THcr4l%nNn>|2p{p96#orMVR$pX4O}Lv9kTIkNU6E?dNR&*8-!vgqfaq+)H3r z+rPld`F}fH{=8ovR8PTp2x=Xl{_z1pb=aJ@|NktbJ4r9`f7urQaZ3N|b^Ni&e!o}R zm>?li@bT5Z55S}5PJPt>!(5$0=q{bNJIxC!{)ga1;W{?w{|eMF0|E{b$J4d zu$^)pKJCVVX5kucV!-T!c^vQ^heFXdm>H$JiXC;~?=$jaSN_kPE&PW&^GBTf;H@4x zn1`E+Qpx*27GqNVC9D7Yhlt=EG`8Ex32NPep`Id+6m#I|-vyS?1=_fazmR5vKK*~3 zU3WazYyXc_RHz$C$R3eZMn*;`J5u&4$sU>6goKD}S&@~!_Xtr4*?X1kMrMe9pKqsi zI_G(wbAJDvmvo=I@3^kd^%?Jhr9$w}E);h67owpw-t$CBGEW8*$^eGZS9wAJW)=Sw(*r)J%}4KZs%OSPs6KaflZ2 zz|6Zu#Nd9ApKRCfq`TJ<;sLOn(*ziB}P2S%iaY|sPUW!AITg!9J=B9DK9 zDZ4DDeiEYVoIj*=c0hYva}-L+L6Bo4F3k@G0T=@WV+pO$ zx5Ivb94}JMzr!n1{TXad<%T{2X81kalC%?f@o_n9F@pHNki!1k8Tmt`TH+Mu7JYmy zFpy%v{?Qi1)dqmTZ8BVLSFCPc+09xqhG`6t$+v*eHjK{;{6HO#-3CJ+PK0bCaOOnH z>(2d$@CqJLON5_QJ$I(3i5gi>CKMPBe_am0Kh1CZ;%CA3kUo$Na}N4#BW4vJFRO!i z-&((-H0br_q-T{i0j~Jz9F>RgI2Ak07In@c5L$U_GS0If9`roNo^gqSp`abxg=mXf z98e(Sn%*d7zWqMlU?7;`DmR@ty7jX1k1`rW9VSNiv6L~%>kY|Jw{>N zE?`s45ZiUc0A4&!slRvFx>L3YaEjWr-oow#z*!br08S9dN^Mw&Bx0Ya-Bbm}qwJ;@ z$mK2oXfY2VP9WNcfP-&)*M!KR!q_W98l^aGaE$Ml7`o7orScDQ3_?6i*WIlY(}5C> zE3>fH*vR}|>zn|Dwfaz@;V_AHA`=C+iA=wpac@@PJ;}04rwGgx3A%XUv^_q=r7Uga zQ{?^j?IPD?0ilUvrc)yV#PXY9BuS|N6l}y5aTs9bJ;}19^0k_`dnPQ_g^`^QP zpecJUm?bxsT1p3$VrTDU&AgqB7H`P~T$E0OH@U5fj$@)q?yckx%|AuBzoi9GMt}>= zUxL@qe8f%o+VM{x-s5LFm(N>l#S!#3n+(-txg}@LsPrqEvjR zuP8@(D$Px8ZUw<<9woFXL)cELm%(5!CQz;D308XUao0%(k$6h%dID)g@1O_(boV3V zvSO@2-S3d@tC3(4ah*RJKYzZV-vY>wzx;8K2uIX_BGdxN$C$nz3(puFwi|d6%3Rmo zcR)s1}6H0x!cHI*XAPcNX%w?=9#Tc;oJi)oYP`0 zc^7kO7b$HAC|rETcliO9ywu96UFlFL8^!r%#AU~{a|9NSc(Sw8esnH~C-)=Ws4oz6 znWTG%H}R(-g2oxfwZ;jJ?j5e=NZNW`j4-t|rn@d4+bH!tinq;+SE!7r5_*IU6tA!V z!)f`|sqJ_`S-$}31pW;WtQ%P9&qq%O*6Bnk8>xPP|&V~VgpacE$Lqd zu_+RFXC~#`%icV4;Z0%8#L-sJT#{DK7KGst?f~I|#7nPy&B(pE_=cEnyddM6L@+@7 ze0Bx)t3|U%6PeC@;B^O0ns&7UgYhQ`R}n4LxoDJpTjY6$rf_vH1iuBEHZxMW=M;1TNAFtt7yrU0=ZhDPWm>KbsPsjwPP*z~D2o%z@1j}!O zducwm=|CUMfsH&4;^u*fr&_r!dWiJk&1dOLNfIxi?;4{CuZp#)Q0yHDRF)am;R6Z{ zP%e7J+D^H{_ul(2zQyoK2Ns@&9bUI&h7*Xn_5+x1vOdN|BhI_gb@}C?nAhuws{#O6 z2LTRifGDeiEJY7%*$j2CME7R19P9BVxK$kliKp%%HoUvDSqyO8h}LzGu%aWAtG%0f z)fAL-NZAR35%oA)0olID!@=^sx~Xb~FSral>WO361sQ4CX*U2Es*DB(5YI)<0Gxt_f*@SFEGZ`wCusYh(I!EFA+M!C7b z&04JBtDE&gUp~Lb8W^Y^nI6;&k#@@5kb+YNFUqKOWwyfoe0O`B){KB!qLy#q1&vD| z0gm|UG=i)FUeY!7WIdEp`s0Q!r&pqEq6WB9Krg;({0M1g#6Kj^+5Srw^q=YuMgvUL zrO|;cJU`h+a=T0Hg&z2Z5m{R3tAd#~+LIYi!gVL8H=1fL7K}XJEG9lweW!Q$o?=(m zp=!<=Lbr2Gr7;J}^yP%3q-S4;!1!SL{=5`T(avJ|p_nA%BZp5Odwt-mHwR$XSt{J= zp2%?O`&^=nzTQEKHExS~EXBAB%gk%oo#k1&86}R`e*H(!7>iNjjU}22m)-;DvW}KX zj?lCW!ale8h(NF4h=|n;xM5Z>5x)db9BV$T^oGovl4x{h_2aDPO44n=bs}@=&Ie*;x6#q!U0_zl~!5HSkHc1P_nWrDNu2816 zg`{B4fxEXVNX22gp{_88lqC!uY?V1Go>>K?GY=(TgWWy;oWgN|gE+KbS>jVPk-{u6 z6hRGE>YhfD6w&A~VWkqaF)wIk(s!yKMNy_N1XGVX@GH2~;xMQnFv<56K;9BL?^Ep! zvL_+=w<;hi$r;QKN-ckGIp0=NdggZJCPLym@001QT3Vmh6xtNVGJl%(78_NWlN9*2 za{4pyvt3hhiyr<6nxh+U-flSf8I0F@y$p0Xxdg|f66np;giDZR9%NP&lmHW8^+;B< zR^D^NB?K%<&rt-zgb|#E*SffFV8MW1aIh7O?BV}WJ9v>m84XsgtYzDD;TpI2mny8< zbL{i)(8nc|H~Q_J=4`0}PQmWb$x|s{cp=h^sAg<&*^Ys@kEYrV+be5V2g3>2f_A3h zb^6|k?-9xQ2HGM-B%)FScvQ^9+p~d>1{9$o`y(6wXT2|BEmU8DVIsnx@xM21>c~U) zHe#>Pbf|=C{7h13l+YK_r(fO*s8=~f8gBx1ufHHoaUqjOEB~tCcKZp|2y@^jr=&Og ziH0)WKtET!dgQ_Bjh?6ObsnxC7_6CBT$+GzXE7+l*wd^(&pj*G;0Ro6mIdiWHZasH~ zc%01JycB%Dz-Z{D$DyYMU}h2UcA2b7TWjiY>I*JLACIiwt~ABr&zy~bmroYJ=boA* z%;U0+J)FuFtZr6H$8@;RGj|$HJB}8!OxUW{Q!d9mTb2N%@)4gBJ;$zQ|No84Xz)8t}Gzn-}js7 z!QTEV#11!#jw5woz5&JDFNMe_B6{*soQ4xq^mwSt>2eb$!zOv5*187!n~Fk2k<<OhLqpX7qK#4-S54C&LKKs<)+1%xx~G3uG@Bx(5BS}?-IsdszPlh z9O3wy${S0xErNq4M;8~zwesr3tQ;I!h{UZwDUU7n)cMv6b;>Et>tiQDKYJ`2e9;jv z*Nrb3I&Jvhxa=Mh3AGh*XYDDfQM&QVks58lKycgB8oITDXA`6P^h{bpmktuAkxei}N{ z{rQ(l0ND_Icd>J>{oEQqcF8ZzW5QdQ9a|MU8}i1k?`<~v5-*}NpPBdNgmk4SU!8AX zbRgZ{PN&bcUO>?j1CpM{4(4L=LM}rpy;r;$;${dwLD6WkIn@2?bjgyL<8J87 zWaD>VJ__1inGPtr{gIlB?TMs_QyoEg5v#^V(VA^Xh!)69(GMrrmuZ&Uavcz;T<=kr zO>i1j+JZyNwBrm@+CuR5>y*8YVk3c2y4xG3RgeJ0n`fk|UNV>+eNNY{a_Y*e!m`Hf zp*p^+La~-WYCcUjt436_2}iiCyAvYi2eZ$(&VD3wH8N97mdQo%a-3#>6Vjv{2AX^y zv?t6-4m_}lSzV@-&F+ckgv6O2K8*&%t@UbfL_)*A`B3>Mb-Hms8;sP)uA`|+UaEvm9SH=S4xiVHBpQ0^n2Sv>5#_CGX zE*$_hw#lMPa|*|wE6Rp@HKUm3-O)^7!f+k0oan7`g4~j#Yo+s8Gsz^7mT*EgP*QO) znO1m9B&)&`Y1fMHmD1}!zuN?+Cn;wo^kZ$p3}xtiRErzz>!=N)MMd%P#3{nD)p}Xd z>rykfQ?sur?M&M8SMp9YUSBgbm;Nwsiq_Rs)W(~>$?@e~Bbn}aYKu{dw=zhy=_N}; zmh*UfUl^s(XAyuCEIf z$fM*kGRh$9Z*1kACYv8lS00*axfU<2kp28&J7`gllTx3j%1P*cu+x+U3N`1#W*{^OF(bh2?DZVpd=WTc6)@5Dy68*#Kn7^wYkm z5PWRyKz5!MajLO(s>ykxN)_{SjEIg&?S#fCJ&&dMn=ov(`vy3P=SdY!yOf-}c=9*w zZ)7{KLC*-Q&igxD znj8F|s-+Ar<+a)k=^+G$PsC><%)!FxR0siy>|=vFXtOz;-eO~OZ%zSDgCf1=6Qsdj zdm`Q@Cjrl2OFgF&Gdc$iK5*z^Ie8aECe_O~$kADjOU3!E7loFkb3Qkui{8(B1T_(} zmEqoJPR%GXlsfZ7p-EEY`4r|OPpl1?m7It}=DV^;`*Iu1%F%aH;_imoEOfmJ;42fC z&*YWeGrA?u%Jd+C-}_ZVBbk*NdP)NUM)22Y&al`4j-5bQIu0Cl!oJqdnx;R+LP7UWiU;Oyr0+f)x=>) zfbe#S79;i|fNvcDJxgMFKs)dM^Cf*VRWCC}+*uo#sFA z;%b8J*0?sHB9|Ndvs_`NCdj1|V^+|Rr48)dN(@;7DfTKRX?qpnm`CqI>oARSqo7iF zmApJCNP?4^j}`LA2s=;~lk;z6bARbX{b<}kQ+4s!CrH{B{Cl-<4)Q09OB=fyGw=gF z0FfHBRrFRzdlFp5oAa*Pd$9|0+#z>zoN8R{B2MdtJ{JI|b$4R4{=;1M~0545sppWI)OqHsVgHaHWbvhPPQ zoy=aacw*2Wju2@&PRBw9&;tOulq;e4`g`Ze1a*vnL4<}@o8_BcX7iDX(pAH=hKHP= zmf3V>-7GN&pOmh*VP{oufg?v%zD)^;v@C$3o9*g_+2_GBt0568Hc~e^ikosJSF1oA zOr!mlcwtx|Uy=WPR2(=W_kesMqSA?meky)c3+R659BB$P(3n?RGdFxtKIBq<2D3P> z4XVXFTG~zYDs>wVG-p2pw{xuP1BKJFJL2Fqg0{pU0cv`F-60IV7o!wa`LY8`E$X-DtwYSQ6{a;bFiYa0C7ETt61 zy#Ak0#P35sSfBE#*k?7^M+wLKuFl=}V=c-VVM6)zZDq2pbkk>c^Nh9}Y07QTGtGWv ziO89>Uf3C`N!f$L@kmpt;X=V`>q`su;yvO%L^(-YR?2V8Y4HHD+6Bh+Q{13Z+dYt7 zBohwG&L1qvyOa`)`=v&`#NJuyw>@EI^4dD9UB;Qpp96B)+`D*RJ(AB6XRkBYJg^_kSu-pLKI_8YW+l1v2lb$pafsHb!5Ralx6v) zIg#3r*E?%5WGdOJR|ClTqY@Il+tOc;jte)ET%N$QYoXyEJ<#PsPQ-NG0@J9HD;{@o z_u4COn&qbKVjOG5PsKPNIz`1v%Rz~O>BL-t)y&JNZXYSm*zTf_14zNU0Y;9z4ddGY zkShs9`%0ikld*fJLs@PXV0ECR=0zskXw(HEByAF3&%%CxlNF{G7D1is2feT6Dzr_% z_1hEfJ?XMH&bEIfT=n!~Hru|)LN=rI!SZ6i0f$JoUz^~0m)yAj=gIdZs0JxC^|<&d za?yp#{qYO_*Blpajx%%|Bhwb;64*P~R`rh=# zMNfkLn{zkPG1VI|a8EH>8O}bTV+{{5+Q?W7x;?6tKF?J}&+&V$&8RXNp)Obk(h`XPiX7i}+G%pjU{Y>D9Lc_!+e zTCAm%BoL42auSU8xs+a)<9UR7=|VvF`b8E=Q?~orCw^OE_BE z95dM{w=&Dg`j_&X{VCVj8ym7$fQ-T61Z?9;6XHp?&YGL*=MIt@cG%@JGN^gRuUaa zzL(|>QYdu!Q{q`JP{U(SWjK$(d*5j zyzA&?ZN=+DSvehRc>f(T6TTX@-Ztub=)Kg!+!0dI`{+k&u6j++4fnXs`o_x3D{Lh` z3%KraE3AFCx6+KkJ4D`9gU6o{B*XARD|do_2P%w~$BIctHxy~jdns}7K`|j8@x7!I zXRHFgy=K=eVrr?9iPeR)vzruZH+&6`H+dXPy9{qlktM&v_a4~^EAIofFMSmKn?jjW z)b7mtSzKS%InK-eoMdgdps`Z(n0;=AfMMFTr2FG^=Wq|-ePq!!nsf0Y;qWFz@Bq>Q zfmX0!q`PaWa_n>!$@!?;DzvAoO3%%`pRd}QA|>Uud@c>u=|?j~F{6v}z-^7KNjY>$ zWsLm#hi6nT3p_ie@>Z9x_n&s?X^9k}!0Dm5H-_OCev8J%uXO3;$mWXa!!7m@w#4g2 zCIf9MGwyN0j6Ed&+U+*uafe^CKD{5yKkY3XL|H@oKe19j+ln6;MgR=%&P=9>+-bo>l%*LeFx_Ol6w5$J{HCuMw}p%BO&$epCB2G*_~iMBV9xR4prnDVA)*^C01 z=FhxO&xuW=VjJmwo*Q?+AbLbWTFOV}r504=@gVKN#(FkRg0%POwGQtkm_8~xCh3V! zqJyhN&GokWy_Yc1!_d&!dXcKphK2JvF`DoXkXaf|&V~OT^?rFX)X+<~f55aqj}F`- zT=yjX7Ndh|IE&)gzO47gjTA_H916cE^=Llv;=I`8=7@Tv^ef+_7`E8U?Oam4pLdl9 zPAP(FFrJZx#TcyjfVWS}SuPk2@6M}2G|Jq=ICO9w5|=!^QC6I$^|>TNj{W*n+?K{h z6R4h9$@kNZVEI$Rg9f1jTrlteX(3;mNkiVmi>O#>xkV3wn0tb_d&sGx&t!1W(9V`U zY3Mw3$6IvReW+lLW+b#1u@Uxw3Hr(Uj?j43J7@@lO8kW=F5`n6Fu{bO3!?T0jlo<58KCg_I5yHA{0*UKz>&xT8tCJoVVD?$+W71&Rg=dcm})_*KLFqr(#2DK-yMNz zUBVw;O#LyC*@yWNXY7At%%P`AiRXTpi0R-6E@=r$?iA(5N5*c6j^cU|09JMbCqJcM&pg#Pl1hpasb1ZXU*e|FRGWu%WUf`n zv8N>!yBjo(44E`N$Y&^z7iycS=z}8j&b?xUVh)SVVtF9vB!AKHMhNiDj$3P&+nVY$ zp1O%~Z?b8S`blHanTL6pE!(SiXfG>21$`^YNNHXl`bw&`v#IjW?vtj(t9UXht8j4vlsXZgM{B9E%I<9{6&O^Ow+3JmzLR!`8t_ zzuXL_G4XLn#S_CWT(cFS6?XwegF?x*v~^7oBH`9=Eh-k{jDuqSx@y=Hvu#9t!+@D% z1~fQL5U>yeeBuy*4uLGDq4Ndk0}+S}0*6Fh#f>=`X2!YDmG8)^-rHt;=>X#^nOo!W zt9T}iY9-n(Fbl4TWEWblDd2IT%?o`vz=OzCRvNx=glbU65D);i$eb6f$~?C3HGo|v zVaa+8jH#~30LL@IS2~)4lks-L$Yk@O^Qcb9;0I_8HspqZ_jWIVt?XjPv?o?G&E-cq zAYIgiw!ddWA$GZRu1_)zoFT84a=V^Uu-IJ+0a1g*^{k?4RXo1N#N6GB9R4nh>x zI!YDM9ve3@`89~pl3;}WPZ&Gp67~WC%AFNzlyRTh+IPN0ou1h^{GLn@IE9eTwmVog zR$}rOKia&4hyMVw=Dg58z3})7Q0m5nY>48lmi!ei6#|s9a@KY6tkml~geu%*=xy** zJ3K&csghWuRbb(s&lLxP&leo82zYvgE8*gFrr$_EF%~$*taNCKxo%<(5@|=ftf`wf zH=fWL2G!Lu1O>>iu2p3me7}xfJ*O;xU1$%|=*_6jEdg8HapN(tS&^QeAN16gTdw-t zvI^J^F9~cWkzA8FTAdK#yC4U4Vx$1VP=(~o{NR~zgOXb+48t8YH%&Rrj8 zGk?MG+dRZgn2M@~^EU(|a*%vyfb7FMe9^rrw9~T|^*IX+(#m+56VUZ+LinFiSckk$ zit;6#3^yD??AS`07edQ1=VrC9=AQ|!KHMPmrPgo1`sJ;_%QBN}f)v?jHBSj``h~OFN<*vzFSV z8+_lv0TMm*^xKjxzzdS}QrI>a6P%!g-9C7N?btFPa%5gw?yBStC@--+6lj@*YRXbX z_x)R4aLH6ywD^Ed^$odS;B-c{E6!RSjOH^+H!KI5=e zEMHReoawWeB=JwGda*QIUW`alDixWimL@zgi$~1aXj21jOh~(>`=1C{BV9zK4I-yV zU1(@DsuTNB3_D!LS3M~VMkv_uuSnoOepZBd48GF~~EbQ7igj(A#wMGKGx8-P-Wb z#(=au>NnE2Sx*}g$oXCy&bcW%4~{RAV(9r>ZNxrePNB`O8npQfL*)l=c;ZcD@s+Mw zK8O{{bAF+m9g7UNndb)5Dw#iYx_ACaHGT}x{yR2N=L%JhHk$9miG5#%MCM_J+x!K_ zyJ%3^IW&pLkRS4-W<5ld*3h|2!Lu&OQnoKMyPB__IP>ybHKnT0BO<&h4_cq4_GBNm z@88~Vp*@)lsbYp?C(Zr5qlPhv?@%NwuJi5<^{TUc0~`8rF1MsluvxD26$p%r>CJY$ zJjC;8g}i6RVh}9dF|}j(Z1xY5+RS&aPT>VJ&y`>`LY&mjxno#4*CYErah}>g#(Wvt zR!=eCZs)Bag9DJ6qv@nGl#4me$Efmx4Kkd*rwaBe={$&(8y}Hcp;1x`oezRp$W3*w zxLJ2Fg~|r^8eWIqCtXoCP9=}^kXYA`i> zjF`Z8*+IbBfDv3&$N~)ZY~F>XAUXno@)6V2c(UBF6YBWxdAiI+4M%jL$mpP1IZHQb zj6a2tph0lZn99T~l<?p`m3D?c*$Z+~lCMw$R_1+fh-ku?6s^n@E!?MjI`02Q{z(J;D&eO8yZopT=1z za%`QumZ13{(<`R%e6kuKHE3VvEQ|X(7f-I$l#bm$a=!{d!S~9lEG1^LjQilw@6|qD z2Oa3sc4*Gz)^tJ_;dJdgk`!m>QfPCXOPs+I=DvNJpaz5bJP_1_gui$a$g#(~N9NhE zE#Gk}ulviQBK;bnk~ZfVvhXk-%v9$o7Gf*?fbw&m6`t?1clH%aIM8)U8*G9nMqoR@ zP8Afhk$ZbpgC=N(W9?-Zi=JRq{vyH0ho{^y0nGexpUbbO=eJ$(%k22qeF4qy+s0ln z4q-Ly8wFCOdax?*(%%l>`crl{2hc&%DmJX)Uq!W zr+()^&2?cn!%Aj7uh^u2qJd<&THgc_>AIR7yV2qHC9R3hC$l+Bmcmdibf;HHST*nz z87kBKiPl`;1Mh?D=V<4YVq0cG9IOEHz>+RdapOmX=U_!C9Dlk5xVMbD6q4_~0PB}B zbn#&$(k2j-d3v?Wa*@mlF+>HWQ~6M7BXyX&>U-lC8mEZwa|I!NjhaD7P1uI&XV)u4 zFHJx_-C-RIOAFtso7X*zT4@C#1G0IDUhPRigTN&N5h==L(grv zY5dM@y353V83D{nC_BH>6|wvC839+y7YN#8+imfX zL&iL^3(Q|ScPehbd6Hb2Rq=sr z!-^34wR!pNDEj5shLl2&@(nB+9B?Z$CR%l@u|Y8zay2yxj6X>XTIQ70aFk^Sp)lQ zhv#_3ws>M)FUWXoA64%5JmuEi?qw?LnptkJo#LJ5c={=AEqJop(<2+I8a?eSqR*Wq8!rj=McyoqC&( zvHxHn?C0ayFS)LY-whj6b3UwC28Vto3=dz1(1y7{?3PW?Kkx;Y>Dtl4Vb?D+mC+M& zn<)lEr$osBMNQNtjh`l*<(}yF$cb2RdPp)7;ANaG5%2WO=xZq(aVXQ#xz z(M*f^kJB=pnxHD9KhH#dPsbzPsa@m{)O89KDg#_hT4#5;n3M!EU8ZBC>uuS(CWq|+ zA6LIo+mk8#E}AHY@0};eQDZY)GXs6luFl;*RH%azIqyU=&6= z%)=+gZ4aBIKkP*j&sU6py#3W&-hPsZAKvDTM^djudyNni$rr0$%cZqwXJ>)9>}IK| zt4$+L0D;bg0%{h7iV*M}H?;W_t&NtXLl9&Vt;XX_bC8q7B{^3Q^#MvfbZK(UPPXbQ z)wXBIKY8?j^z;8jd|@oZYUSI}aGdln)+|e_%M1&3^-YEW;qF&`ja~fp0<&R?A`CX% zTm3!OJ{r<}SAdl|^2HMjz-V;h^gmhnE-d*B3&ws^ZBJxS5zCDAXh~c4(Sa z4{ykh2lZ<(-*|ERE8q;Kzj89WFoy1j3dJPx%HtxC(N|M(BI8$riQt0!q0{W*u`W4Ec$X9}zuG;SOEYiFtz>=OjTsJpqXJAhd);gSduFzldp-00V5DXJ9m z@ob3o>KWf1|LjGqg?%s0xkSzuR>FOU811SB`rHyg{g}eVaU*zn5LJJ=`8tTkbmhaF zje3HsDi@?|F2A4m@)UI5j-Yn0hR<$5@a09Cr~$rHG4D>=YkC839_RdCfS6n1KN`LL zF@^gP^lEI6$G;U__W98B9-4mFHRikyk~AxJuNV`h@Rm*zQxn z&XN09sX)%9?;p=Y*v(3ebOwqbOgrEH%tIQCI9jfK+Qkwb|IQnwOu?G@6~g%~&Hf9c z@*7t7J8_Yc0tb`;@cIxCTp{%Gli(ajei8PIGyy*~M$gfoY5Vv2=YRWZl{KKcu{!iV zBKZx@4^Zo9ioXFN{XHR7QW|dD!jR+tyWg3xz{K8=Si7SkNqSJjEJ)&cs!WVMtS=6% ztdfbtUmqoSmieTyIK3h}k_t^4W15%o@f$T8BT@&rmIV0OHfh>ufN=ethx`kNS_hx@ z%jvOGR{s5eaI*jMk-*Q6ZpJNKckmZ19CaLRLnRFwx_^K3K<3V=eQedH!#LoFCmhye&{20&t@?LGRFq5RhhK`55IYqV4-4iSI^%T_!Yok0=wln;=3ArngH+-H-pPfyEDY+Lo+N zucnlW|BKMfu0=Xrs=|+71v$cC|FoWCItB0OF80{JpHTU-WB8<|E4|QJ-$=i?ZWOE& zSnL>&J<0@3Wd$r>@leKZ1%mBK%(H(_!~JoEzfQ1!He)CQoq_Un|u=p2W(7 zeTn}xHho}*+uHJd8f=gG6KM1Efqp-ae*Wg`KlkTH41dY!i{-mM^R7;U{SP?|)sg)I z=eLG_(Z={w92Q<#!pP$2jrgZQZlT7}4ZBNRVWTzrTa@6X7H0VIB7VNN|Grh=Li@Df z@fU|v?*0;OR$}+*e_y}9-00t9-o9-|=(Yj{Jx~KX`4P zF$norprgk*6xQLWebfIKQTXRz7heNWT&@zUe6cK@97+*e7_SZLg=>PpN8teL$4snF zWsSRDh)eqh%z_7iZ?4!DA_%#62sx15!J^#pdG@1^P|A18T^Pqg$lD0B8$sn3Q+qv)hA+_f~5S$#+okn#_K=WJveat2wFlg7 z(6JwpA^>&3k?JGR|773bXQa0KZY(sbzM=EXQprs)<}>PI+yRS|=uCv{Br`FGu=?cq zW}lz+%O@&Sb>?aSB?VKETuTK1q&B9gsS)U;4FY>pqo0BkU%X4H(#fd$&f8PLsp@(- zuegZ&RV95nS#nDU5JR4TV3jvv+4ieba?vb9>w!zN_Gu$end6D0AXaJL`Y=u-!Sgg2AIwJhHy5OI_N*S5$Ot){FD zMGZfA7{$bddQezF{{~o&6{)QH(RUworz+I>#NNoYnOD*yp^vGC8BmsggA)vP(XeR> zkdY^J#&xHAMedtS3L<-PgcGN<+XW`4J%Hsvyk9h8s8xaT($ODDj&Pcy5bFH~@Ex%- zIEkzAd{Q+NyXtOwlb;YftevCd&X3sGo2b=2p_A5N#)&5SI7oC2&(|pCNk0tQjghJv z7-H=JOQQ<+qA@iVWMY0&nEr@&W?M3YWi#l?>9j|`LC^MKio5UorOD&#RgCnHqlqibHyhW1&}d{%iGH!OUccPW6( zjZf`aoo>6D+hUF0-JT45ty+pT2Qt3lB+sGS%8*lcJYm=V1e+FF7n^2TSHG_ci>N6f zuf_(vxEE*5wt%6O7laXfCWtNA0*6-x zya~|Yc>!(j>LJAYf)Nwmd-bqoGk9=i77rkBe4deeiNo+5ZC?>7_rY<7>h2*1UYVx# zJMpYxh&uDzhyiU+sg=GTQ3V**zI&SpxPYp1W@9tKT8p{|xS7zwG|K`gCGNnh^9UpD zgtP|P3F)08P|)}1kyVKIxOA`qSg5EjDFZUXYyKcA9Fd@oPs)Avp+$^ZD0^^@MyT)S z3a|``RFIr7=k+CGJ|X7V<3tl=8dOHtQxxF}F6ZYcxXJ)U!cjQuhiY+L0whBv$p@6> z&LtJ$O#9c>a7ANIOw5uJRd6CiDmZ=l^d5hDH7NDQ^29P61o6qMjiws!SM^3}LS zr;m83n*fd(&3XanC+jpM61Si3BmZ@qf6H=3e7uejjug><< zNrzdZ33&%dIJ^M_b>K8x5#E(Uy&CrqQi)>TA*y_>YMb!<^+1(ef}Z(~zyfk?**$$s zzXx=JgH<`>yJaIIOX3r#Ch4^d&;&&wu4rO3Pay@Lb!y(xPT2MHbNP94y@7v76VV>W z2>X8sxq)BjZAoErM=2Z)p{)-Dj?jPB46QFixc&KG5J&`o?a>fEasj$gONgODgzAve zVHsoy-R#$=P=@wY=0yIgCIt)C-sz?QJ`jk=1>wdX=>-mnn#FgsqcIYWaG9MDT=c)aW2sS!iRF#xH zn2u5i4pl)bC-}9}yRcD*c@~%(E?w6HNGu0Mw<_A%)4<30(9x4)^*N{+DN5wTEf?gA z2JS;sUWm)5@k0#tO0GT@`CVrU6+jLFjZC*7>a`*{SuuU)H~=Znzhy2|t(6HXD`e%8 zAY4}kpH>ug`qczL!flSeu$8=ILo)ub73J1U{M6e2!>UzS4CB^af^P3!m#T^JU7x8j zuN5O=*emKF^L=qW#QEbZVtT5wCs-?}K7>a|FR}$0jLF)}ySXq!P-+)#PX>&uai~Ko3uB9nf%{nZ?(Vq*_x9Y9Vsl*?w9EOwOTK5ZZamVNbI5iX8U_ ztN`^9L@ued5FVX6ZJw;gJej>Uu+)@f&SI>?n~q63zilvJ6#W#_$iFy|&L@=tkdM&z zw3LMNtJkbA=b7k7cy1*E%!kBzHqlJiQ^#a2|5A7epT+o-eB`%x|2MT@O&&{pK%)sl z?Og;XszsTG3y)o}t2#8njP<@k1ij_}ztB>YxhZxW?G?MPxoEU&z#o&Cn0J3n85O zBOOujpu?LVC`?DN*+>R4r;9(1-G#L3OxE$_@A&+SjOaI4uTpWH@&jE6AtgbS8Pg`g z2eii^FvBR2HJrVl8dsl0XmvDa_aAkOLp+w|Ne8h(K*q0R$P^HdmqtRJnq_8D-9YzUtok<79MFGm%~v1N_rh5W5R zGNBJrrm1qQ(m4;zgFu5Rz-Iruvhsfx$$%xI$r;9+gX`i_xkeq7aVmsS;Zo$*#?8BH zz@GdtcMBf@vTFdD7jNP7xv95L^|gj70e-9RFtAMK{2VRAulLNISk&=Bu4ZjCsCUi0 z02{A)OLD1j*37e-Pi9nF;SgkO2IaDXGpU=@pK5|`Ex`Ug(`f3tHy~9~0g2_b4DCeN zK5bklPs@JbL%4#9 z#%TEWsmqh#8rvhOUazjOL(x~^JKF)+oN?*{=@XEqDBl4y_PeEc5bEPVN$B{4$q;Ni zU@M)o;+n01;lsHkAS~9Cs~>-SgX(zp%A;%dWN#{1U3Sj9hGefLcTn=orI%)M0Aqc0noKQ;@9X0kHq2cve`BS`{1{vZ~jweK117BP1BCz2k69DxU}?%q@X% z)k@5~eB-vRa*$Lgkc zz+k5Bm7sg=j>cs(Pz0IWmxB0k$FCIZ%%(NF5; zD2T0i@Uf}%te=GqI2KOzvhs6Y-MjJ|89 zu#G&YmjSJUuc>(%92EWjJR>tEsxwqsizH;aCG!1%o^4;Ao}ckG0A_@nZ&K;G!Ly63 z??01FZqucJp^a1hmA|9kofcymhn%?jh~0IvZLB%0*0)xj+u(qK9+;&(UeSXn2B}{# zDiB-HI+{6e1!Vow)OJYsfHy5hV7DGF-0v58V-EmSp{397(nTqW=*~wqD*(K!F#);le!`&qD09(!vt z{=UKgyiZUiCEt+NL?0;dAG~F#&2V=K$Zq2a*LJMLs0XPfAxo~NS17{js;X?GYX~4} zx=cN|?Uks=rd>5;CmE5gl3T0g^ig~e2t)0cYc+^yv15UC46HPXS7(!eTE%D(PJ~h1 zI?jLZU=>*_Si3R@j}2W>2@osFR5qnuc3FADAlq_%LsD<+#*%Z;>mrv^SKb>sSIOB& z#Cg75*?N9A)^*Q*2b9e!nO{#T4g<7!e;kh%BpHgFCe=L>w+G3thiR`@nVMwHpWVC3 zjk;=_ZHVhzg-%q<)+p@&{#9iv6>LpCq*|#0nTfJ!q@Zv=do2FVm;Ul2?CHMTZts^^ z89UAl4`X9Cd50WkO0%|;l0HRAbuxrnvt#%SF6NVt;T&tbM!V5c$F>ocJ}*s`);(u% ztOTUt`Bnb9O{egkMUXe9bldl*|LC}4+MV@*)^> z;Z^wxjP5(2vY72o51+Ys>SX#f=xY!SCk>QGW_ujmGAai!tt#g}We-iZmfue9ApU8PDOvFY^0U&N z)@Z}+p4G|b@SOoJ{$;IbW$V~7-Mm=6wpdO4Hknhx3weMHn>jzYI9%S_w=vs!#d_~l zNY-Y+>5Bu}%LVB)xZFMS19F4&&JNX8H0ZYORvQ6}F}Im@XfM72u}97Bo{vyJc2v8% z>T=zk5PSDrPA#Q3batG@pgcXS=qt0t?k93{h5V{ zkTA`^T&PFeF<4o-AH~2rCcF;=%Y>oE^Xm`4{-+_~<=QQ%cAY<|A^-L^7??D@s9 zHlsu(kT48?AMkuqztE=I_I(3xf3f+f^j6t+r(IV0t@)^TLR!{kVX?KF^%T`!Kqm zt+7ItL3yfVr$^mf5~vikx9T50Tca(*m57JR1;rpo_D=H!+&hJQ@O1Ax%pc$P{i?sd zk^l9N31MQ%?_l7hDdNVS25BgG8^Q^f{h2^u%T~fhR!HR7LkgiP0s9p(5MQL4Zi~aO zCFc~W(ZXyw`0xL{OIO_X&9&dCxB~RC&rBNV`peRH7foUV3Ct zxeFXXzMt|rg7WzN<^0zh!|sGT@?M#@|FrxJCmwIIvAvSQ9WsJuICwsHS^9pD44%pR zoN0aw9d2&B2O_Bc6itv%^l7`1JUE1bnOaw;ekb5h0jDM(tK`A=ulx~-egvCeKdXb& z$L%%{MRnl!+c}n#xsTwN1^Mm$?Hpkj{nJM&pC7=E$1_ye79E>BFoW^$9?Ku=fb!Ad zW5VQ@wU5>T#0G0b2II2-KfL%KLDj7iuA*pjN6+@#%^karF+latA0#z=ROA??8y~g= zr^xrE3UB)C5q9oB-7fNXf4d7Y;K|e}GmLEkjt>WCf6qQ+H?EpfI=DFpRrY6KeEZ`) zTw}MkL??RvKmYp2r`&dX_bo-(wfz47{qcdDX1F=~Z5|#<@BI7KfZW8d@Aj_?r|(A1 zYFC-prCQ|L*p1!3TpV-7SN(Z?KQ08hdYvy^HT+ZL`M=)4FCVDcGj_9U;lK0itt_{2 z)!=p6;`-}r!G#E4AkZoM(*+^d_diZT?25y%rnSA!wfzVZn8ag;|9oTcJ;?I^Pd8j4 z0=unRgw5~SFP}J8gmn`4AAe2l=uz0Gu1nD*f7y<|J>*|b@n7y0i&}V}4JEtzEiT>5 zKiAW@pZ>Cm{%%#dw-dp7w052)$H2NzFUb^NTW1iRe&WDyW~Iq!ip@CDg}%# zii+?XwyY6ncfw@C2_;dLtmk9>e!JHizrz+3zu*4fEiBKw?!@^i8Yoo91G%Ho)eK>nV zwxK0@iS3gE+LgcMg7w+y{Ea#M@4Wyv&D^qW<81*&?Yx&f6E+(a*UdZM2q^C~uc;n5 zKQesiu?qSOvQ)zM{mrrQcPR=I9Dl4z%9F@Fxh#*l&sxsMI$ujxAnmtV&f&GwGv+oA zevw%f-g9wBvRCNAn<|<{jqsMctsOTymUrSNXFF4-KuZlRBok%5ty-Y19CMmYvyxtD zjr?pi9%*`tQio=eCd1>?LbgPci@Q6?6}qDsXVlWuGDb?eqsz~cn{VAA7qfe1+kN+s z9BNFKSm*O^tN(w-r)(`s35>4AI;q$T&txc;)5$cr6{qm#ne}{6aECv3hzXlL5-yp{ znRdIrP3ZMFQU2|nA)FQamrhgLQ<{#qS6eHSGa?tUFW#CXV~G;%kvYxE(AyHeRktHK zLI&oYfj;LyboH+$ll>oO-x=0ay0xt$s3>AXl&(?)1eD&vf^?83(ost22mwM5h>8UP z=`|oFh%_mog(}iZ=%FNlbOtu&f~wWyBqCNglXGNn~0_`VGDi}$kz~h`4w|8{!&hDr$>RshN}@- z%DQxpBy_HTN#&E~ynr6RrQZ#P^}w&em+N}V3PMJpD4mE_bgseF49%KYJ*D?-mY!f^ z%t@cn*51TQ_hyD)(eRn$kRvLW{t1qG#(HLf@gv#1klVs6T-+G*XnGbVx3m_~^!{q> zrwsL^xKyuV547xOi0sLvX&lr=(i2UW7gZ2GefKiim z_F$-b{AsrYBwcpWPQgU)@|u*fXLJ~a-V&Hmu5?7k+r}k|K{cpZe;WMnD&Jjz{F2Z= zc#dO4jqS-~2g9;#@;-3qb&ot3p=RBx;GIs$XPvwkWR2>x{?BDEoi`Qzc@n>g#Q)q$ z;HqyL2MP=ZLpe-yGBtGc^mqtzI1Cy%$_avCOt9&XdM|r9&HKkj!Z=mAq!3{+)a4=h zmFcD@^TCOdX2EeD?wf0bIpdABIo;tcRT!*;1QVgICOQQlESaXC;=cslz!Yjuo|KeW z89)x_Wku5FAx@g_hs})$RZ-V@?V09=>>=I~PL6=$ErWsnLg<`%qY25$jwr>bpvx>0 zv?^h8soSlv>WsKmLp}bMAph!EuZKaz!T044MhxLR14j; zhRnlRS*b$MKdkVWDvc@T->qW}?&5LHL#|fT{BCWR!i0S2UZ3T$v66YS_mg%b@aD|q0svW0f0m68(_k8SAMLI za_Rr?Hb*|{k^MH@{~Oc)*uH}){(0&1(1S%dswnb(#GN{xHjP^r0ky&FuQWcXqQ6lkyIa+#MWa#oQj$Mr{ zttpTR{+EgU?M9t}kxSAhZtE(1tMMbYiU0rk<^Of4OWn49j34X3o04GpF{-nsG5=&p zf7t`TiGFkza09a|PBi!*7;IDd!_&_XKKx~Fe{R}O-~TWMrUJluu-~{7d;0tD&hQ^u zd-kvHa`*&5(S%aE{`}yjY08_$fX@p>S%14_uNe2oYxY zsGxzBm^|TkA=jwNa>$xwAmT{gJBdIe_=pIX>;V;FUSqR&Q#Hj>z+>}_OP};rD|}m9 z)@m@F=yqKJ&;{+>7hxj9K)yQr#=dezaDq1v*x3YG&TeEq(Tym8;F!+e+Xvp~h2|G# z+Gam~^Zq|xzds$QniAR2BOm#as#&q~u7cL1(}`7HOJFy1)a@R%;Uww#sTrG1QKRZj zX0uL&gBL(KYHY^1uoNzIjY(V{wS9hSXQM<`|GC3@y#Q?+vU7bFR^GqJV&5tl5m(l# zut?q7{6Xyl(#`!_8-MKR?mtS;rt>LjRw-{ zkks3T$-m3I>~+e{e`3l2Dg9joJ=O!r-OoF2b~lS1CP*zNIFLdQ%-)1#H}5@s&lAO9 zr#UKCXTH6czCwETKI}%KK&jVu@^S&BH5V=2@mbstK=Cj8KHTE{zDq3G$8Vng{*Uh# z>L>H{<10YQ=#NWs_=&GsZq9aH6Z2_Pb}&Sq%?`9WGqa@ynwn4NzFkh}N^NxB-sCI; zlN>^aWb)nz>o)EJA&MCxs_u39k<%rP*wdO`_G#eiryI{czJST_VauHkget-dLXgVK ztj0xmn1pfD@{zL8Z#dLpmxk$e^KjOF%{@I@=U7!QjR_Hz5?kL^pplSgG91JiI0~jw z#oS-_X{hXRmd=L3aXb<_S-J6S)nQj!;N#3TFE0#v-R9$zGM5SWcP=0qGow#i;xIy~ zv^rCKVr~yclBN4e$@s}0r|hKpu2+62rN05srALiD4z0&+aZkqcQ>D9ny3?I(YLS_+ zcrr7pFs+SQKnvhiCh4NZm@s7~Z#Y^VyT$SfyQ?Q0HLqyh$_&q|n1E>pYimA48Cec( zw+jv+L`S*xncIlBXBN&!mwM zU6^Wkd|46Kpsb6ujP`!RE$NJajx3L5PiJ@HZTopXYtw}$SU}sQPg6J85UajyY++E= z010AvJlb*FHjjorD*HXW-bS(hMv`Lc7o9Y_ZS}TYWjJqdYgHHpHVXBqH^{O5StNf7 z=}@4aMrJHBNE@Z2KR=zvA`qx9Oq?A+ifpQJS?;wBJnS&WRGb8g`TY$xjHWKaQCEye z1_-`&<2>VNrgv44Qn69nvQr&miz7vMhobDCz=WU}fS-95!=WCpInMURQJ)#>HNb!^ z9IGPPM(1tOrB)47yx?k`j-+oRbqZCw3|+;Yl@PHLnCRa=nSnA`&;9Z&zp!oHCb*g- zR~)S|Ivn))d>is(XL zT!zM$r(=2EqJ?JSto0g2i_uS|gg8I$#y0%KL;P+Rp1(Zg^DF%Pjs<=Q&6OKtm%r>v z6-rR0?3O8V3|6~_M-SXWqQJJ=<;G~QiR{`sH+pJViO0NQ?8IKfO+wyWidiQX zYP3765s-oG!(DIO*gAc@Uu7ws$3PA@_=b%$im2FU}ge(s0$n+`8 zv&e%y-AO&B2Fkj9h7#f+3V9rS=1NLlf2|LZ7G)TE(WG}-q@hQ?a^NkJOGyQYw89)Z2{oVH%V@9CpatnBG_sSTe8cr!qL`DudXC_9$>VOM zg>DzoT1T8Ry2JR45p61zaa{B~RHn_8t5Sf7MF$Ke5px)xU6IxLhsy0IALMxak=oPA zzAI~)l0FYT$0e?#h3v6<9{5+B(?y-p_2!##oCRZ(`g0=C=jP4vb-gGCevOVKaoZMO z0V<}P-U|4seNchQfUtVpx*bR;R?H2W4)8?K~q>(9=(Dw&wQqC8DR zYpg_(?_kjjc=lkxG3s=$-C#>;@r_(FQWM5(zbWQjVVY&&%b~A^^j*8^TK#r}eyNn& z9{r944rI_HiM}8`Y_Bm+7iE046||F6e@H9xq3dMcdXL3Qu3XAQFUYn|tS;kK)mtte zTnyxcS=X&OA=Ms=puW4I;TtrQ#QE7_noWb^$25&ziJ%eN=xX1S8(yx=$rSNf$o}+} z2z_ey$|htIziE)w%>uUvWpefc(n9l6pcq6e!uaItBKH;V*p-YP1N4{dI&O=-*Fq_T zyQ9%VY6~JQo)Huf+$dE}lMYMBDLt{<(~Kt9DlJb(t%>p5B4$Tx&j$u8M@}Q!?M09ZtRNUtDIOXHMuv^XQZ#86|@^{x~JnED=v6nsqt z{VYzEQLw{ir~qAZj@#h|7G z@)qdk+C{IN#K_^@t<*`*l@IrVF5MncWia6q$zo%^$ZZ;zn^6gVBnUjBkTEbw5zI)dvg{W6d5Ej#Z#NQb92eGFrA8 zO|h+ML&p7Bu*G{5IMq$`ovS^}PcDtri-C5%l5MYOrj^w9^z>xESI-ii$$!!?>ilhi ze6?x90r@`KX~#ziCY*ln)flH912klQcK}n=)wW9rhaHQ$Q(j#IyDRm(5zkZeGYDVNl?8PKqPByaWp!YJg!4WY|PqydRDnmv}IvfqF93rtNlgi1L%I9US$BkYP z@*BLsFu3d^&rr6i{#t)3fxN_!tQf17WPmC3jkiucJlyrIIoUl?M&JQ zHk%9FOM|Wf6z<4va1!d9QHP&7)yw`vPj$V}`AS*hDYfMuZ+uzH-xg5x;|+;PWroFy zG#(r)67YoNsY1{lK?L^9lgE~zS0)<(ZW|vDWjnZ5`J!AKYEPf?;{ej|rH)iu8+o$`T zI^kbwSn?tPg>8Hc+xW;BxfFShO??5kW1-fOAZkBSvZ2x9MRevtYSx~UGn5naT8QA} zK!vt22pRCZ`eUkG4c-FnUBZnlnG78?Yc-kU%V#XEU`JPBjjlhGu|Mee(-Xf^DZd7b zem}r0UynXxl*Jaw8(cPI_V6c^ zdnxXr;$W`5RYaTpe+Y;@a=i8W8 z+v77s6>V-EW)N*WiA|Dm?I@Q?YqWA*FcO_F)*@v;*7D9#Hp)o#6ep`gl;H@^@z-J1 zX#%32*d3Y!+&HISQrSi?b(a@bX8LSVXv`SW)=z>(0|GxI6@vTOmo-&CZ297Ud&IJj z&L4L>cF1xZF-J;l(r6&3yy_fEd=Fkt%ni4n8mA5V|b|Zfmv4 zAhd`(ao-EMj1@;dZQvNgd^#2IVpzmMKh>GJTIcffJF7{SiO*Rez+1_kPVzcWr>7jUn2Wmq6S7iTK!SBNlB=>y*|H{Vssgg^Y z^i}M^1l6Nd4Xl`SKUh;02CT2`DqC#MH}ks>ifS>R(_3(t_HQ5(WZW}(QyX4cVoivF z@Rioy!~XCgMtTGLy9H-Nx{z>WGKE#6;u%yCdI6s!;kgv;U|9LMk4*_Sz!f-kr%g0J z=Nq=n2hDXX;|$M3m-C|8wRLee2uE|QG=NgGvR}}85U-SNxST>M;U{pnmWi_H^xVNC z>C*Y-Z_dZ_?)#_xY z%&%+l_aTCx7ei8cERy_zqh48U&_v}9K{+w_UHj>N_|@lyn~LZ4rC`#Y-CWfQSDZej z_1gnVFM46inIcZpLd6V0)qJO0uvryi92oo-KW?vvDFBFw<_@Z16(AWepH=Cb!1M$u zxD>I*IUn4bTUazwTbR50+0$D@(c9LFk7R7b$Of2Ur9NJe+5vJQl@Nq1+JQ6Fs2(Qk zD8wmhwia}z7Lz*oE(^WBgo$89fQ_u`++U9$E9Z4>Z-5x0-Dpup5#fO$tpG~^zNt@H*McuJQ<}Q_o>ec+@Yh*WLK5WWiN5S6wD)* z6u0=+OvAkVDl?Zln54ZYjhvZ`i)BE3-`VTrBmWsl`h~svgLD8Od7X&-fxu-n$BlfP zRcq-9REx-p&TZP#nz=`&3OF-Xxz=vq+Qg(Pp1xt^3y#P&sKr!2#n{D4nr36lTpN$d zI2sh{`F_N78=kc3{|r9aqfO>{@%{PlTtE!6-vQK+O+&655^b1vYrAZTzsA|!&E+Hb&s0`v$K#Ma5 zAw>6(UNf*$_+FsG&R^Hw2&F-?+pqieXCuLZ5knXA*ijVVqC&$;7hNhn2K5Da(bQrU z3eXPY=0B0O9czvDUn4kxUH{wA;?pPxYm{-sc<@Ccf3uoXouaXkA~_ zX)K1xn9JJK8X(V9na!Y#TvGxxk$K%dH%4{sEuP7@zmOFerCsq}k>S)R%+ADA;bjD- z4~+fbT2fO8VmNlsnRe@e^mYB3q7!pB?i^LO-d6T{eNO0&VWo@CP^A6UDS?ZTZ(?P_ zt8$QU_o8piFH$~d)(LOyzJ{wh!LY+GnoGKi_@!E;RhiO0y~g@$`t5U-e6(K_&h=lL67ZdO zN3*3nZ;bP2w=z!$bLGq{6aZRM4D_KwGkGloUSYoC-2?S#)c+KgTH3}ij)~k!)nry4 zQD2Q0j+1*$r|05h>(P>A)?T`|QydLzc?)<#KWE(nC+W-cLjk`7sh_#LpWNL)P?qUI zPO+C~xzOs;@lp-KSMN6+lk+)pdp(6h2a?pO4uA%D#`w3h3i~kW^`Xz!A;K$l zOR#<)x~A;)A@#uqo%Eh26ISO4NKp$bHFXjR`{rED1r;yd>2Kd$Hr7^m+R6%=#%RuG zZ(+)O8Zm&QWmh=thHBoGgNz7Aj_3gvXsS`8dW*i0;tAT>Fbn(PJ*4%}XTXkbyonD3yIk9rXWG&jtv~UEcM5m2)b>Ty2=B0v;CON$w z24m^v-ZH7$czRiduF8OQA4La{@S}i_-M!I)G&w0a6A3nGz8YhEBP8 z*KPd+H(zJ^*ddkL_c~VkclCF=Yc*DO9t_=b|oV!x+~|9R|;4gDnk zJd%HW|JOsvqD_uTQ6__`rA)rI_<$AU5AitDLUx(bkzrL_D3S-EwO{W)+U@i83pr3FHl*L#kt6N!$!a- ziaRu}7pU8Es8N7}V0b;XUp1U~ays%`7Dqhk4SKV?57UbS3)T}yrUuGqukR36?@U+C zk)mTwr#X@P!ZYjDj$8+Cq)B~&N^+*k0^ah=N3@-ydnmBpL*$F}+atM|>VhkWAB`fN zZHFP}8%0)Qy%v}+m)nHxAbiUKg2jXmV$Vjnw{c>mzc@GT@T9md<7!R483VB`v^m&G z*GB)Yq?D9Vdz%KzwIWVBPqU@B43x>AA!OEryXO7ce4=&Nrg+%fhERM%%Vsqxwvo57>2?7v z{R2f%;su}HKy&MOn1^09F^x)tl91_#9Zk{;J4$i8Y#VI67YPr zMvGCqdOwJzxtlfmsG`ra=Sk?mU_G+r^Q@}ZJ@;3K0{d{~t3-l5GzzDi`xaMeBZ~-z z%&n1o-sJQ+RJ$?#McH!xQUZiPmr9|1Y`u%_Ob$U;>*;8u{_G}(Y#?dfFfn9Ls&{N> zMoM`mMdoWLtA!?1=H{5^{ioYtY~5L4cAsA#0@{E7I?eykYX?{S4ln$lvM%WZ+2!x~ zw5V?T?=3>3*tDjVahmHE^=)k9u9ImDGVUr3>r7WByx!eZ?=~tC+8js-{gXP7l=o}> z7f7)7AltR{NfFfk2$ioLC*U_lfH_bKgeaqQjc;5l>l}R+-OSL~TWpGnDsg+5k-t_k z)Jz{yq5gGpf9oF~X9I$vcTa4{l~2JyCt20r-`j4dzXD*A=$-nL$^Zex2C$4P#(Tu{ z4x&kGP5J~Y;OL?7lR_qaEQIIH=anNaX_%}kxJ&-k8>qpZ8!P+Y(|v4k5RcmRy_Cr8 ze_i96@*qXz6zPMM`Iq7?exH5KIkB>8Z7W075#Y^8GC6hqnSp_Ur%a^u?&rj_zfgkG z6;lvbQa>E~RaXB?0P5$>1#)PC04}ewK=^ODkH-!Dxc~QPf4kz(*z!>$VDQNXUFW_p z^l^hDLI1Ae!nh2`DacDmIQAb=f*;PpZ$83*^BCNd(Q%drS$(4)<0a@pMAGKz1&}eS+Wm~0woV`&e;P60t=Kkf6h|-U5WfxeEuT` zc8mrndDx}Q_qg!87~zjZ{14;w{pkMCOCyqpQG8*0>I#?sQet3Ab<~V%X`gv(zw<}g z!B1KH2Z{fm_vywMR{{0&_ZR$;_a8WXkjw9A+$nMG=ZL*O?ZvTw9<;8&oRU(vH@MDv z>ZdA*pN7Lyk?qgjSQ4w=4RXZ3e<814DfT*lCHKEv{Jh`Km%X35aVFO;ye{Kn*q5-w zW{;%`{-!{|U$=l_z+Zpg!f$QpsQb;oo>f59e%;dFr0>_=cMJoB)v`tI_9A>CQ9uob%7z-dum>ZBCZl8%tiCpD=r>p`ceJ#+mUCLU8cW1EohpT$(Q=S$r;g6tj@v(^;tjv|~paA}gh3#;T$mprLQb3*Wg zG|4#Ves)-RAa!%41mugznL_A^!wx@Zr}%eXD249(-!LesO|#W?kX+S}C}s?ur;&(p znfs!XwK(}28ea~l@_OX@E&nrwcy{6=?AQk5N&Z@VVqiAuG^6O*Ns`qozsjRAKj$pf z(gG=k>sxQ5(?>+G0TC1-v6lCpwlQ+nm_5+kh+|q%Y;jHRix&&7!M0z&iXEowx9ZoE z<{iDqKgq{2>N3Y+oPi1?|8!I2rF;nU+daW@raH{nr87tJH2pw-D!Gb_{*3#3+*ta) zlQ(@#Qs4A)CzvQ@sIzGWo{Atr2vt$Hsxqk)*U?Rfj3m&RS5&1*k6J8RS$2n@*Jdg! zMtV7sW-2q^xqz4RrOZ;EtRYO&5gF>R=kwrMhQmjV^ACmms2LkMB@;;1Vhg9yt(&|ZZJZNP1!E^@s*R@6V4(k z;a6YF3E1QLIrYmj6U3lhpHjyzSoP*+r0pdK&35VCJs_%Bmf$CD8vkxd7p{h~D+@R8 z_%d;`sYGGohGLAX6&gR$sK{pNC|+qgg3nddOfSY82%E(T@@Qzga6HWldv^AE_?5_r z<{16y5N5NEKeEW(u}37C56mOW&T$pU$$>=4Z;l>2n~J5e-i7yNl&5yM2gBi$r8;t-W#Dk{ zbS{e};hv|#$UAycSK?y;!BuBW@M0e74yCR|5T@F?u`@sG|V>*h`rrd28 z9$N>fmuH@D^W5H#zGls#(|*raecf(eH*fTy_n@Ffb*yKisOv*sqtn~!=W(083vv}Z z()%7W+c$iYZX-&8`kwrrty!dx@xGz_cYAvvhhxV(H*`*X4Wd`Cn!~EQKx}-bTLuNz z&zO4dY`#wrb27w_lrfG07}B9BGgW?a4~sl(Or5Ps>hVSF*9?`SN0H!0$r=2j0lv>a z3NgBxq1ODOC*xkLzwlaBa?*0HafQ|N_Sl{eVQ7r;s$B35op?mivz~nt2qEdc#8RWS zwz@JH&M`TZt_}hcB1iFg~V2X7xCUO&byaCd0FePMO~ug z#y-+s)0C^7rOQtg@shEs9@9nX)0gN5-_e&$4!qZLCOXt4ognj?PFD^_`GEKoAIRv= zfm+Wub~L@Sy-mty7yx5&2);#ukE2QRm4%?}P@Jx#&8-@j>0S>#gtwL-`pBnV!fU<+ z0mfY;7kNS4De4@Z>JY>T;kwN21~BZNWn_9|>Rknq#$S zC+DYdxmv#zuqvN;u77Af5lLj#%RR@=^QgF=Zqg)tCbm3GNdGOx+C#@7Ma?OmYvk2- zEU}c@q2oFRP551Tw&eW{CP`kQ`2Fj#ln+DqBR_GM$z)yObdHX2@OjzXhx3QJyAZfP zJ6YU#FcQ=%H0>8$&m{yQv_wSb46-IgI9?rmqb&?p*u8z3Q!DG;!Vu)EA+^IpR;U9m zYQh+lU2rj1VoxKvC+}_$T0R}8+>z2ZS*f1Y%m)pQs*$!s8J22FbLpUh)Z2Tr>`P?K z=P~J)RUXwJ(~aU?MwiKpY)4k3cFg860_zZ?QRrqViB0QtZaq|DLvgTtk=3XwFUUx( z(VJgv#GX()F*VHtI^*Bby6zCQSJ)*9YW_rJxgdT~=vL%k({5xhop}Xhj7;vQlwNKY z%L{iV!B-3C)m7;fUJEvx%VrSFy{ktwIYAGtmz)k??oJQ4#xY18 z&oaBqZQvFViglfGCOWbZB$m6q5B|2sIoDGhX;tldaw=S$d^L6@k0<^O#SK#BU9vKc z-7Tbc(|g5F(3sYsxvVzpbk!~X0^13S6Dv>$DlqN#fVc$s3lY>kjLvHf%}q>Gd8w^g z-6XHM7?7aJGh;+>rpHU)!!pmRmbFlTKhsuZ-3-xd3+DxHrrPKqe5o$eg zPXf)04;N_aBAW~|Hj*J4H%!J~qQAmgPk;5cU*nMg_CFfB zP>jxgp8aTk#~bO=>xDf}YDPQtW(s;0_p z#kDet)vQHxWm$fmO&(6UqO*K)g%D>yeNn3ay*3j+QcP+zDL zPz&902sKyG8M^gSTyv>zC`>?^Tp;-EOx~tFui1Vas6jLP!Ck!-qUS0vS_07f(@3riS2@ueEOjj1 zY6_kr!DB$n_`--3qOe7=Snp`MfT`ba0tIhyqwU`hmk`ADw|6c}KMwA7=&Iiyn+MlJ zIX^pXE%xjuUWMQ>%Q`t`nLPzr43eJRy1V^Gq;z-0#R3=CC7B>Ba;ETFbOsO-?@Geh zcW!W8mZ~SxBBJvQ!~LPE;Y#nS)U_jYbSAr>RDds$!`KvKCTK zB_3yL)P_Qsq`EEHfesp98I1Iv@-uv8xvC^`}NgXANJYGtmOc&4pjbI_TX?uvb|7bNurG4e9wb>K#rQoCyquU z0h||gfLaNRRqu^+;#q?{-9796lFRq{+Wsth9k*hQ5>$>UY_1TxJ=GP~aw!rBg&8W$pOf65FFuV#jRgvuS zz85oe6;o}W<&v#`TbS3xW{83V3EhYFVS4IjRtxa=vDoDb4>NfKG~(&v3R|qOd9pVy zCW|zqS1D|53hgSJPguu9MybR<$zI>tXs7qQ+3W+E4?Mh6e4V)Gx;M>Euxp)<>_*&X zTxF`vYP-#&AHm5RAGK9Hu;A`!&+X0TwLfe(RK{;4Q0^v<&g7+LmOMkeRW?)_OeAbQ zDw`Lr@;nUtsnv>KB02E#WS*H0V}7k0yB3eP)(WXr^$O)y(Q{Ysbr-PFrzuwA3!tO7 zOm-QiT{Ojuw~VT+N0eOx&53W(xtP%T$g1dX0U2+L!PW5FWhOL^Jmv8SFQ1UyIu#Z| zaZVNV`UU{ty4M41yJyh(4_Ajp5|fs5-pEpB={iKcbS>Ye50IW{9p|y|VDYb9K3~P1 zM1yklWR&rQ9W7EW^gW$;)9r(`R*vO~*B5yTIFCi_j(8>PZ1*TEOW=VqDmAC5%0Z&t zu*9ZCuidcvxaMxQs{NeD#N2C|S@YDVLvBr%KCUD%pBgEfNY>67xV?iv=R?GkSsUiX zt1y(vV)lD(&56FbXnlR(e&iZ{A4}XD*%|2S=`N~OPa%A9t$gs_FgN9f@uXLf=i@ES zr1FZb0&AKR{twP4oBfbPe-Yi98Tv-_&0|zSi^J&%I}>S*haC)D2<}M!)Xr_rRd3%X z520ZtyXw2`h_%e{){6Yy$;~K_0*4WWOpW~Kndsyx59R)tmAB@@QEH()ZyUFiXV3eRSK zc&L>KB%G3dRE~zgV3i;wCU4bJ1ezkp;Dfk4=$?1Oc5%f zf|;DQ%)0>Cf7Xa_^l7LFXtW5P5b(kVkH!lF=WxLmw76<)%wOfm2j(&Ua<3cOaVHkK znUR! zUfrr1&s%2R6ruD)w5pJM-QqELG~&dS)mU><|1P_`zC?Q>M`89Oi94q~ctY2Q*=(;m%G=E9Z$FTRZpmEV7X#w7xx0eOV zt@C{P^9Ji9gf4mZY`liIk4N5>YhSw)O*lrrX|w{M_H>(dzM|JwOH0srVqAe&vF8-@ zp{!FqSJG<|yAgg7u4;TWU_ar>Czm}WH7bmZW12qt<7s9pCH$ykN*U9Gen-<|TaM@p zW~1dsR9VfThqc~05>4V-ry0Y|XKMAv%X4pcg|lya&*U7&FY52G8&u4673wMvx>^-4 zNC-F51&;LO>d2GK6~~vsyPZt6O4T%ft%JI46jBrRM=Hi=`ty3U%Yl$I~el zimWtL4#I0sY{Nyqa{)j!JLwS3?O%)d^JUaF%rDCET1Xb8s0H# zb;DJ-7~{lbislW(oH5GO?2Mw$hG86Ptg+qcQA~{0QN#jx^l=z0Oj7ZVHTvsJz)(l! zF;x<6^LYI`wi6@oCb+F1taL+#v8Mz7)_Vc`u!e7w)$Fc zoi}#a^eS4mvf@=<7;MZgn>nRtp&eV;8>9RB;`Ug|1xkc%jq}1P&d=HNwA^lto)(yv zsP=Pww9DOfXdHMxdugdtj`KL>0A9wspmdM^mQz&L_4CJeSqJ&k&jRg~x;)(Mj19Pa z^xDez3SNxqV@f@ShiH(_u_-IQ!7Ar&-8rf_@rcZ5SXl7(xHvqKbb8MJj{=tC$2-Y? zrx8E!Jtb|sULM+&cUnAZlzdMSO5MjYiZ^3dXr@E3nspea)bdnH#`!AxO)g$idmpsmw^lPeHLN^i*pOy_s2@w!)AF6VID-H5)n8G16YAIki6p z-3vaa^Q7S&he^LZi`dGP2ztX|&@MQRaiq|Inq9}CUvvCxh-1V0w~YEUZ!?fz0UqwX z+-BX=;JC55e9bA{0G-={SEZi{)bE=d>tKXir{~4D4ihTOS~#c~i`*LaJ{jNb0=eIR z#d3Dkv-PMW@>v82_0zqJ?3LCVCfC+XyVcFumEy7o+h(R70bO4g#g+0YBij(6O>nBq z=B_>SGsfqxsTqP{f~xwNeeg<76LH8xVE{PhXCKCISFPRAXcXn2YT-G1^ji9~AE9`Q+bPQ;q2y$GCW-MZj?ae&u&)k_Zf~5j=KG)n4ecVq>62 zEAW+=!O#9Z?Tk(n^Vl!#CDJg!M6ZWY&;3(C8APQpP23=_B4w8oBX85Q8iD(#jjvSNz6!CjE~}@RXtXYf{ff6FA0EDuK~Tr1lI9`K=;se`I5(QC9+P}z4r{G zGG3mZm!c_wOd5xcAR6ZpFA=An0SOYq(Uw!MJo)P@8r9xC+{H*Xoq6E(&2n^5BMmNH zlHrs3*H_+OtL9m!i$vryjt~mXHuowU&6h_z7(YOFGGA+dG*kiF-STvej-?YovkIW( zGKyk#rs}5oy2_hR2Z-H87BpKdCJ)a`=AaF29jnc95=GtaXQ>R~+|{G`j0C1MM{e&< zKmQ)H|07+-KlJRjyYlb?iX%uF8U5ZS&Fdz-TCN)yHgN9^ z+lHb7^OhubpBRbwhkBfDZL?t_AYk3U6|4q?ig`3Il%g+Nch{B$L{VIa0B_yX4cT`X zwCJ#n;N!iOA}<8w8pj2|n8l~hAJ3hMQ%jKM$Xtmi*4(%nnQpjyIz>VSw@%Sl9T7#v zW!uF{tXWdBNMJT^CnsdvHLI&Ak}CIWwzSHIArb*0ZzoYa)>>==Xl!9b^EqTvm9|*v z#am|g&SPl|81~yu3ht{VR*qd4+rJ0!cy2e6t{>Y^$&MGEcP4|kNrHuoeW&u|VdcliS z&xAQfVu84!w!;u6!Fp_YF0}*uq4MBGDu?Pw%EWZ-R7swCWo=sd5!eMct+kc8Wtw z{?GPjrq>R`pViQ_es=$`Dv*7;%slfM5LJizCs^t}k%|@adBJ2XItQA9q9tUi`y35B zj?R`tfMl90s&TsfI^|x=U3DD(y-ov%F?m9Ac6!VOZXnl`ry`@zJ&v+ z<(-G-kDrxHw`m^-PG~}&Nu_lQ&^yA__#w||np~zaGEGeSz;VP1=Vj`uIrOktT(*d7snPYD0!OX^Lg*nzcl7H9=|3PQ#46{0@>V=t%>w$)?2C1 zr29S9eri52hB$fC?-P=Z*fYLbeO~b`@G22^IbIVd3R^yd!sa0P z#!02VcsKqkKe&4jp2+%k8D{*3y+L?uvCMr0Se&no5pvx8nfoVCDYDSfnQ|uZI6!(|4Bo0K$*G zyYP86IfO9EK`OCFgi*|vPiIN65|au$7kU>ydG%`$`f9A~!-Z`hN^L4z7n&E&cO*RZ z9g&zU?g4*E+k-w8cJ8(6E=DnT=Z+?YNjG{;`(oSmPNMS+qfYB^E09{Iywk6FB_siL zCF@&<=TO`ay9`w30Y*)5rzkXNc2IT0Ztw;ym@ivsY#4E^NVr9-^fRmC)Xoi{xJD{n zvm?7ZZ&#$ickYSD=9s^gmnstz(~x9S<}QIOZ4Z(-wWuJSgrdf~P&~KgsI0R7X3HyH zlHLQKWea!700D<`b|)xNyl^!zAHgfw4S4laLsQCdTswEv7QI1+cwf6vy9?EDt8Vv7uM_b}H*D@-dE8+W#;bRt8DO)9vA4O6B?+6nTVbon z$;eh=#XjdnpLEYY=x6a2agPx$Bqb3qhON3m%+FGqZZo!s%uqM7X`y?xQwBM+mM8&H zP4p@Tm7qYR>X+>+LKKWzd9c*%X^2Wq3r zt!k;$-O@D=!->EmaP}U8ZQap<<{9!aN9OX?HMF0jis_gA1~eplgFn4{hf#V0?y!5m zsp@VAbp%~!g0O|At}R&78`H`l)Z;YkzQbM#pKH6!tJgTx4BGRIs@Z_V-D~+d_ zB-w?Ai)gWmq93Ux!I&BJP{S)mj+$W%2`Et5vbE+*SmC!ftAED+rCbu;aPvW|}3OxDE6&csi{1t**kz)s9hLm+b+KSRv=qqCD+~Hj}M9t(KzD^n&8P z3p@|)wtS`~8)uMo=frHZyFfhgw^V&?3{6_Z_pqjuDC|^Ms{Bx|$(!h#?*R|DUC9TI z${$)7D(V6xqH#m4`gtF?8r%hD%rfqA!3_xkVv^*E9>eWDB*O>_&?&26XzA#3K>D66Og6LuB=w&HO?JS%C zD4}|J*< z7wF>~-&s}|ZN3VZ+6&9d;MR30ebc|Z=L0(ATH&7G<}m2_cxTpQTIA8(%-rjVi`J1= zpUb&fwqRxz@NOOn?7ls+@;1Oy4X)ugae5`i8|{i` z^BPsL=ZF(;h3uutGU@Q!fSoPPJgGu0)IuB0 zpG3@}qd(fsTP0RxK6HH%wdd(7Gk=cQMu zK)swGM(&qPtg3HV{iPd)Ub)uS4V-7w}xRL7q&aHhfL^E#c-wP$Ik}r zz7kzN|A>gG^l9Zn(mEI+Z4%kl@H;F0u1ORUGE`$FqIx3kv?HFwGa`&MTLsxW{7yE> zb0y6J6$ED{!5CuW*;I@9er)%*5dRg$LCWc8(nu3hKfl@L88E&j)igi2Sf6oUdNW6}vl)ot8 zW+%^U*@y$R%jdBvN2^^G9SNau#iDngab&c-k?cmkD>M}&^I2i+OIShHyDYMYxqe!b<5K>yJ<$efVuPRs8f!C1J>Dr!9vH~Y-}9-oeQANHL094I;R*V`JR(QX|jSZxyHPQ z#m{a&t)3q|#1Br_=%HL8L^&1s5M1;MJY#M=5^m}}#_{%S9mi*69nsZdr`Lo`by2+E z(-N)o3HmsfS;A8vAaJkIMfeVSL2z#(6G!>tDGr+hsi1{6jVe2wowsH;m7*vsO($5J z$K#zaRg9a&ep)_bA^T_apZDfK%yA?^gNj)bJ%sbyi);WET6tWx09SeG=R+Rz=c%q~ zrK~u6xOW1?Ti~Y6v@#3{yJg=Joe1$GGK={t#rcx5%Az=pZ00aiOLVQ0PF zHmiK6oF6#6f6keZ)QZT*yXBZ2zX7DsYs5D%;?VCB>12xj}%h8F{FuQ7-XzPF9p-7!ZA`=uFT|drEN+ z*IthN%(M&lA$eCFYmef|DNEp2)dWjAH?=Md*Z~Dr@xcTG5&HqQIGCiTU2gXB>GEBZ zJ%;XLGkXt_+YDO!DSB_TrOiUl3dDJb^4TVH`ZPqKyjAcOdiNk-`tQ@tN?Gh&MMF{s5{R+>)Y}0muqXL?Y~CCjRY2JOzsk-t ztf_5V!=M`kH%Qyy20<)up?xa%C zGuzaLC}8*^(_L+8UC2q`8)4EAMsf0+LGiH=nl+VyHPDQN}wIUC7jo4ND+7>uXCS6iM!R?X+Rf9R+%~9v!_p9qX_gv++?J<;b z-ipeF)b<+=73)Uucp1j`3E0F7L5m?6$3e%oc&qk_tvcWJHiQW0Ix}iTzK5 zC#X(ONMh}b+voyf3?LafS%@VWco+CD44k^7--fcZC+1_P7rpdHTO^%u<1OA~52oNr zn3UEt=g_n}ShXUn%^OfI>+VDYbcQQ2y$p`K2_2A=lke~_=g#d^{SH<(#8NbVyW|m% zeI%8@6Zv&hSq~1hyn4*AJtPWWyR3g$&{57q>MpZBX2e+kj%9F$w(~>{`L=15(V(Ho zDXtuY@IN#35`x)>+wH<~rn+_uWpPEG>9Xc$kP^z`b;h#=iHc`J6$LHO9akDl+cbMD z-bHLdqt4>-Z*<$XQC(d1H3e7Rm5{Kxg_Tonfa5-`s`>nGQXAowdhSB;K^fcveL^f> zf`LfPJUJie?9d(uB4>3!v|H;A2tYLy&lJQ;=sV(;u+N3O!&bEu5WZ)kK-N5cE}3BZ zsk?Lw^U*1I5azL2B>{GKD_iB*fy!i+K(@}gki5yP2Rnb!D-9HRqLm1Fu${te$vo4W za~!O~LY`%7L@|f5xrk4)=36bqB#b;Uzz-9)iTH*Z0%Y;tzNHW_T|7MCFOgFwqX0dx zxLIm%Vzy69(G_NUwmn7F`DHbk zw1g&DcziH!v9sZa+D8%dJ=gXE_S@MA0 zgd=!jA29um92Bl<$tpfvGWh8g<$GTHl89^_+1A8b!-S0#OC5W|a8RB~NFUk=iE19^ z9#kZ+`9_=!UgV}3L~JUjcR)@62FCZqMqk__I(?Re&erGVzy7LpTF(b|0Fkri#czhP zI^3fK&#OgjhHWW$MQA5}DNo+ef`~~gUMesxSG5)~wVQ(PjIqX@U34Ohom~J_#)%5H z0PW^IJEnRP84z3Qxj`M2sKrsj($t3X+ z28gIb5O73k@e=7v`7|nznib}IGEfRbyld*zPO?t2zbO>ImX7`8VoPpkSu69^~yvg(UYB z<_X0~_WwOyy31RUxCSpF%Y;F7n>REV6O(`4kbw`81=Rw(dZLjl9wQt#eaBSJ<7MTP zlvX5fa29%~*sv?vYG0E?-4=Khsoxb&FKC{z~Cg*4hw@LHoLe$LmE2&PtH6RN9F~uP)L$Uzo{K1M*7EyeZDb zmpI33XPS`%`T=(C#z(IT!C^tgBIRV(-v={TS|n?L6m!XGT*}OjmDl`k9!X zlT)!Ut9EaJs>-Nj%dVNNLkpi@M2cFp&@Cp4Wr(z_om)%;weZ2WsbV%F@vj8iqx#nq zJ55$v0^l{ZsIC0s#l2t%l?JVh3i=cS2G3~M18yL^L(rY7Oj|| z1FzJc3aKi>i3{_y_mPnxTcFuk(4H^|Fd0oyH=iKRqo%et`V&O0Cpg6(bq9$v(@#qt zzIa^l8qd>d;_x7%S+chMq3+z`EhN1h)>o~Kodt~J-a!ZILC z%knOA)!E7=$@!PA7#S2E6knh9FM5k6vI^a?wHIAh$8rM%H6BPR1`^xm;s*df(s@95 zz~l1M7*NimY{*}6sM-=CkPRj4O5g=>!wJ2E6VKwG2PK$b9EOjtYxX@`Rmig@_V`VH z3}Zm5F5shI1}L0$xF7K@jNL4LAm?_x{n>KCHJSSv8A~&t8V0$l90nA5t|z0XJk~Wa zrLJihCF`LcE!j))(*9n(6;*6HO3wbG^xB)+R05Zf_2W9;N|0h1*1Q?OlSnSMZbRq^ zYrRN=YTU&;!eeiPjwgMT@m(;*K?ugUOVJluJB#CeWg?f z0lyd@v9%pBcF=U--aoaDZ#&kJzuXrWggh2B1DbR?>vq|~Yn#V1uC*uV1IE|r0D1fn4yv-_~>`?XJXaY=h)M3jBdTW&_9^z)yT&TGC#u9{HnpMCIS);HwTa6 zYV{1d6JTv1yKpHO=@|%fn+E6?lf-3IRlq`P5qqz;EWM?x_YGZ8v%cok-_$oN@`+wS z#5}kE=0(tURUxHg*=Na^Bq)90PAe#b;@)(RfWRgxUOnlV9*V*&!p_Pk4If* zS|5pgIkhugIDV;-+eduzfvnr5gaxaR(lT;s8r*w&GYkFlx!ri1g3v}B|BP6hP5bHP zU@yym7~tsait35PUiGbYo-(KnxLo~=Qr3MldmyZG(S<@ zG0AH<6@;!qKpjq;hg(Gzn8?&d_6Kc*w$0S1LOnx7yZNIE!d$j*zRrSMJ!X)W@^?-; zER^{1FNDqHF8j4H!JDTnsw+72Lw+<>ji`QySo9~ zNds|yXjW{0s&ObYGe7zxX1(}er}4Ei*9FYTmpS(KBaNT1g6(={kK#-cO0$Ks&^!{8 z@7t=D){MnpLpGgyCTv<`i=rkvu3ixE?l)MHR}DQ1Q45{rlQDE)NnFC1Fs0p3cnU!# zcMa7)=w)!&vjqhdHLW|fRaO(fOwuHG*;KAh4prNYkB)jpyK`$#!bO2_wn<(_ z{Q0Q2&+Gdrv-(eVS9zW_mA174ri2HWqURo!mrq(%^J-E&-IsL@eK2ZgvbzUU4XV@; z&&3{Hs*K<^LFD6E+hVk=LuYt7T5g-U{ADbad!pL+w%sz`9-3`LnFTE^c@;obpMN-S|3cRM>79;#1ko`YQC|wMzL1dZ;+zR*ufm*F*yWO=5`?vMx^2i(^=ze} zReK@^$Kk&5cD10*xpZ<5(6qaxEAcDnzTk+Yf3U#GK4WZ zE`Tl$S3=xwNg4GZ;UketYLuxgggR_^|#-(MhgjVTX#ji<-Zyai?`YwQ6?yooLWsLSZ3J=Zxp0;CoA6z zNwTG)fDNGnnYD0`#fjkTwf$8!6cmTlG*m8JlTg|0lQHy^cfyR@WKG(Lh#+a0PTDV0 z=x1@1=IyAhZeZ;r1#a=NS6K#lZCyW~(`B{lQ-5)nM{gbf8-?h(l8JuvykslwX+JW@ z+n+ftRXb@TjBST(xp@rfvUV%QYQ+8pwIUt+sLXSkVbb9BFNlGoXuHpMe1Xy0yvRUG zp$mu1)!{(qcm1Yq(#bfG&TNepi^+mx34viGJgq*EQD@$>PishPH@YxuygoguEFZqN zNI>Dw$YM0bC6~t)Eueo1bi-0r?6xt3N|U(tSC&G|!{RGzq!7{a%g1(Qx#z2F9Aq)k zFJ8%LW%p@lmr{SUzp&r&qe~{QgG?VrAFAQTz2k{BU$4l7$5_+f!BAJhT|2ANtU4x; zyf@w$8CzYgqT{!0%N@pa^{1ns5p*%VQ%lbPUn1S562>L#5SA|lTX9)X)xhDPD6-ly zdXA&gTL*k^4OI3ynd(x9&P}YzP4Ac$^&YoS!S^h4${S>F!~suyBW%WP0Zy#!vlHi? zciDxz9=bQRIir zxw#Z|^QZCzn0&(y)1WiLCP3mF5MF%G*ZNi;*VS1wN@!a4-XIBXLoVb%Ud3DKZ0|_) zf;{4VYSN56hw1DMq;x$>bZx-NiabaFC0+{b)~XS<=Jx$-r?<1bdNZ>L`lR5)&G<%Q z;yG_^?`~2eO5DzuGE|Gy$VNA3$cV6bV%@So_olU}U^+weP)>U6BFO}U@M>Az ze&>V}!Nq>D^~~9?NJU?P@gNvU3UiFlW)m-OdzMQ&FVwCV`RtsAh}l$d;zaeD80JJO zaqV+Cd9$fk<1CsqHjNb=!a0Ye)v349SH_w`$L+^RnIsr##;)k*sO>H9&$u{IU(jv3 z@_DiNi)}dB-h# z-YQx(2WdnIY3zeKNYf_l3px0MJ)@wMr2$V21ajwXd#d!8@dGeT4#u2S*Ez-MxK)Dg z+g-f|0kzUzw;nuM;EQRGazLeBjkIR|aQN}F6Y6Y3H$67GwneRn_}JgL2WStKsr&pb zXF7I@*8M0Bx;{ImKwIB)6d-G~>uk8|O88K$r+lQ|1&-Ud!XPiF&;nYdP zJTainCrZI;-o)U@ha)*gKIVGr_2O03Yq#;j5gG~Q?Q5YXlfiBM@5C9 zGQ-RhWHTcU8_Iu_1ub-Z2sUiohqslYbC2@LuIj~j1RrRbS@vzkB2Ab#qz+}mSe~( z+UM{bA@X;doUFZq4d`5bAMRSZZ6ELzoFyNzA!6q$q%=fvI5W0QIb=oCPWkwbFzQso z;vw87S!5kQEZhk%sV+EhUe|@wK8s&9`)wEp&ez59-aM*{-V1ssk>F&xQRSg3M%MXw zDk$vMzzeMCEg!`!qjzp+%Vca7YEMA-`*x*+s{AN5c6C|v58r` ztOJq+TV@lVyWtikWF+%mnt}V{bx}*r$%1MkU4A#V#;vLr<|BBBOU^D^Tw4B?HQ75Z z7-TmYE%v$mlh331pjx-6lkkLE$wo6qley{Xk@QFTOK%LR?9_VEPag%-sYa|&W$Gp5g_kOS4&rgKcgHp2J0QGji4|j`qfD2} zj~n2@`2x2<)}%+X#1agR3 zo9lS>&u;Ec4Z|zLIvs}l%UQZG@*WHeL4TbPOEGj+Y6HbXD+dH?% zQoprldbLWu!pP+r?-E9exTVIB z+bWp#luIgoS{hJ1d4>yb{EmW?Kh9yBtZ++{HVm%hZ8y}JP(Io1!%})0`kegspPnf+ zDt`9gKuj;%KZG|h1Hy^lHXFNH>WAKxYQL^pc0c>6CV!~se?-c$HCo4W;$xX_%cRx- z56C)Q%~K2f99WN(D*kPc1^*bv(*~K(uJI4t zU^`=KbB{1M4hv)wjOYKSPYF0fV6Of*GfkuNaX%Tl+Qj#q#)+{#ys8loL8qCb_g-|r zHR2o9^lPnI-*?WU`PnYzTLg@^w_4BsQ0;wBHC<*(=^Z%p8LVnMk2z1ZotF13jp`1< zOW}VL?OX=hzQJ(U73NIi6*xrJ2{<4RkUUua)o^W8ZDdjNy5&SR0_}v^x+7*o3UvP6 z$6+Lt$*9mV^)~iAB)yApl2zca=dC6#YU(z|y{nlz;5}gPM04oBHIZi={=?X)&DL?{(2vM0Pf!QvbAPYd(tQr`|6oegnud4eyy4On|5)@vda51 zkyvD6Mb zh0#+%Y^p&Sx|(0x0Df2F`+u&Wjuo3t{`%dAixMfwz~#of4bta%9nfRH$@f3N=|A7_ zDERtQBka394wj+RmwrZ0lF|I&&%ge293R$zTj7OM2g@%P?r-zw9oGMDK#z6M0KFh0 zHtzWTJ>46>2j~|m!#~ISSBr)@5QNg9;nRz>w3Hja266Ya{x$O8P`@1oR8aS2?zeog zYmnitPxZS;1(f^L*``p-jvSAI~+uDvtx|8Z|_(R?`TH`q;gey?`^+u$ELc=m@9 z`CEwobtJ+27u83|6ciL>@)AF(9=xF5-BIqRuz=V1zNyEDfp;i0RCQJIFPh)~A8^1j A5&!@I literal 0 HcmV?d00001 diff --git a/docs/images/synthetic-track-event-interned-callstack.png b/docs/images/synthetic-track-event-interned-callstack.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc6477978fadb4aab0f21374da57b8a28b04000 GIT binary patch literal 117288 zcmb4L2UJtrwxvl?5k(P2X-bhUT{HyU?60mGx10?~QhjQ!UL5+t%Sq&Lr=^Z`J_yf9cjt9V z@Eu=i#>+D(2xD!h$`yQ~zC2(YeovUX8;tKE&tOEhi4inHULp>_Be(<{RzPTbM^hTl z&x`po(~(Si%lZ4Sh%QUx;s5pDt7bfY*}o3~M=V{q|L8AA^%dda51WrB6*2-dro(sm z%Ui#n??0a9UN`~K6Y7qMw)88%O`t;zza-?htN-i2K5FB)!1e!ih?HT*3*YP=Fm%lf zpCIqT4$^$%=ONNRD2=OszWDW_pU40GJincK{+Tb{>g}t8_-AJS^?~pSg59uRuYQjI z%elPDA=>8lJyhupNB!jlzkft}itLr?e_@&P@qjVUt-a-)JYsCQ_s{i^ZaE<6x%{^! zIx|=@Ps_#MEqC_ne6IA9%!=^~WQ3{sz{Bt1&c#i^X~xqHqz5*0HpPv6hi38S4DcZB z;WvibwDR9ieK6a>-@@O5&`!l~zBE6^-*S3NyM21PYxu|ux= z!9OgK3!j~MNP-Y}`=$tz|I5~Gsk=v~(?3p6vCt2j&M}A(H2-HwI1yaBFBM-WojciY zr-$aZdHWIEYYG2zvVUCRzr8NMMrsCMQ8XI=?r+}l+rL-!csq~&lV|?veoi5PSwrh$ zREYj&Jkmxyi90{n^yjMk?wpHf{F@H|N4!x@zfb&xy4thH>z|Xq7edf;^KYm9-)jQQ z#Lt@SvUCcUklI6rQleV!e|`b!10&y?|6wlDhUc$+$6Jl6%Z~ zZek`cyDv94WX;J@D*%7>-z4lB)izcggAK-tmFsQF9n#Uqu63oJ@;YjrE)yghb>KtE zR|rdZsZnW()4G>ptVTu72lWYbg7vG@Cf9hJlS|=sk!I@#$G*PkH^eqe`!Af%R_mpP zw3L^lXK7NFf$WUry$q;jnuJ}gP*i3*$o4|N)c?=4#$@yEco?cUFuSHVE$gYLeXYf1 zJ>1SjCzr4x2b|&-lh4ua2d9$6E~`VRd+_A?=8crN~Mn50+fMY_#A zA`+7Bfw^|m6Iih6hw!$`JiEZB|UVP4AKKEkd5Z^EVD(kg(Wqb-mmlcepb%RGU3w26ke!yY3 z!?OTW>P+jgoIyD$!;^iYc;5fYn&H9(?$@Ph4Rb+Jn-&zx9RxVK+-8+)O^J~01)AbVye&PPV2^+tl{tjRPWRCWQ zxznv&ql97@rzp!~onk}Cr4&~+NJX!bPL7IYUAaEB`~Hd8g8$BhQUqtw-bA?^|JjzA zf8WhbwZ7zpDAuj1o*bT|S;4hPEGD0)>Pp*)HjpsP^bpL~Y>2IU{Nzcv(~4J+_;$a9 zMzfcQ=2D8O`5NbOhmJol@G4P0Y}i=HAIx>aJ7qwg`2uOfO!>k{gu*YyNtmtqa| zod;05`39YKQDz@*bs}r9krTE}iZsG`=o;1VZqvmlbsBQG+SFXQnr@AIekAj{2iLQ8 zOnr$lyj#6HQ7Mi)TUCSE#>acYaXwYdBPnYkJUm>><~v}vq4V=N;zPR_Z*VV`(A4*z z7MwT2fBg2BIe$X#pJ9|prRD19o1ZrLrk@UE$f?f3a(eGi?3PRAsze0@QYbq)IeDlK z4nurbaCXg{u+z;dag3W(-N9Sb%U#Du3ur0ta8Gn2m#QcF{iu0Wv=7ViJ#@2>l5O3V z-c9kDr$g|TcASTBMK{d@+yX1QV~M_*`IxR&-(#-Jbf#HiJx>sj%481jy@|Fa}i89>UQOG*k>@oEkD9`eOI53qL}iQ6Sz0N zDwSztVUg#BU69`fCfQM#ncACYSsnJ_U`Ex^s7TsjI<%xYqpq)0f_bW7NBuw!=%7WcU0+#e5lEfE17k@O#Rz1P zRJDch;>GC#U8IpbX$JSF8eVD=HN-!c=~q7W%d3Ao;`en5pC%H&k_@^XQ_@$&7MwfQ z>zoaa>t-(7+HwJVyb01giA8x#F_t!N8J?|G7;e?Xa;mb7iJ7@`ocxyQc+Xh5CtA|J z&R}q9^wz=(eprr(JO{8J8--Ru19)ptl1p9wa>_4HKR@zNC|Pw$5I^jP=2)B7XJFzf zrou(5tdtr(xpz*$oI6Oi)nPWr;yzlQ*eT&@V?n7oePAAsNTj%F@*2#iy+JVh3hRlo zp^&=`CJ5>0;23?ev2vRRl@v+M>pWoFBIkt#S0noDK(!=+7KuhDHW8|;cd-&j-z+E0 zb3Y$qZuMG9l&srUH-qB(XjMlV&z&X~o7uo^?%FjUH3B$vC-ClF)4iiNiz4rWf}`H? zWiRZ6O$)&Tt1)Une*D;;eV3aJcmk(>nbKmN12J}AiDYJCWc*y2#%rFM91HZFnGJIkqrnLF^v%%^%cS@GQSb5G` zQk{Q576MGsNnSI>tbWN`$79kVS0(i@%+kdf+ubwT0k8b8bM|P0Q4PTefw|YRTek z9~l`Proqrk%YrPwJ{cJq2Sh-a;&eMnce;71u-_>S104Y|xOYN^eWq%{2P{=M!PMuW zfwHoV(pz^;7YYQ=IdEV6JtfA^CA&}mAA{K0a!(R~&ZpasWh9U#k5au7{NQb0`;zsY zp6-IS3mBwZnf|tSeGQtP7IrsaWUKc)9U9t*ApZm zwuy!2=4%vFo`EaoL!&m^xGWfOTy-tVtS1@b!qYT=rveiP_8g%aY=W3OE-&a##|lCa zNe(*YbO=LcAT`}gs&{JswqdnxbQ;fKL!QU;w6PXk`o>K4R+4s(;Jxws=|eBwe64{= z)aS2;{bnwM3~1i8FhLwx)b+mpwDq>p(95};UKeLAt>`0uljsZNwjNt;%SL@Ep(hR3$!-e|#Zzt|bVdX0tVftjK^t^UsP**SPc1-Iug~_fGhW+9 zP4MPmHWM40qU6!MGOQg&BQ`ZGoTrPhZsM0fSClqmO3J%|luK}d7^B%Y{01MCRUP=&+39qe?aR5?N7)JW4PSB(pBZao1z z_Au-YQ3=Yb`)cmd`UI0Eu4dA$So{@y-FwJap6(N_-*~Qg!X^H=uw>b)TE}Hw8>wPH zFdOaLy3=Q4vKq^+&*)Jyw$fehMd7y(+7^ z>GZiiE#&%N4cixuhmiTV%#Goc^d-CRxUkzHu&dwYOp<2M0mLF<8&xZ?vOpb}rc-Pc z)0Ly@W_6emGvkg5MrGN0ML+edW#ra~9WmX(?_L`=Cl>_s^QD)6IkLoHuAt4>_ zqXmkDhL)?JN}QR9E_X-~w1?8iU48o0OnNC5s#CyV<)2G_;pRV+@jgmpq5nIE&phxO zB7TCqkUCWj4YcU`z_9wBid~`XMeAUeRp;k{n@C{EAW2^%fE2tKw$|bokRw`Y5fAJr zvGCiZx318oE=B`cWq4^@BS(}EE$dM35hs7{(F+X=1%<@wgW@|JCOjL>JfbJ-Vy-9_ z)xmVknB!u1POl|l5l+G@>^0RE5gly%P|UKgSE+URw2A9c8tsB`6Lugszy5HgM$ruB zyy3rabmKtS9sZTTD!I3K~98cW+C!O@wPbXyjRPO0ex z=(0629qlcSfYh68!Eu~|xR<2!^7w6M#OzQ!{XaR!cQIX!$8CI-y+LNU ztjs?9N20$zk1Mm#tZY!w3yOQcep52mbft4o1RyZoiCVPf+YX@)?86aPHiq(|mT z%#7t%>9Zt#J_iqa_a7$k{g<)`pjt5Kn#WU)tS<32+11IM5mK7_1%;}RmP$MR;vtjq z#}iYllI=Ag&?j$u^;NWWbp3=_O~YH;S>rRGdlOXj`pv5ZxL;*vbLVkPnr#hEdOP)b z3`$=suP0!0hbH`ZkHlm?(iYJzD7+V;ZwH&s`p$p(C4@NU1E-jYy3%%h3@7MLx2{(3 z3E^9s!h#r%P6^lDJ_q_SiRW!aB8$U?^+smZaZa`U);?(uTCLZ6_$Ay=GvN!Xw>)x_ zN}BS+m{`p0Of7MG37pp7Ye5^e=qq(gKiW;_7K;~)ga9UC2RnMA#3U7!6M5!dDZX}> zt1gAlSZXu;&X9ej4+(Dndo=rlf*vtkjviomDG}1YjWQMxwLt2&nxmbt&S8X*yNPYKemHmgE$TA4cfd;KIE@JQREs` zN~W59>uZ5&-okMfP#xupV*SD#viVdYXzW-``7sGa;)~)$P+FP@FLi}8O1LWpD|H7h zj*VnuVp2%Z$ethjNa(Qj-suA#f#2oLOBpO~qL(vv{eEqtaJzFiZv1mc{ZrYRVeq?1 zn3tKEY5IL9Q;sl8UD(_v(*~0~R5dae5h3qfEMM3Z^xGJ9w1moHgbil;Ke z=By+Gbdr<_*~&VFdLxz74X&^;tLujK(YEus(=3TLGF|2TdyfJ`93i&%};aL_>Rb_A+%#)ay>w`+lL7!Ibu8&d)NvlixCjWf z(n>t#fAWvtf#(<8NOP0TgYYn~jlAO?$=^|JS;v~RD^#?77*yGs60?hHrkJu>&CF0s zTwf{2N*+!M)MY@-R|fL~*z^;KwGl;zy+r8dgT8hh=YsXG6jL!~oTZ^2qeXhR-PdZ* z7>BLhhm{h^8U;Z8K)5!nY1HBN^w*CmnU%gT9BFj)eV;y^zfkeT^+SR7{GOqNrfRm@ zx}F9irP85mc%@!Zczvuvy_p8rBvRt{MY~W-XkoIa`E*5i2x_75F5#=))l&i7)Yxox zw`q;1HGsjA-dI609?dq~Co;1WRL$0Qiv(0-#N4%Auej+E?!ur`na`<=rt7IhO)z#R z^Yf9q_+h$8wa+Pj1@rG}cMFK1hxo7Q)NhjFKl9YzFy}W--S6l(>8p#+?Yn{q5F&ux zG#^l76d~n(_*l{%?R@hT!@7;lqR)mG3n${Cv>}Ky-h*PxRrOIlmIoq-mCi>xp?$K0 zA4%#9O~UfsrBYs8fZUuSa@w%<2UQSOR!|TyNjO41I9U5y^YXpt#9~ow&e)QXH>6r; zZw~GgKPytK-zk7~bDlh{tx>0N(|TcI!Ym{?b-NT$yT%rC0Wg>H*o{{?gd`@k0SF$M z*6w3jBzd~bb?_wxkO(;S>+}{`O82a3a-u#QyeL|ms)0{VBaFNyQ*=%WVTbdy*otkN zdd2ny&&9VNk`{*ZHFG@R&Bq%Km25aOp2poovQMR29~+N$k>=Y6?RMRPb})9B*J<`e zpF_o~3iNbz8=iXAd&0KkFZw(ir;oSmCeZoqxI}30+c2*&A`jh?XEH3ON5$@;?cRIM zDoGDMU)uCpU#F;IBm1=$3^3CBm;M_T2Oxqx>B}3^DHHq#6)sH%o|^QaI*(#9JuYy0 zmVnh0^#ZMedvg8(a=Kn8M=1MkX&62W!~ObSnny z;2c#ZAo;!8FAnhKg#h*DU0d5OMMcHM{jXscqfJ;dvSiC%Xuxc3*cPW&tESwR?ha^I zsLla#*Y`A4vU}}ZLwn)eD3w2!UYw~3?fuLJJq8J_QoPh6B<9yaIn*~+qn{GSGVKA8 zYA~V4bR}*7i06@0?UH+)WIW~JERH{`nG25w;;&xZ{fVq^vK1qHIWsX5lCR?H4x#e5GR`w@Z`4_uPgJ@g8S1-_hRjX2be_49PZLG=x zl|s?=j@l@O#0iF~a?lPl%q)V(MYpycvdb&r@}2 zD>;T9BPrUl%+qio#l)&c9*Ig zQbE`>Ac+7juNK3NwrUW!`*FwdDAW@-=B)D^7n(A7d}z2m{3&9)$C0P=YZ!U?rG#~W znD>%gELnFC6p>szi0g&SJJbYtOScHzd4%UDPQ4FMC;qoe3*E}O!4o7*mPX_GBQ>## zf6d`%bbXb6uH(;@`%Bg8w;_fZ0(Uy;b&0#=1}TSd6;PE&F%wIv&>B=+%oNEr2S#>|0w~B2Ls~&tPDQks;;KDFfa;>3%_uu!n+9eBN=m!gG1^x#LkoYAM3U|;@U*Z$L@|F*(?W5v)KkogJA6>hM|2XL1 zE%2WN?WbjuulQM$JSo)|)mON&dGY6CzL)?0LR{HwN-c%EBfZ0_q-obh`xILZ<>KWodof0P^lbpC(0PaHr%Cy4=Z zj_27N{CY_H|34YqZ+pqlpHUjm8NXH?2>N`Ud)A;P59emO^`nCw)6Pid{5H2UqPM4- zB$Qpi(;+4*p8}CdB{Y%8^J^gkc#gr8&na|eys9wSu}|c;3cvf>_p+f&PR^yO8I~G2 z%ZFWe18#p;hq)UTczSIchj4mWi2&^)e&SxlE{*lN0$Y0Xkf$KHVs*q@uI z?w<5tibkO8-=%(#O4;>(O>?Dwoo3J1=D$_3FX2d$?QvY{Wg>xAU7C@YO>QhLEyGWA z7$jLrWhr3@+u*{!!F}Nm7luohoO?nq>eNAWWMvF0@R1wqEN>ael+X4#J=y*dNN;vv zAR$BeN!V_R^D3)av|aN-8<7C|d)Xt3a{`$43EjsbHzEq)HWSqeWnuJElG;$2Dfh($ zbJ?ZDA(6APQ=%ZG2PGRYS6u0eHXJY!Sx?)!B0bYX>UE4k@R{}881TUoILoao<8F(& zSf|%#or&-*rFb!aUhW^yer~Y8WAGW+f~Y&H@K)2j4;2r0SMFY*=I%MndvMp7pgWc; z$`)DQsVaPFKYyVYCiJUy>>I3K1=t-9en?>i0QYsFx z`$EiMnTdSe=?QKDc6xFZ=mL{IxxRm}l-7&KpJN-zh{5~I z0{xpAOP7$%>)|=4%NO}IBO6@fo@PEiSC8@Y=#3?e8XGoxwcK z_b4Ry(=A?2rTLs#61V|`ozQ2?V0j=PE*(V4Jij+#C!Ft!p313WP2bFowoyF_izsGB}E5>yH+1v-<^cJEgfUMQs z48_gQd=5B33K)d|o?v3uYDwFZE)y{SL3k?Mu*sv-G!D!{qb1>e^Gz{P}=)WnitkqS;u!gYCMO(tNnDvZ(aGI8psCA?EL0SofF+&awE` zhfjw2s_rzPoB5%b<$*`GwLge8_xhYh=I{xL;|nOHj-F6ny{ekPc}i;W30G@B*W)_{ z#ezi~=HIcM)n|>*EtCI>qCfHJ-$q{mS&B%LxA0cKe}5+OYQ|SqUOvg51@QVq49ax8 z(z4urXHmefQO8q4Uj2dlc9w_{_9`W1CA;e2NE|h{!M&ke^*CVbD0-~lxqEk^|Kp=Y zFLDOJf>q01FhFd~>8p1!YqwI{?%dlza`2n?Mb|klb)6jJprJX)kpnKH=1I4gInZ%B zaY3o0%>cGZ4^*)kil-3VP+e&;@a6V+on!9Up;`Sb7Vu*ZK>Lh|;n3|0y2|R6G;d*q zK8@wl4~Y=91fk!!=8i)9JxefFS*EHd8#V?8$=2ULeZEnE+gqQ&R1UE~ukY5CrOJV~ z4l7v?1p3Y8+o|s5dSF(Ah(AMMQYZVF@DU9c%*_#8Ce{*J?+lnZ%Avn7Yi@80)Ml0c zSUHySit~<@)%!y|01smGx_^8PR0Tgym@8#)Optm;e{S_xO&NuZNlN4YW1;+Z&pq(}d!&AXN2DZpkFCnK zh;gJ|w@m()M!~!MArGzzl6wr{I=(c3!cXXz&JXPcjH6%gj571ruku=m(S1*RaOw7g zC${w~EbhAl@^S$}#r6PL8RZCrbACdC~lzWvU?zLm<%o2E8pl5=D+$*ws90D)&4^(gMA6gGg|X4k1QQ{XC3 zQ(3U2Rj8wCHBztuy{B4d8O4&L7GS8#C^F=^32gJAdhz|4fQ%B?N&7%2^c1*gW^F!a zY$|VnkV2e6c*-p^FM@?@+I=a71#f)y0SDZdn9#^`y~?4RtLDZdXN2d`=2wdD4P-+x zx2BC?`u>zBI;I5Nkht`C9RnI}SAg_r=mg ziOv`LHa|}FIdNZ^sNs=fyxo(A3-bZVG|DS|0#=M zz!3L}Di(I7m=wVEq6>TUXl{XCki6o=$*DFo-zOvGKZ(-|MOgt}E| zoPAv@ z)D_Fcv9s741sDxs#ZpgDN~{hsF3`~_&{A|V(rkTCRn^4=&fec>Knrn93t9BH5P4Zi zmk>v8j8}CNS>i6Fk5EaGP|#WXM+-iC7Esq6!(o0{S>6*mVg++X=?t`(gP-aXD&Vka zJA%2@(P9qA#hxp)xm5(8oI{D#VSD2cGu?n_K{rgKGIvB31d&)5PnggHfP}f8PH8IT zClmIgm%`Hy!Hp+}sKG{eM_gXXog(aG!t6rrLbHvq&|JWCSZdV?3zy(&b~SJ{8KmH| zS6j2KFOWm5scsJeaA2XSEW(G&htUaw&G&Bh&v=j%j~*B~k7%>J(@nbtZM)9-i~%mb zqmn3XNN$Gkodcq@I*qU`Ck?hFzxrC*=QAK_Qcn%m#Wo_l>kRu{&-ywlUSAMpNMaL!tC zw+ImZea{nF#!@TlE=yo19T!lgFd+^p)cF=8?}O}{U9ZWm_MES+2kK}vjfL$^*eW$b zyDGIIdY_}`I$WbIx?nk7UHehIJ^)$1?v~oL)t6@LPgmMZ2ps?!is^hugc=l##rrkGSiX?`&OqoF)maw+JsH<_Gf7 zsr?nVHX*WGAwRW%kehdDKA|Lg-ByGe6bU;8r9o&k8g|NUm0kE4Wz`jD=#igLAxSb0 zs~(uk^&}Sfq(4zOvH9cc!rNQ6;f#;ozAFhSf^zCt_Yj#wZgE)7l$MM_0Z$4x)DM_& z##pXD3dpZQdZL?hlboVT2##lidAi6ZDNG|*Dl8+c*2ZtGGb0uM?H zlPvW}8&+s9p(p+1za@Bo2zMK`?coDBzKz%JZE|jeFGQlG@F_&Pu1_E3xwmHN4;Q?r z7lwk!)#wb4bO~~vSRNntRu_ya^MZ+IQ4uhD|ODuAg z=Xsba%o0f%E?fACe<~~lLa3Ly9;aH0?X*#vYIKjtw@aJG_+P5@HMql zE^eHURCc<1OW0OmV$BRSTFjrj+SSG#*Bvc*;rw|%4krjm*JQ-TZ18gciK=luv68+? zW#0udvMZ>%@iLP@Z5y4;Q9SSB{+PnxYit>EVk^f(Ge%&)$&y{oeIW0ZCEOPb2NCu_ zaa)c`v4vm0e(e>Rf}ds0swpL->&MRtiW~Q5gH`X>5QA`l!mfK2A?<7fVFrun>4uC# z$q(%&s*A6$XJM6GbxI8KZ;2fr?Z6ia3G273N@{KCUr}2jO1Q!#5AzzBUO*LE)`++> zS&6o@eVaFS32)bnHo@?%W-3`Ea*WI|U-_F$MI;`dNke>;&#(h5AW`c#N5W3ooOI<6 z)vQ18^#%YPWqX(rmAd|yY}0D*5jC-I%nnt4Z^`j{$k1}_|6<~5cR$TUoX(ean{`C@ z@xR>89$M(wR&ad$B!a<`_frHLbu8zIr@tYZ>U!(}zdF%n(h%v?b5F31D=hi?!t15a z@<0_i31a}S=n>)vy?mKv;Rzn72XY%rH8$;nXp2|nbPqgs^K3P;C838|<5*;8*E2y2 zH8^^zse$NR_QFVuw!{W)2PB54VU15Bnk5CG+?J~j6|;wQ60*AVlDM^sA%nIBhalp> zLf6CqP+q^WiOt5XkV0q7>PS?W)X6g^=9fsg3OlGgs}Tq&8HMyXh+XlgV)%P!gKi)Z zXX*bgYD+s*OpFD1@FWol#J6GefQ7uo8&zB*OBm*iS>QA6+864qftE)OFJUyHtt?-uq@ z1B#G+x(zB9t991Lz4bx(dCmCd-nUqF^*%Q`qlS4oR8Z_q&G`T;$*CF{U1Kso@i&j6 zNKn;jt2c+!IffGZ<3eSyf_ZuYfzGDJL;Wc$tDPGk_JIV&**!wQ7o_`;%dpX{1Z;>y z^f@mq>Kb~3fX<lj=p$4N)*(7B8mEB4B%hM*>FWtPUQwE)E`bJ|0~5^KjVP z>CIlbN}jFYwko|ax^XC!sjr08hbRFFM>eLSH|vLl^TOIvqViYVY7kLwidV{%V0LdX zSN7H;O!k82hT|mkwHa@?Xpu&IrCUz^a_z21@mnF@IWA9^akR`}C_^2K4AaK5#xXKB zsu$Hdu`wsX2u>Dr34}@?&8QX)QeStxvHwfYanX|AyKyZT-vVK->uH^5QSqn2yB^$Key_zT!zo1h1Y=kxgrG*R8I(T7;YXc3AfT#C*M>G5e zb@U;gvACwM-R1^&mVEjji-t-WRfZK2YoKOTQoL>K+OiQ1yNC-nZ1BbMC}a zFPEeUdtck2R~lXWgiOx&zPMa3lAuCFNOZpJ41IIWHyr8)#iDJSs7S?Z zkK6_r^n5J8ye3=p0^5JTMi5?SVA*c>ZH$;gZrxLv7QIp3q!Xn*ad2vy^jxPdGIFAr;f%97muVC z?>KmR9_`yZk~L8usvIakdV7)Arl{JCmAV|z(2}Tf1m8(CZ4~?3pfC}JVyjnP`TKe! z_W=qkC-oqGr_4Xk+0@5BSNrwrmIUg4-}!BuE~O{0R_&m{+MMj<=)xoq>CdU)<7*xk zZmaZs(FM8>*n$lx8=s%2HU|W|Rc~0? zGncBZZy#K%7rbP1x6`K5pu`50?+8&PW2ek&a5--e2b1q!-PFk@4nx$ITP5Ohu-S^! z#4mJ8_I8eIoxMHuSO2d#{D&Hu{^~+9ZXBd>{GQ!%DvBM{@Ve5o(3$-<>X@5+n@cC( zqQGQfTvnk;%qkd5Po7#bn4h80rEf-Q!1?S;#b&DE0K42m2G4|IJUm0?kWR1AJW=7z zg`qH0$~37_s{yis)CU3*$uTDw;e9IxH-(^KwD#)cqxYUu{1;tdr}@WL=g(tQCL48g zsXEy@P!iwLKSg5+3LB=;Lo>TG8L7>YNy-+oc?P?3`dfz2^#a*~G=gb>*!-WP>Wq zZidbQ8Ta+L?wxZ;(OiXyJNP&Cffh>@DfuQHXCW$3hd@6%R^Rptxj2HVJW0rgJw?=+ zkL?2T<@a4cER9l(Vo`)A*;0~Q`s-!{9(EGp?5P*GT zb^V%_GlEspiuJO+Ry(ZH;+M%d2dN^9>x-<5rQN_}hX^B|-mZL*Eu{EPaiJrsbCh2* zLpJDQ8b6flnM|^Wp)FIBE3rH$$MqqOV}UrzGnw0o#_>)6v&Ftew*hj;fIk?^1*m$22@^V?oVwWgCU zprc)fv16>HqSCI{jgqz)ZN7nE1&f0xWL)5Hl@euhSwIg{%t@hwUZ zCw*1h-r$Ktxx@g&Es~2W057tk?8d%tu3QHlPFjgH zvvu7bqNmedeIk>AmF=F*jqQF5uZj2Q9rda09B!o#8v;`js8Jeo|B-O~g73fG4dYF; z3uW@@RM%uX%NJ_6fcv^89hJ=X3>k*(5?S>|yC_G3lZ5p4RONN(ViKAbyX&z+fXynds|#MQV2Hr2x0u39BNXF~?%tA` zW>+NJIPc1;dN|^`lzXaQt)y@#v{) zs+45Sw>N?t2()Oq5@Yf2eKYxhk5m(X}i;`ah<~)=G`Be zoS<@90b_SSe&378*UWuSd>F%}uOpCm5NG5a0WkMRZzh0w4L6^z)8?jGa^WZ&@s(xTX8_zguEkF$R^PXko))?<`wuC0rffv zP2VlmumP@j;zjg(19_~wqYW2{D6NFYFi||@N%Kfe_k#PP;3tX9C6%z1)gPnob!8(A z8^AZc{Eq32N@d_if#9EbNv^zlCk-fCa>Mv!7Z(!X9qY zM%{XgXoHv<>vfv*p)2j`bCO%=Bj=jiMm`TI)tNg=r1ri89U~h~`C3hpIh|#g_Jz$z zg$SYu3C+FEh!J^J=zzm>GgQ*Kz}j}oSw8%kL$Xb?FrjNG_>b%j??_iA(~qZoAyL|;*^7B)HhnJ7el#9 z)Zk*RSv`A|tqDbISDAA=Gb6j9kawN-E(wdCQKP>P_3s?+a)%v32+2QW@L%_#`%PZC z2jISeZA2zQ2Qm#2mfcntuT&3?+D zahJhLiN>BCZ~chD)LL#E-6l^eduE=H%GF+sgT?3Piv3usX{0g9p;g0Bwu8BRJPXNn zx>%&o#+4xDNb)r6>yVE*lp}-9KKZOfZ-|4qx3gqsN9wg>f+Zmwvt*2sNT2nqD0Q8~ z(*BYn5w1RouxxkT zTqFN7B4fE(WV^#>*^+Ds6rPUjJGI!2rgkV~UcP*pGoDrwu~25xerbRT$7gj4`1m{G z{T22h9WnCw(e1pane&s5@R1iKtj@OpInfKZUZat(!3_Fj?8j!l_oYy`^g5WV9?*HV zzeTAltqfYi2Da9_9k8hlc1a<7@*y`Ex%4W-#n6pI0z<~@L+(j$K|Mk?<1hR2fGQ2p z*_Weo6WIX}#k20#0`0;?JUb4B@#$wp#@XxNkkiv(6`aZ>Z6%o)|5l9QRZ`ouEZrlEX^fegPM9dOT&XPOt!s~zms;0h?zB_XqIoxmX{wc2Hs|6rDya(ew^0yuTVx!#N0?-v6SPKhge7(hQ~SANk-+ zWvV*rX(lRzrb-O>Djs}d(G(ME^MG;mp`@OxRSoX=p(~>TwV;C?rj*zbr8Cqwy|>(^ zR@RAT9j98k_OScSd#cw>c4n*l<&Q=^LpN%$l__@AOHGc|29m{@PA8d7mA40<`A1Rn zj2{4sleW18563a8tIs3l>uI+4soHeh&|z{G-v_0MTy%0Jf*bPV`(rpRLQct@ps0#_ z@!gWd7!YZKiQhp|xXT6V=A`&mGAvm(^?rxzbRvyA(gY(Wbi10_N>q*`K#eQW#?Wk} zz}?&CD^PRelekEJW3!G}AKK$B!TDBRn_i=bhZ6eC2xW$&-80*RlRx}7W04nGlu?aAjVa6FPe2#aA#Whor)ix80!IpfaMCZ$W zy|+CvNvKvMr4VHmSF0<FhJ zRW`1d>h;)y<`N4WMjdJWb9v=*1(n1GqTv#oo7AHCF_dU^N77O=> z0!!XmPu&&p1a%iplNOo_u1`OyKXNZiN!(R-r>M}Ph2zY}xic&6_GCc3T~~#(*UJZC z&BDv)_Zp>Kt?WWl>H4+Gb?h5peXy#UrF=(jAGOya*RRpMtWLDqw=T4m)g2kd+fsv7 z#{s3I7hA7?mpe$ayv}vK=_4G=?p`=}Q7rSh`Pj-hC&#oqwi7@KFN&n&Z{K7GUb;B& z78=2tSB`<|n4<6}K}JT5)YPa*6pJd~(xI7h95<#|bo~U-NzKMXXvK5}^{Lzerd9s@ zEAdk?$cUAMBGwtGE3T@aSRmKNDoiJ;ZS;Dc4vr)OS+G5*!Nn%gyGXlKJ$ch>u)}J` zA^Y^=H7>njfgNEX@)>Oso0;Q_%j|ukx=`Drb5Bw1KqIPJOnm$eG71XB&@l^G8%PY& z1lvn8KYF&J71sOAS5_vAWb<-DJQkQ&cn>?(X6|fVuF;c z%G&4^Wahl1akkvPsky7<(~7524MEznHxm`>Fm#@ZWK5MjYSl@Ao);C)na8bMX2~24m~o z5sE~PvRBfLJ?x{IQhBe-#xm+@OS5ZD3*Qi868N5+cq6UvP47TR#hq-;>$HPqZ=y-B zaDWPBAQUpsEvM-X_Ks*0#ytIc>XwWm=4w$=;6rQW5Q}m3H<}zxcz;3!Z#|kLQlzU=rHLLl^>o*XkX^lWtP)EDO1_JbU0Cb$1 z{00=L=a*#Tf2AQ6vl$m?Fx2%Z(JqX&U_b*U{uc;{3}G_KrQ3O}oXlWBknXco ze)CX^Pvv$D#l$p_CYN!Tj}P*DK9Ef26yYPMJ|k$7H;|*#(EF@rcPezApLLXIAl1oV zodAVS6$$`gh4eYPmv5fw$d);u>w%g&ziBU!1q0=LL*D9obc5awt?T5+k!|3EIb?39 z0M+U#yF@Gct~+KstSW!EQ?Js3vB?uFRK?T0|Ds+7l_SH#M?OU-;Zb?MQm!@9i66T!;>|>M~joNj^PES3WD5#hvoDROUJ2` zdugtntHQ$jsu3KTvuQ=V^6T#+^NOE3Sg+fQRL;N4zr;b!zAzpmXxaI;9zxJD{gYD+cv>r@_KejoV5$MV<1_>XU0gSzfwm>-K|J(n+QqmeLKx$kp@R)CRBo zF4BoVbJ~bAa0v3+YNgIm=U^CHtL0D8^Z@!Z?n7Fth)Y~ohZQS*Ft*dpO%@DJaopfZ ziFbKTY)s}rZ(DIfSV>Vad_QD`A6T4qRAHkCqFX120jn@h$uQmGWO_sYn)uIx=i_TF3B>)OOM{^u&9 zPoK}P@Bh)`@%eDw_c-Ug&TF6NbB*v)!-N!JN~hs%e+o$XDyYJpFO17d_k}ll56}+^ zp-W1jzaS64!*wFo^Oi>%bcUiFzP1L6!lZ-|owU}2HrNH)#gD9(_*#Wlu#azCnTE(l zhl42brHh;BT!IjP&$Ay2uRQe3yRO_cSV7>9I{lHcbAIt5w~AQlpLTtEKV}PA(aZ9$ zxZ>!V4g2y!lYX>(#=}M7hGKDlgZ2Xyf`4|3LPa^JR&{D{Yv~9?AK7&6yd4cWX`k>+ z)39iDbZ)1$WA$Ro@R70g=p;O;X)AnEM)}0&5`|@JbFfU?E&|^C`3z*3;#;R00cl)t zXm=zEL-4=)iiu9XgFVtVp|u77a3LV0~UlRR@cZ{(?BKaA5Mzx3P%bO3{S z`Y6GDSs`jreh8<4KWWG!lfsZH6b-=qnF#{(&!L3ffB5@e<4!ZFJ! zs#49I5pSX7mkAlp@!O>tflib6DK84^BY0bJl!+<1>u^kpG?1ji9uXk5O>W*fJDq3X@l_v$tXz{Pbq#}0wyw70(p1@)4k4&#ghJjXj?Vxb}q zg351i6AA_}O~Tro64Uv}rpe{PLDoXGL2yl@)dlSHFX|p8+K;~Cq8qlPx4_}c`i>gT z?<$A{_iuci;7K2FET;vHKr`Yy?e#^O@p;C*T)-%N%piPVNe;mKIRIBhnvzg!jmVED zP$;xE@LTDlg@?`Ysm`9Bp5cafJn~n%n=x#n6=pTf-ePWS^wov1e|ohA0>*%*=yfjDZ28R0#{*wTL_p(y2q%&$CoD`d} zwmU|@mVhH1EXXgQ#B=^KN9PXXoRC@q@+SWkHC`zV7Z<_cb4xPKPP&)IbY3MhDJQ>s zqC~(knzm}O1qwJh3d--fsU1plc*N$eY(J^wyk56e;@(O8@}&whvcE3itzG0b^?Ii4 zCFj|;%)pnOQmXd~<53%+UF|{`XjC%gdSiy9u~Zcu5c{Zrg!h+gT9R1#RFsUe{iqc( zi5#xBpi|O6`@754W5m1V8qNL0A1)GnQM*@ceXoCnfqKyI)TTxbBv29d^!6of9woD$ z$kXA)8x!)3(jI=$yW(bHq`e8x2YZv=E=ayTa#wCA%t;}o$ zzU`EhFGd*@LS8B#w;4Cy!6PG-RF@zG1M$Uo*Fa6hrqZ*iWsCFK&4ieor7%hcO@OYj z6i3J%fY&ulkp^j3?H#KRuZ@@RmzvMUV*tG}qaEk7+J|HbW1>Ja$^=0<#o1K%0)<4W zH|VrjZQ#bSBD@)srexl3*&zS-&pbW7(hbr+#8cp)1GAbm)hsC;DDc0xG^B5Nynv?h z*%1oEc7sRH>Pfsw`+!IMsH1}(SD?WroV=7E{byi*zqCi0Sn1cm2X#{sBabotu=gG9x&`|KQa zW^<9*t}r`W=p?9@hvbs$qx)_OqD_*Pw!z$rX=8)Vu2*MR!ZyOo-dwyB21)TO6IyX- zeShoLt?&F-rcx{0>+;;wiPBw6l7>UBTg8!g=5%UJ_Xcc5;9J@Woz94|+B)&9lnDDx zHd|!kk0xhdLH7xdsGaiZ?woWu>-mJ2A=(d=@>E#h*BGw|*a+8MeO;32;pOvu1(IZ< zsiOH(*=nZ<)X@tRE;A}ME@2ZO#++ibSvY7#nQ1Exh?xK# zfnhXb0sK5SQtXmL`Y!0(*w$OUe;l0(MO?T%{peNp4qskd039)p?^HE2)+5(zrQaM# z;`Klx^5U$zFf5(_y{A0VtZg;GD!`2TeBtAq-1GYfn{n^E#s1OCJzzb0YgXK4u(-0$9$sz`nWZZl_STnTYI4m$KA#f5QGb{KCOcOyB$pVJ3GAxRGn` zt~CdiYTH@+7`__q4G8QJ6g(z1<)nk|ttEps%dl>KkC0lvl)3%3-mb{Nhldj=8&}J( z4{WqRp@$Pz*Lo)dRr1kGXyM93V&gU)*1!%jtKKW z%f`vy6vqTawVFKQC>VNc6JPx{3UZrOc#5|=va_%>EI_b#I2oqS>=M1KmN8ky)QAd0 zjv?3Rn7uZPe_;HH(K0ZOk?Jg*Of}E41K=x90d+(y<){j?l?Zd9U##JJU6LU)}VGf%%|%RkW#{K<51N zrAwc+{oUFo1(j$bZ5}=PZj5SM?cpvl6v1u)Eksu+1YCL=iYX>aK!6@()MRh)x>%-h zDXwR-n9H|s)Y_FS`f$ z4U279pM!E`m+)E)ta;I_Rx&kK8r_^zff8=2FwvVka!G>y#lx*TLJXYZVJj94W?H~M zE>zA$gob_$vdHVLH_=d4>Um{uypik>Nbkm*Ep^oc^Vzpxnwt-qgbA&dQ{UtvvE zOyc=VG6-^1?ao1r99x3u~OjHA{nAA8~6MX~ir=DD(-gt0L*N3u}9?`iG3+!C*i zJ;|NwuOT#i%6P*F`(&_q^Gh)?vh#keo872JmlymeEz~BR^u%f&J)8t{k;2o_tCi!Z z$fH|ex>&J_btlmVVLEK6?%(UBSorR-QLnNrkHpG$YP-hZr{2weqO57_vS`PFBExWp zDPARil|dqlG1aGh>_YcAMKmd=r#fZ_Ow7K-!61q*pVGXAHerTtX=Cj^@_hu8X7=|4zg+viR)EfQDTgK*6|4+xzk6ZN}4Q&@;p*F+;8Y-_)d-GUaw3|p%3?6 z=WLY(-V4?ybBwA&COJkKxyq`;t(oy=tf;YgoL4GkX@16_JUHxAQQNb|Bk@pUs^P7l z>sIh&6LTw#qbbTN$;_CVFIQ;v^x%L^zn~RjCL(09+L_r`Qy3p%02%Byf}ZdFG8f>n zM4T|GUYQFDlEVf(c4Wol$N>^72f?Es|AEPM?Yzk8gDr_wJXou!hxp{h$+c*@0q!%=cIkcTSqAM`<*B&QfzRY2G+pY347HosdzQU$;cR${OGrd5UC$Gj`P{(Bkv61_Xe2S{^X#EhyCLuS`?6 zP>-}cNRm zW<-a6>5PY@4<|`Ch)MTvh196CPhWm89Ed z`%rhP02yv2(x$&Y!Ik;d3qHnIh%gw~GEp6mfgwPx$aLMHDD9CxoV@qz%^PLwdQP@)>tt{%rA~J^L`hv ztt^Hvs^qCI&iUWfN5Z^rArh9P#kG{wdd;@Xize2?yy4QSpT&KQd%jPSqP{b&h2+R6 z7@#_H-_%~zmmDX*ww35G22-N;x7W$aU6A2->1J`Yi(ox=ZmaQ)1ATT_R{gbCB!C=bD&h2Llk*0Qg|)jCviK~ zrc-BWCrXu(!#tFY;&@act`oXE{RIn`-HmUU-0C2Bo3=X+J2NSb`tWw_y;>^ z(8>|gW+%|trSvfwhc_4bB%&{h`#RqpYWir#TkkxeA{vL2fxkM=WN& z3s@^)N9pR#38O~!_{#2e7O|jF$IDf~@nr3jt0$|JF!}E6ZQA|q`;RlQ=x-c8F3V7b zhG-utszeXZorAGFXaDLwjrf0_a27clGX{>e{!kf}$F7QkQ&0sWH=N_vR}9|YTi~60 zb?(qj-8D|c+}*qT{!1T?5Rp$qZG8Y$Z9xjMd>QPf)0*hCock#N5-#Vr{Ht-)O=Jjn zQQ8NTDg%J(sET4lE!KyeJ-XLd3a;7Rk3=VRC=P8*k=qd@7xm_HqG-uK&}e zzpV#Ygc~g2ZDLEeq)M;iUsd__;GaJoUcbHjAG)=B#4!L#ZgbOd_peoGnt=Uj{^JEd zwf%v2p&dL5Zed}Li@kSZdmR7j#sBGLEW^O0$P~S;+nv=IIeboPby-emc)x@=Zez?a z=zww5@(L#Qx4E5XtC!O0TBbO~^+wV6IKlLNi)a?EsI-}?&RB)A(lcWYPkERErv^{j z9TuZ2$1JgaEOh~c-1|E?!WPg8l+e@l@yw@INF`Q=;3;OYrENk73qGHL=*}(->Cbp) zin}n706{;;26>rdcd?FUV{GjQZ+kmnA9v|cA?X)5 z{Sf*V#7B$vzkeDh1pD_b^*iL(kFECe)+63vDhh@r5qr15z%sl~%gTDM!-ChuF9=>c z$7>0|l{!*%!x6Y=ss8%jiz~&_3XAc2?_|f#N2U?TgC*`4+Fj`5}$jK+iN~}I`Dxy5$FU&`#guH z1Fdfk9D&-?Br+#x-Foot*?GoA2KNRha_*Rs&b*U0JZP;l{S6JBdBbq?NW&;s7w>sd za8SLU`EwpAP(T2^2OwnvMZxM%SEzpqYjs72}AAU)?DS$07BLH~8 zL!6jnyGn5AxVu@=+mT0#5utTcgl|qknFazP0|d7}VomZpdtcG8qt$6u%iREHzKt_h z%b1B1og%RJUt9E)PTJlt`(rP@wZMvh#(qpOFCI_(n9qG{7*QBo$UxrLI`dv$3NW0Pw> zxpnnTr7p}w?AxhZtJE*qdpVE5n3jbmwwh4iY@YvyFyZcezMS^ga{T=1hfy>HdUkdO zRXelycYsKr0U4BNj(HIIIZ}{f;&u?6_fis8w&NmLsKpt|yCW~&Ea`Vayb|U(Y(|%8 zxSyAmYrdw55_0u9PL(5vSDN3H?fR%oBlN1V*Wl1ZJ-p_kMQQ5z*zlHzb*BrgW_QVh9jce>T0XT~LtzY4nd-2I89pe(~ezk-IvEj^z@Eav| zH{+GZ8Nku5UhOnL*b&);sXN&IcS?#lrBAH*_~%vS5Ar0bVmeMm^e?VIAxz$A!kADI z(x6kfr;=4FGtiB9o?kI}@p>&ygPL-h{$&^J86IyD&)D3Z!E}GdEV~}j4z=V|0Z7bR zUj+)vBW=<{+taSc}L+jKtW$kC>xM9$DHHZOQ`<+gJtDiMPQ)Zo8eREN}pg-|~_g7y(>tvMc>% zG1sQE0~8!A|K>-LXkK085yvbOPHoTa@I}U+RUU4QPrfP+aaig;7C#;cm5#(SwHO$~ zPjkuL>0aEfIyPHA-|NJA6(v0t%x(t7HDrFS;ZrhxZg|ME!S5LW5Nq*IoI9Zz+rzn9 zqsFyxeKKd2N}QUu)cJK~x(mETK2h;qr)pGO&*o+)cb3h)-Wr1$HX?z}I(25UEB$OJ z;tC^nB_^e~=M!C84uz2#?FEUvq^JF9omQg*at)Py$D@rd`twdNFG^4Z1Z*HW6tTbAKHCq)D*XEU(XJeN^qj$@PLuWDRemm3uPn|!)k5)|mEDuBg zO8Y!+$S!jbz=A~UiVt}`Dp?~Wf$E&zO`59N-`qY|Tn@9gyGB^oF{CB9h76~W4D}Pc z)HUj7qaGC8K&A|q{Cgvjg!p3GnXSQ^n~5?i<)zz;J@WD5z5xs%nzv0eJ|b+^A1#Y(@7-4LglX=Q`)-%VfF9dft%S9l5C(1Nc&~!OpZQv_N9Zk{1CL17&3SEED{K z_fFKU8rUT;?D!Rt3hRm)k}N$6i2MTQHC&h|8ZOgLhDb6@8#zQFkOn?!?O5BR2*DQKUtBn!=| z0%ZS(fmj#USyz*7vc461H94%<#OiHfRA4YP1j0kzE}h%5?Gc4Bb{l#zKCQ@gPNpaO zozC3tbFaBZZ@!5l38pMUAU?DvwnX9{@v@y$ROrb~p#`KFR-MmP8Bvp-YSm4phSlBm zHKBa<%L0TKI;@>;##5lkI4WKWc(`J+;){Ux zG-%Fz;>xG`g+#)S35uDomD`f<$@9=fUMG((e$64;TlhApFh~ATvYc`AyR`29;F$+@ zRR=WyIP@R!AJ9h$kY)T`=YFm(z(&wOi)3}rA^1K?c*g2m- zeE;04cWc2CJLBWEXzTK!)=_}NSlc>g?G>)ms4ER3qjg$WxhIJRs$DrC!TR|NeT`~; zO?U})k!)9|X6YB*jtrUnC&2`P*X{XRtC;yC1Ul>ay?Z;e(&5maWpQhrf}qyBVxMl* z#a>0wn!=B+bOUWEqFGCE6`?+-m~MJ6t7zPfKEHRy_m{7?YckGAV$uP0+C9_p^QT>3 zEdn3x*2X8-I)6!Cm0$VSx9pj)PJEk&)qZ;YkMU-9e2xMQZEUJgxoZW!S;ljb6`$$C z`X5#Zq}~pX97%h0zb2)2VL>91o4X;45MP4VfGFPIY{2RUp3k-l(3fUoCxPw>tRcIb z1l?$Nj5;UyZM7?ZHsldKyz@--P^ecBJRl_GQeZ7vAX7E7Jwn6&GnHEQx0vpz)|S%& z>9bN#RY+&gr6Q+tN)So<06=*=J$a>D`u%%GW^1yQ#k>vXdsjZ6;kw#)CL);qFXJqC z=S#kKG27OSo*l>C3kyVI%JHvgPvd`YcSj7KVpJHP$!<+Axu?cLQCH+rdrzUkg!J2s z%0LD71!I{Nq837YtI*-|)w8<83RtjuOkq`dc|YgHel?q09*HzF?YFjhmIWMux|bLF znB|wr8}f7}(<`M`*PdrBT#b`8++23HAw|cVMaxPK=*BmKDA};BAZY>2HiJrfn*sqF zb9v#uxfNTgezxSVHp&fl9v%wY>ZgWDq|8<*$j0$cu~CFMUrfU`1#s0gN3Y`ig*l9% z_dS(7R9pb&D3iWi^`|`ej$`e>1@ykiy)}_Q+cIN$pi69=Cn;q4v;3c?$rpS}T#3Ed zY%m=ucFrruzV?|@x&kZj{Cd|yfUfde!6Py+@T_UB&rCu(OBLdnZ%;1(yA}{6T_d>= z7YYtgH!jFfxWQ4Ey*$M~@#$|S&dbO4e6}!Y&n`~xY=3LW)@N4pdg``#sGqUQ0QZr8 z)o#7s7~0^$>B;M9oHDal_i_P&@cw%2#XOBCm8$&w)|~K#SaBb-icH4YY?dEzqwZAr zme+ol@!w-EUv!u?SuTg(4QFm)enAuJT^AkddU0K~>~f1#!qQWv(UiN8M2Yd7bR%!J z`-R%4PWwyoGOJb)R7fqgQ(m~-LeJp1a=S4n$DKsV6jvV6eTETV%S&$Bq}9T;R8os3 zOMY9^PDJ+2JAW$xM{Q(Olh^xxLE@VQRNu@n0VlfPK4x1gcf6*tx{AIK63UWFJZCn# zD3+i$dMeRmib@t^g_osO8>U7XbeBlJBWBvaSGQGt!hflWEe!Ig?dC9aSI$8#mmZif1%U&nzrB3)`+NB11Gym2p~u#`Q>8momDIu|yGN8#p@yq*usG2M zC*s?+Ny8o03k84e9`{Lfd)?`oV)Lbw>rP1XW;Zjl{2jSh z#T(TG4ydJe11hy(ExtUZr;46x+^pdygZ4?PHyf=Yr}GE7C2Z5^pYu&A7Qfmuek-un z;TpHJAjn3KVht7_Kb8{8x*b(?Hz=Lgw1y&W`_pHZINj!#xz+AVY8`=PWt&!Sr9yM= z+Q06dYqhK5DKq!;sAl$R+^|PDZ-2t;E}VX1eDe@blLKox#{R_aZM?lyAHxZBR`7Z6 zXWBhm`Vp82asR||W)EFhEE9VD4CG~f@AWG75jq`xNEx>MF zijHP(yJpnkOiwK|%nD+b^t_WVxLWYeOrNDDn!{dl&~U5<9o5*EnVmZMCM!HR_%^gQ zWO(%A$9OwJS&`*sha&wUuVeb3DZTW&!vd_3-L5U!Ihk}Tg5y&!dx(j{nSp!2;n|au zqJyA?yMHDwK=3ySHhe{}`OOx|0LqxNyw-K61I%RR{Z&53|_S*4l57zGvn{gvgqdB30nR4{tjt<1t^Ju4x+QX0zyF z(VE1UvMbOq(B=qcHtW93DyWy_JQ`i8!mt7fOGfjl)BGnxi3;ne7+pbw1f8|BY1Wt57EA)~hG>>} zgU&%^juol&YvGjX?^py8X^_U1s^+r_h%Esti@U~eoGmoc&nO_`j3Kk2bJ%QI#J97Q zSsWse{HR%nyk+gm=~wAo9Vx98buKE6w_6fQ=-;XP7^f(~_v@GZO?LCh%w&nr0?=-Re8G~aZ@}iSwb4dti|n;^i+$UlIufMHuqIzavR!X9wZ%u~wX;X(ev zNAd#i$>s#cZmHF(Ut|q9;+TM=zAGo>zfaJK%HboBIeIE>i_P;xC4 zGcA7M7%wnu2z=m^Z}u#jtw(lCEvh{y2aYEQDGQrwmrCx`&AU7p?POsNP70@J733Er zMxEAT(%L8vyztux!$5EyMmV7PB$G* zGd2Gp*;dVRB8YER`bZjP59ahTCpB)-oQK*(4u?q!W*6xRLc>m$B?~N5Lk-y|nR%83M{XktojqITuiHFP^$Npm|Ki_`(XTt~ zz51R}0-!UOL9HY)#Ar9R2gt~0$^NKW4-XNH>cD^u<-ssGlI!;iU+!lxCHDrtuS@nO z{;(YX5DhsD+@mq9ZalBgADB4bJS+|BeXo4amH9X1$EWtsfWaMbYOLEEn>z>HiF*lI zZAQG$pNN*a;@x2Gv;3k(rorHYlYix}25CtF%!w?v;t3*-+k11m_Z|l-J^LSl+5LUp zuA^a`qsa}^LCRzs_uamGw!c=tU$DDYhZdS30EijxlpXth^gFn3UMv^izk2Vj_S}wt zS!sf|A^<)(&#ag3((y-ld;b>4$mh2bpQ3zu*3Ks(i|l44q09gXQxBZQEQrp>`yzln zDTLkO<=1&Z+v~?QSb#7Y%5~LSz~}lRKvDiKgr+$TorlqFB9~mtYUe)1$f%@K6R%4Q5NKWh)|n6@7k zbf@v+@K;`I0D?Pbl7 zntYpP(pGWUoj)wpF5GiIUI&S+fCC=E97l|{0@uRvGXsXSZfm7-+k?cyTKtoO*c&-Y z3XYY@-vO%LsqyKq7!n^Ozhq&2wYmcKkpmy@ zUVB}^P4#c&M1)kJT^N1N#XPATz?^@fFTm-_Nv}5 z@AS7q_i_O-OEPZE|NESRQJ*nDM+r;)hDeZ{&c_J>yXDse{g9IXi*bD9KG`^)1N)E|9H34xFM(af7@H1e_gWJPe8!zx(N084!ysK4$j1{ zY}Vcu`jg#ch`@Tv3>>KeU4!2HPHR4$RFzMQua`JrP4zOjy7Rfc(wQ0>e5y zqLC6{-yB?t&!Q)D$QE<#uPVw1{XsWf^hDIb^)CFJh!c-69dGT8eBW69r>T`kH+=MX z2<}-_aCOA_@+?) zyU5X|Un0IYvcn?qQ^bBM#1UDrKbOW~4-^l~!Wl)(FTV@vzmMonqc4WZok1wWdyu0YWry$ZSreltaf9L4=V?hCpnsCUdZQPyVf{RtdfvLyXoxPIG@hZjTd z60pU$`OrAv`%ia&41CbP(A(&jjbO9HGdPuJ4c! zowM=z;d|}*uY3PrY~&~>XfvdhEb-NPZ2Ui};h*aZ2ti}`Rw%_Ei04eVlSxCTI{ej; zidiz6$@hx9CE6kFq|8dGs&~=sAvmk#8Cu$fIa>A`6m6YxrF1Jf$&5SBEKF3|WD8?L z|2Bv-NJBSNHWivG!Rn*$KrpF4Q{cUL@u3W7F3Sw**~nTLkv}+IYx9{Z-rdkfkhR; z0ZB!O!dOgNIuq%(ObpG?$K!ykFlb=a9iq40mBBxmp&x#!`(xUn2@DhF6AF1@oN@~O zc;;%N5fmpVDJhu;7+L97O4rzHy5^7TZIjQhskL-QtZcNRC!cE)qUi7PH9J@B7sMd0 zh}-$U+vOm$LK}%;GG5md7;uT=RWfE+7^hAv!N9AReCI2@se;~m5{J$%R9%dl>}nS0 z75(UDNL$(HRvNU-l~9e!Nkj-vL*F4JU}j+ODWwLHOC--je{LVNqVpZZJ^Ql<=ztpe zgX;TEaGl#t4VxXB`2s0b8^$T3;K2pO?E|Ebr>IFT7tWb~)TYP38tlvxgW!eDQrnl| z4L^KX2a(eb-=JuZN2o@+1wrrruB!iruLGcWqMux1ds&_EV_Q6C7)5?E7TqLzYV{ZnQTd@4?;7i-Y$0}q`Pz}o**VyD~pebWjg2=ECr}kwI7h2|1v7bSHo0PQ!5emz?bVv~SW5KJK6p)g1-5%z%N*ZCmed< z?#uk^Q=jj-UAq#bcLkXAFG5seF*--D{-2C+Kkfd(1t@2^x>#`1x;r5fD=b^qzH?KW zv}y$doKf+vUK{=r8b3NRo%thyP=56HHiUn1w+{Fqa=tj$TtFKpIt^N9Id3+5(iy8x z6P!AsyPrI3IT=IoS5x)VvN+Q>WgBx8~`xfJXStldt2`?B@g? z$&msQn&C>HV897OF)l*<9pIt_0e+cU0DFej4;9()^78TrSb;UdJDZ<4NKV}2`!U(O zR#y(|_}^LGDt&hi!Wd)^JRFT26!kbLry<=^=fUuo*VX_sqo!R&n?+V=Js!;&am{i_ zq+l{Je3#kCy{)v>U}qVNot=HL`3_C>Xs|XbvEZ_A@#bRfHPf!E!+j-A_MzY;@g%>M z__4@oaByC)+zm5Mw2df~v~_Pk|JcSDRG4=jkNuFwGw7T(1IRVjd_iBQ9UMPiE5{_To6WRa z-J;|&#dlNG1^ zva>f2uw8lDon=@H5PkFk!>TQ%_uBocSO1nyZO|3t@Y*11kn+v=%eiR%8 zhrAb|2RPZ0oN(1Fx_XU5yIH0Z$CYc$VNSv-#uW0PZj*F!=;~kC1E6g7VkWuoH~{j@ z3@b_Yw%Cir$7gQA=7&TbHkQBSPQYv9Cq#XukF-UdMEc@EPQ|BWM7t+uX{xij%1A zrZ#dBV&mpk7Fr)U?erY*bok_JusUfU6BQM;?lsE;5Th&8o#Ai;fLL!mRF3IyJIJG2 zDHA0SI@JUi-RgNeGDiTq00*-G0M75t278;Ma>bc?7;JF8?alRT_DGF|Jgij!Mptj8 z$>jtD3Vx#5@sUarepqroH9(hJ{OU}4pj3FeqL~Ki0x5NVM{1cTyA=J`z+vJdO+IL zzQl=C#E##pxM31`u9dq-nXJFvCWq=dT8UFU=|%;Gj}H3?aZ1#xkv(@GPZBD|)?zCd zImM`w9x?c}9ics#KA3OyR?`LOwRrVBbGr2nqrr~%_JaZ>NUlPUVHEnNAOCPLH#wb7KHPq09`m9z-%p6UG#ZQ!jMV`l~@9_A}Xwa*}!HK zU{3AA5vLbUF#$Tl9Pan6u{S+ugvvIim>ot(gA)My+E_7A;9htfWh))(b{Xk-_R}j| z#>-`P@$R1r5fUDDIjmU{*s-u)0GD%%wRrwUGf63+m4gx20(gf6NN4)4PWG1-VnnOj z&`;g%A4( zQ2?cR{)aw#!bBN!1B*5hR7*gplS#Dr0je+ekC)5;rr1!GhgJHam4d^Vu!D*03GEb9 zdrI|=mXqKoS`*g~t&ZMNkb2&vUSO2AZCWn9e|!@f1C${PKjUn7R%Mh78Ui=dA{Jnt z(>+qf4&k?*7;@^GD=l+-F!(H-$07(A%bxb_hIK$mGdrx-6r*+WBw+Pikjsqn$dg& zbd`Rw(-m#!g{Ss8s`pUd{7CVvo-FPSfFC915xr8-w$*x>s}*Az(AErCw1Qn)3mENu z$GSKg1ug>K0rN0N_*owF2!L01%ggUgpbPue*Ur}lZ8&vGR1jJQ`liu|amFl_eBljT1@pCn; z?nF__Nnm0-j-7cnLM@^RP`GWAGywR=Y2P%_Y5@0PTsWKQ6k{{qu-K*`8yfg}YvmqX zjjNgD1vF>M@ABO+Itt4)<{Q)A={j4jvcjQ(0RYO%4t`AnJ5Kt8tTI4e&DvN2L|AM9 zUHHAaGeGr9q&j)>d`}WxNvSfx*6c`cz1*I|`nD}ylOHu-_2!}&wwtc5?rh;Q0mXb; zs*`$UyFp95L>y+5ax|a)+>lKwylfWjA%PflOwNmxMGv@2baKuB_vzu30a-}G zoI!oq3nUPVxj6UMj%0uw<~;-SZjW@9V85WW%?&Lj%ioT#fQdg4XdGCE11@oupBtW} z@cjHIV{)9y`V{PR1zzIURJkB(lEUMaKgcuSc2_gTh$*~t8K~u{vFvL83{~t{N-h(<$8kmWbF9kc1$cUF_cO|ocRkYJ z)Fr~Ry?H$2oMt_WTFwh%)4mh;S5{(W0KiT5^rugsUMt;pUsoOm8m0;W_?X$PxJ;*X zI%+ekq+j9bw^c}?okHWG+HGe7W8yk42NJoer(?MOH}AwU5hsk(nCb0pAAmDoqQoi3 zS28`tZuS;&2-SfGvES+;-Gh8-->`95?dKEb-T9B7ysReJiQSRkGjZDm1F~IrzSI@W)y^TVsG$7iagbYYHpZ7A^Pj}Qag~8Kb znV}Eu%&I8_-y@}_W&xnb1FQhAC}oVA&o*PN#G|kip=~k6#ZUsB?npG%hfcMfgeW1w z%-(PB9#9)@CF0cSQPbC0<4O(`Vph{Cv`sc|iRXaIwrYeBpgnK*#}~@4|EJUXE7(D2 z?2g5_;oTZ^SQAX5E&w8&WELVzVdR#LCkZLf=0dyO=dz}-O6uD&OsLcFW(T^ml8jn1 zJKkV1$GB&H`0#<;&IGr?k*BA~9#N9YOg+uiI#A6oeqV(rmy({$_VVONT*-pa9S`qW zY~CwRo;?dwdJBE3uUXMuR0RBS&GaH9-+Ljb4)qd|UPs`ElJP`+&DT99sVL>{K|9c^ zV3(7Q2cIob0J>s!I0yn#q^7;O^=+L1Vn!o9JJoDDr40?3CIA3U6E$V7&8_E}v@=Po z6n=!FF-=RnnT3P~0!p$t9ArxnclV3dRWQu--&_{(>mMU*xf8gYav)ws6TW~bYDWW0 zA$%H~I3hRrFnO7gF}eJ>-C!wf^*%t>WB|}Ml7U(P6Akqp*os-}+qj_p(AVfu7dx0S5X?X9I8PU8v!Sh$y3X<$5;nURSLYuW#}-cJ&+3U z1P1_mHS^psz$7ZeV=NC)X5#_lM;thomv#R=q>~kOd~V3Hs73RgMnNY3+U5!o!CKq* zM$PoTlB8{fs+7uK0yi~sYde@40tBUk`1&%HG)JEE7W;G76Nb=gJOJi@5O+FX`_ zZNumJ^9(jha&qI~C8zV;+}y1x{zzpWsV8sU6@pwZw@XD=Gr}ylXVA zPFBS$S9V$9`HL3|3e#mZnVGpgQ?|@cAmI^-I0%viFB0alJpQ?j*7|OXBZ|Lg`Ti>N z=YFcG+*sOuitVk-KQj#1DC9&1#!6BUIU5;e4ikN7g#6}ZfB?1uvA#X6ksc8El*Va> zy*V(l^)4A$L2~MFC_CZfj`mnCPiZX2{<$>!UZlR?N10NQLCovwu zO(<3bECFH1;UHAgZ6LY`zCh@fVjLJor46&fE_ zu$K#H01(~99*QO78DN_`brNK@zXTy-f5;gijk(GOxY+6__daE~T07Dl>4SqNBslUw?8;NoqF|n1Xh%;o|m2s=!5+)(b0uv22Pfg z%w*Qy@+bnHpGzuVulgLu6d)?$krt+iupsY9QMy~K(k|2bL*arfY&gd7uQbh`gLlA% z*!$?Gw?P|ybOhu&I?ek(JLzk)Ks1FyoywoZy1yI1%m8%XiAEVIYq%haWCU_rpxK_O zf469+Zsa+^bEKL8VVTR&A25Vh7y!0p!Z zJp|h&GpkXkHyurNq6fIwR!fz>160vVOiVR1fWmd%PRA1D38W$ov|YDy0NoqNU{nEC zWPPBWlBc$21DKQ~(`eU2ISgOo-9qJt0|Yo{K*E@u63zuNSS6+ry0SFh$fM8PN^1!3 z+}hC6CB(;XX7azr!425HxQtsqM>=hL1E5Q1l@ew8X-BZPVw2AE?i+fM^kbF>oUWhw z-#>a}?vF3~Mgqj9#thrZmc^C4!RnH=eha^#9M)FqGcnIpG@*giIv};9xXU1nZL))! z6J7^9d<4xx!~968m)oSRDoPVDxy~;3T9lbJgmW7E;Un8^W<4-j(Zs&#`QHdyQ}MXa z9KF{d9ap+D9(YVpopTsDdHRHaPPv<{N_)_i%>}KB^|wAk*DxzeQ?H@ylH6;31Xn{e z`;%m88~~GzKC-WX4mSVc$RY?;dMk?n$8j(S%C9I}Zh*C9^f*EsRN+PDmHu(FmaR-2 zBn9+AXtoH@xV`YaYK^xA01L34R}r%CuFKYnN^|===oPfDc$|`3igQQfOtxo%=r*DE# zvj?;280nR(m^o-t^jBxuZ=hMM5;aqmStbE&HKV#}Yoc@l@M{cIu(i2PsCZ~{<##HM zJzOovChl?{q___MP(v{zXw*d8%sY|L2vQu33W={sZ30;Hhp0C-O>v*nnmx1H_f z2AT7cw(fp2}ofKq7xcb0JP`~ z45+}vZpL+4H}e0pkEWXpop7Hah7Uz{1GSx%X$eq=FkHc}(`oXS zS#df9Y6_%~r#)%96~#B8FQ}?g1Q=nxa*XKbwr3=TpHf;B-{U+AQtCv;rqIAiuxmx5 zV5{AnhFZ4GVqb~@vAwbPIOs|g5LnC8C55S>6~O_qbH3E1F_I|oiO%^t@d?r zjiEfik)3O;Bj}{S(abgNR$OuPPLJv@bKOx~DO_s0N&I31qUygU*kNT9NjH~?oQAc; zSZgM$qrk~WV?favjSh;G1G^muu?M%a-R&doRejzxWMBjz>{ z6SNB3Q3ifN*iHJeQx~AO%wxkGky6SYdUsw^Tt;)lgI%in#haSBaB%^InzuaOz&xyX z8V4fF)wxz&sdgf-(OqJcrcfjZl|Lhq=<9IKZ<3w)UZ_N@qT~hL*bj0~F5EP_8h{tZ zB`I%2XH#WUn%Yr{if}@9QQJq4xAOtQZ!~Q5nwH_<^v=#K6vkE)z^JSCVFR#C*ot8)1bfb0MWcf%Of|)NAdtBP&dTf0PhRYES*!#(`Pl}A$kQ^{&#zl%ARxl?<=EyG zlK_YN)3f8`4|Tu1V$Vqx^29c^2g%8p`uVAbQg%22e43FlqdOQ;0kn^^p~ z8)&=xN)qBz!5hMsL*-AbXBm9g!A{CvSU{}<1%S6Ei6Zc8Fbag?s-*UVV7_YI#N3F= zFcPX<(~cnN5(2>BWPRx_=*TwMUV_;y)m8GVQc3@Z@09?0WLmj`s8Mu9cBujpLyaKa z?Dcb^;Jkr%*h0`MU;=cKgNa43%S4uO&z|2mE8vf3XwZE|lUfxI*;4`W<18?Oi5TrO zTDL#c0V|jVQq6{I0RpK>?N4(YtwG+11q8(`CHJq8+AuRuQxI@BN;?ruq-&KFwkIpl z-`P^cum?FRQxI!#kJ{MG&ht9Wy!RYk)|xGxPEULf0Ym({>bFGD(UHY1y=iwL2}oz{!r+MV=F)UkC>5m1MAfZOdJ9waElwGk0Yk9B2^XsbLFZiJ}eoVoSZ!uhQKLu=jv>3ZtcD7Z; zH{IoA--rTm+(7TbP+4@(#`wMO{4=#(iGrOO45g%f{77mWH{Nn89ipp8La^&F$1wJP zjT1hSU)iU7;FCjNxaCS@=~Ga-dr8crMt2?Dsfm8^yJTle+5ItOh|U9+KKzNI&~5U7 zZT^T-nFSXNj&n#FaCf=7F_FSS_=K=c$e$k^g8e2Odvk5awNIh6^Uy2pzrcxg-g4KS zrNJHb6{`6+ewVq;`-~*-xlAx#SCG(M#x?|88)A1v2Bl$l0t4t5?w;KrR0y^M|B?C6 z{{Qym=4k9bT_pQ~?;m;rFeka2=a>!D7>~vbf95!`J7nQSd=`% zuFIM$gQ}wv&5wv|XbOA|jR;JsJKToIaiISmy7w*guz0-uMAeng>-`-V zBd%z+1=(WDn*v*a)qu1;o}G#DDhIEnKMXWsIb*_jR;ZPjzBR^H3DH~mAR9%HENel3 zn*WhUMDv3?C%4N;mS97uKgwhXcKA5P&Q_!A4#%Fj>M%!QzYJAQd-%fjCI%(9X-3)h zfX>e6yc)8#fX!n*cpBehqUV5tZs#5Tc+|X#sR>bOk~$ ziiq^y2~|Wz0i}14CMARxIz&J^0R%$ty@eJ!gnTD6JG-+x^X`8Cae2uDJUQn+_xZIO zvN0@wSaoiDmXSPaaGpu%=w5B?i@z@W-`1G)#w^Wtq+9EMzW#q~6Ysh9Bg?n9e_y{- zFBq<0)5`lH*3iJs<5>26Kq!kii#0PRmtnVBloluExwI)Hr7g2xJFONyg;Pg8HLW}k z_T+4buI+4`Kt-rU7e_z+@loEdhF!&9+jJ|Hk zjgEV0Kx_4UeR5eG+#Aqfre+Ud>=G$;E65*)$G&ilB}ndBE{JEYWL6dIEiZ^K1r=DF zmMG8t=JW4MB++Yz2Iu==gQ8b+Fn*!t??0HNe^iCPuHak`@Su&>F?j?Hgv{}ns% z$KMB3vj6j>1Fyn73P@kHXBzs!yO6FvVGaAoZSY@r=eJe+`1Akt2+&;qiwfL(j{er& ze|+2ZGoaoxzZ;b1`n`C+&7t}0*p)wj!=Hc7@6Y~n1!!qPm#-QA>u%pDcVyr%0;vD; z6d*tZaRiU9|Lft@uilr_kpGf7`1em~L`$!Md^h3=QO3U$thmw zsRq0$mT%L=3`ZXP;i~-Ciu-fN@qhFcr%!?NH`#{c0tEC}!TPj?|1ogsKl+xxeaa>9 zh{G-d@l%@UfS0lrJJ%bzFs4d+{=(#^NDt-J%+WvB7{p%~Bp5ysqC~s`mt!bkLuk`unH#cYTHT1TR<`hz z8u^Qc?k`RCZ>8z?Us2i~EULieN~0HldJ$8qUZB1DYTapQ-;{q}HL9D(w zbdR`lU5QG^6w_6bz*CAIjY$b?oA-ZtaOV#Sqe$9I+X(Lx31Zff-b#hV3{Uu)ql zZ&kcAeykiQ-pm2?wmbOlEj9;Ms3f_mYBpGej&q)P2WEv9zWo?H{^x}({p4Jt)&E{D z;HbOl?M|P_F7Q&`ryI<+Mj{)xJPu2ZP=I7eCaEdb*52Vc6^8D?bxF^;u) z!)EjSXI{y@xnypCeSl-VUbmfYzPeOUfIWFj?{5y}|8WpYb5f42U-c3rK)(U>uK=L$ zQ=^aGJGVgJGSDfhXCd+NE;AQG2mqf_fII4g!SyGT=LU;0CWM98HE8pPfE~MJTuAHS z2Zb#GB+p5vr&q`BBfuzX5^AVo$m@Ev8-Eo={?~&Qv`$2dUsv82ikr$*j+agMh!6Y`sv%YOffOQ zo_IT$^_J~_-7obZ@4eRZ5Hc-h3n$ zV0lP@-;MPF@SJU`i8D8qcGP1ZZBj>K)_4Cw)yK&(M4l|B0BMFcu$${dOS(Dk1Or); z6R145_Q6MYwz{cQn8np+gR0}|V|F%m{i3}M~S>_A3c7Ud6fLcqxc^yep zi-j4GzMoalR=A5+>xw7N|Z2fG+3*f37(d#s^~-9k#$ozCj@E(LHVP zVAih%wtCxg=+5FO4mS)Qv5Y_f?OYlG>u^Iy-379>w~txNl7B1{R;6Qi*GSfOb$Z~< z(Q$hTQIo4`_yDk%%BqIIx=3?F7&SAsnAT}l9!oU4eiLX*gd_p)!Xo%8IL4`X$TmQd z)GCn1@09!2JzERg3@WFiidWT4(E*^yUW(5|8fF98OA#O_&9_zUCI-wfSTHe!+=p@)l2e%XWP{x9l`C5pYX3L zqQc-BxL1K+ceZ%=66o%`@GiLI%xb?RwQ#sCWTd}eIh8tF_dq&pZ^W&a7#?EpnO+`% z-?1I|VO6CWYZ36XRaJb~On?zevRDr_eYJeOGk{p-wp<9-##tq$!J~1LIA48-(vPfb z55jR-=UTkG=5I2M+5i8P(?&*b3C2VQ3_=&@ffC=H3OT!nma2?b4lYdg>IcG}XeF&@ zn-!!s0mwb2Xu+ljA1@k#&(N(#6B?TsZUB||6bH1wqy9Q>*_5=P;H*qc_J$}I_FQmPt?GQ*IKPy{+v-ISClej;t z?OVXBdGI#fBFGlH+@6_QytV?rwF^j;JUFJJ({*#fhzewLH)_D89Opah+9XKw%*W!~ z^_=y+zf*@UI?Q!cGbL^TFgt2F87U1YvjY0LI0+Zq0q(Wf|9mL;^A)|7NbWlYbgyIlvV0uk0Br!!=O`BkkJ09ug z={iq#@hepuTL5z*&7p^i1V(g6rd!2}rq8PWU11hOCAXd5T~ecQFFSj^5$iRRKhp`O zIEHpS*tr@uO4+$Qt|3EgjT7&MOv7*K^Jy}5JCwGCpPbqR<)*dn=Gk#`Y9qIDOwYsQ ztz=Jn#3_&QQdW^nShL&a+{-9P0HfRPeYXmw71mXaQUY0G{u^ z(4hY3E%JS?bo_B;GlC!_d2dbFtf$p+#Kl;ADYw@B6StR8U(EWrjQ*&GppjmKpI|Dpw)zxaWim7E{EOjDTXiIL>k4 zv1SAlQx2zaamd8IBUHJTU@E99BfupUrVQt+kL@sc&$bDerTqlI7324&X`HVhzod($ zsl~$%qN1{V!a&h>?P{LR7-($C2d7dgELXrx=j}%N5k-8e61UE z$wASv1Ukr!nVw0Q6~30#F0NFUwu^>+gjGyJ`FF2t=BEq;l6`sl?f!B(Ur4m}Xwp!i zhWEa!%{MN{yol9^#H$>ql@ZIU9{S3F{DwVnF#SUp&;{L1Pw*(4@1Jg=x6KM0f`wvI zn8otTiuA6mP10KdEf7oWMc(aQK!hD{XfiLA){|m9CV1{GcRUzK+6hGVuZl-pvxGq9P8wFN?$g3+ z!5RGr?*Qo(8i<&A=d^l%68W;|w_Omz_vFiKHuu$P88t{jW>D#=Uz9m&$oTn4-@q52 zfADl^MfIs?fVscijU+(Y*kwJ~x3!@A>3r~VJawiV^{iO54z`yPTm~}g-WRN_Z;jbq z=Pr@p7I03z-ly+5poavscJHRlv{tJ4o#2nHUiLy!yy-)Ds6JrMP7>!>A#gKojmKH{gU;Ws(bbbVfG!|UV|}bMRWqKmO^%)w{pwR6 zN023ErrUQvc^HMfWYwAS&hfGKb!9+7i;sC7^|7xx$)(XAFG>6ozzfy#00gD4J0N|$ zyRw9%Q@#{!E$?9V-IKE3kX&(7z3OgRp4kC{ z_@v4`)Zc0^fW20q<=lt77T;lFZY|58WqBA@cY^fgaTm~QE?WH*h`W72;8gk(_2tb9 zRsL&Y(m(s$eD2`%Bi*2PqUX(0yANafN(*T-UF`b)?kq}Jdk_pR?Rmqu z2)OSqp2|}f1y3v}Me)}$y*|hELck8(Yq+`(CIY}LJG-_#YA;wgU{_Nu?tG~+g5&yb%7ngM&1@-AY3$xw7R0hz$i ztA2VLjNCNlH)(Fx-Q=9RY+!}eV>yw)(YBHCdhxQ8}FM zL|c^jcGixAhhpZZ&E*vwd1kM~a#(Ah6eN|8xa2Ri!Kywen=#NU(Q`ZX!{L`VGp*TC z0!uA?X?^c^Vthk=D`L2of@UZY<r^1~*F*!z`VB8FO3*ZDi1_9zk>>;J zo?Gg}#gX7fJ-wMUCSg$!!nEqrtLvn>}-lenJzzb^POZ0cgGQx9!^vtcH?q z8@C|*bpZn82xh~!4cawdsukjHE*@M?f^!#~D&Aww`}vj6GluY zfWUb^F-0}wDeohR>u-&jhR%&LHRCjH;3bl!Sx{2g_j#Xb1M<6`Kx!78+ z3iwPXbJ~-QmETC#Lk$n%vmj%K5@(KU@h?mMgVGA2J8t6 zb`$w6yaJo*?Xb-?AmMKm)G!5IaGGm0hnSL`9N)}!1A%n1>gp@tj#&C2(3Z=@^a`s|7xtY+*mp;& zYGZBA?-x8*rE_WmJWkw6nB(-)ep18*L8;Jq=ZTZReiWCHQxq+3+i{?Vs=S`Y+(zvl zMR1!3-LVRXlJ_0LkQhCp9!=-=UOkIdp|)k|Zw>u6ZKO}P8kZ=yv}Uhz`9gU-%=IPD zoF+;YO5sfxMe|>k#Hms8cea&074AxDqxPXt+VxBgVLRA!RSAGrq(O#xXWJ=F(+a58p$SEIS zU$VtW5-=Etic~bU{rGhG?HG{Uv{#AJP{-PdDU?PcA2jyUfD z&+*d3`Don|YZ>bUyvQ3aR?2+3!`3&{cHgO99h2em5vxi!$KoxbWuc=*PC=bMpKRv7 zN=KWxRZyW!JEQd*u@wL?ETyqvuo3zfC-km&yxSYeQj&$MXDfd~1GFUZ6lA)r<^y74 zdX!K59A#)@$fmx>z3D-*_RFG1dguwvoAeIxo!#$t9-N@ zh|u3L)vnOZpJM5%C_|&fXZy-$?^z-;&F4F^yG4(jtO&+x-e(t_9B@BCxewjZXoem2iGE(8&;4sG=l!Rg?X+KE*~wlHq?#`W-l;JjM#}Jl-qaZgC-8K%^-cn0C%jN^ zq>r|WTIa%>ssjL96tX$?Rj(Y^MjvNos8VETq?+88N@wHkOn_UDd+<5{pgQ9Dp~Bt5 z>5pYppz`t#BOT9bhcf%2NHFx-HIpaj2EZ;ZHcw50!iLInmThd6 zcY)s&rN*3HK`a_PzKBf7S^n1^Dyh;x3Vo8RXSzG%{!4$n00pgY5<;*0e+@ zE}=rLLlYp?Apti_&Ff|iqU~YyiHYE9v^-6#D+|Z@uLLxQI*y{8Sk5JQ%0l&2G#ynk zrLmx~Y51&uutnrvRp$G32W3G8$)SgCz_p8w;RSAvCOy#0zP5!76k3grQ2jSRL^UUx zvJ!=SLGZ9q+Kb=0{X&>SZMI}Gu&e$>A}nRNZH7@YS;QC(k~$D(z>g^aQ8BF>OtiLp zz~|D~N#|_I+h$#`hNJLH6kVk&6eB8#3{M?GWilPvJr8W$7SY8|*=&t2`qoc43VXiN zKN2Hg+%}~1dGmptY<2RwLJm4YkSQ{5IKiT6mifDfhZN)IhQ$3eW+Q6#n!0DH&xfu6 zTbFl5%9bRtI(zQ>R$c?U0OX9>;T3%)yIkOOJ6Sirl3l+Cj`eG-y@4|r+Q7}bfm^kY zrEnXzZ*^*>_jDh~)bE*{9Jig`6nH4J&?Kb-lZacmfZ20BzBttSS?}fU)?ne-qfxG~ zc|`gi{c+QMfC#p&Lh=9}7OnT~QB{ryG6Vks`Exkd!%7yRglhmQIkD0^Pxo6QZWbs> z?cO=xRgV{ybYov0A=H0V&~9=jT`In?wH~mwwqwJ~ap=6h_R!+h(_2|mfbdw+z%}gc z4F6OdJ=>1hd`*85nR+=!xF9)NNL^S-1sIXh<_Avagv9J-?7JMowoR7R?c947dZjoU z;kg>#-+_YoRI~d_VziLsif(a?&kK~M^Zwqdy2Zx+%9{WkkM2ehBI(^(oe}dE&n>`6 zFvbk>4<@_&aVEryj(-m!`ULRVnE10fonSD7%$2W{5CCk*9J>3VzAx*cNY~JsQR#4w z7PgbgAc56BXG_%)08I+j3j;w$HD{`vO5@5oP&?j|LzOY9u8OTuk}bo%ACP58io2_E zx3;ideHvveQzP#)w(16PdNB4wZ*ei!;=(@$#s6ss|CMKaa;~v}W?^lzf$NSC5a2$e z06VOFpL(w5U76$JT0cYxmmteG^s6N9Ffn{)fQlH`G<-gag0Z5$9ifZttO5=6?uYLm zef(;#=4lM@#E-8pO~ER%2vN1(W#c3;Q$D*Wob0O#-$S!)zVTpA6f+1b!Pqm#%h~;!Lz_dI=6lS^?GF! zIKrZoZ?eA1P>Us3dmp8XuEGtBg3FHlKJ~`KJ*QzLyS~{D!C#WBt!Wr6G%@5+k zRV`~Xi=#>sf=q`lDE-h$VuEdu41fc_dZ-f>g7eAX0LtdEItB=93*L85Z+63FtR26C zuHxGBm=oJWEKD=t_kkhg*yIJ!5^!B8S5!K_I+_x44B0HpYs>3>V9n_uL&bI%Q%gcy(;YL)$hk4$1c#n@3t(_Lw+cDU16Sg2h z8=%saOU+sQnPqj;A15Y}m$k-ScGtg;uFSMWq3`h$Rf^*W7Yw@_f0nTZEpUQC<(`CP z(3V@Xq9pMr5`{%*T_HiCSgm7Atyj;=X~-^tZNxdGn5UAmeBHu)HqOb$B6E0sZ8!U_ zi>ZEweAKXNs0ox#*?6nKgR)20$DJO(+zIagrv_Lzdt$232bnq+4sT0~L`1Xx=suu~ zcuJAwj1M&&i&v^hj;C{nN}7JQ%o+0Ntz4U}_Q*L25eRahbcm25XWPZfEw*6n_xJ8l zz94g!mh9SlbL2{+%AsW*({(b-?kFACI?9kFakw~P_qJJJh0w$)wzgY0^$xIp>akVx z;S5Fh=A6*6A4F;ctf?ZEOd9h41S#{Gs8!=f5{wcpVr2=aAyiErEOOTOxxGPacksMz!M4*PX;$K?b;QwQTewvfOmi&-vB|sIUfm zMF1+|>5lRQEAlb#xC-3MI&OBz3N~39iAq#B6?if)m+3nh&7hM_zH?FW#An}3_T#97qEpTm@+_r~L`1_`yR#QPba{M!>o;_E+ z)W$FGn;nN8dUy0jD5UCCQ%&!dXmuge?p&%9!CfkxPd|QKU${fI(lyX*$W`+JNq$nz zP0K~Q-D6rnF1i5vLXAyVT_%MpTF&60QXlViUCEmY-iDUxCp?(CNzzAV$@|-k$CzI8 zQ9yTu4@B&}>dO3nXy82k98$7xJIsZ`IAHkQ*mw4#EF6N;0j=MqlF~{WUuyv%v@~gz zFcXGY*M*EU7YvSfT-~$xHl@>deLMv>mzV%xVJ85_X@aX)t-pe2>Am&}F^7c`<_xBk zCHPKhI!cleC7oY|aT>DmU-Yk{hkomkyPBCEq1l7c$7Ju*Guq9VYsINIY)a(l-GTT6gF=REbIN`;^Hh zKP6KM43z?nT*geVJqAqDqvG9wPa$zP!S155v%}yN=}WHX_1g^80t6v!X>mRV?92OV7P)o(7_82MT}gygW8B+kbIvY24H ztlMH)GXD}*E@-zWSgf#_w=sBCcy70lSz`c;BRnPFk5rv~({fGWpf!G>SHviK_3^;_ zK{~e3tq8dpk4?3X*Y(p!8(})jl=Y^)O{o}UC-VNs#rJSb5p*rVrhG-Ojj45!d`)qu zm4A<3pxC}*IGPRh0njmrj`s#*6l5k$mEgQ)IY9N^n>Mi7OOSIMP=8PUq&wEqj)+p8WN7Q*igidf6wJa|;%dS+|xm$JNhFXW)5#&23rV!f|^b@0gXBB$6 z^{afi`-a68Rus1A|^bZ-I>ULHS8a)r;;!r@NUDtDLih0HAZtV*89$JJ`% z!u|{_FF{zssrNOL%H!c5G-r)NncmI?nH;P?3VSiNXtJoTrN|)NFUoW!$rTb;Q*8tN z3BR=0bfg=xbEClS{oZW|mS;{u#;ytjt#<=XFz}_;u;_05uB+%UFCaPNzDQSrh>yN$ zGVq)TwYJ+xVX!`l2@kcxbWxj|Sc{(QC}G}R5CCviFKVP+JZw?4EBPT~S7wSVBKUE` zd)v=3j7#0JKU^=}C-=%?t468ZUHi)tHJW6fTWZfHzQ0RLu?B+I& z6|3@z3*CNP{mxWne<7jB?-P@1rg4Ep4e8FgfKpD>C>Nw@&)wOr8p8bANr7~?-A#W7 z7*cl3-)KXO_I$bG>_4}cp?!SFJl)S!03C~(6GxtIKU%q(oWOChDw{0PS@qNzwsAkk z*Gx#MQeQEi&Xg}JCBaNfQc|t?#v_p-su^>5726xbvm3S@*4#&08~%Upq{D9?L5Op*<{pzECo01%^^AsBc;R-+TVZh z`LS6bSG~FXddFW+=V^zd#NwfmJ>yXI^TQ;XegOGJTQc2LlByLOv57Dd8e0%DJ>FoL z7s+P-$k#yXz-_fyF1*AR67xpg9QkazS*;b5c7UJ2sD<**i|=bB6w-7rT2?gGc*b2B zJ{iSyy=1>j2~nhK@?)Zq=D=DC7cC_4>IwYhew;6ZXt%M&eDUb<-Iw^FQ|pLH^}?RR z1wvNg<40QfQrFFkGMYEe6;zs~;`{YI`Zqq`RZcq1A5F2aS{_@b=*E?mB-m83xP7N+ z*N!%*PLekB%ZD!&ije?P`*Up3Y&=X?nWEM^VvrtZ^HMoJPTq26dA&mb4Tyy^yvYe` z9&LR3MK{LzB45K9Jf3-(jASg$83q+xj!7f8W$>pSoW~4Y{g*NsO>^|mc;s*Tkw2tH ziIFF#9@A_B-OkxJ!=-k{Dqf1Vu8Zixuw^EVRO#y1XX#BIX1y@IdT*0^2m;x<9^8O2 zJ&y>FaDlLz5bD5D+s~B9WVsIr=Tj@^THJ4hZ#KI@gl?fvMD}Cz#p3%*@9##^_8(_t zH3*A&ua5z>4gBjUzL?{Z3Lm`c^lihSx@07wt&;~i4Z+q@uD9s zB->x*jNz`NGzLrMSk2r|S& zqehaq8wcmGAUYqdR#>p`fF}gRNwj62q}QHL4PKQ{)606Y|DbS%bl*n% zbi41Wlejriaw^r>`!nMs#)OcNS#K)=TrrR|2;uKtm5gD^l>%Z25k}mhn1fe_(Hd@* z{s=%LB0WppFG?jFXq8KxqS1y>VCgM^mda2tRw?R z!+91WxL9{b5)NW;CUgpG%+^IUi4D(hlg_yY?i#!8NI)LF*$!h2()O<8fxlJl=